已知某正态分布μ=550, 落在 518~560 区间的累计概率为 80%, 求σ
有没有大神给出求解公式?
或使用Java求解
已知某正态分布μ=550, 落在 518~560 区间的累计概率为 80%, 求σ
有没有大神给出求解公式?
或使用Java求解
1
Ultraman Feb 21, 2021
|
4
ipwx Feb 21, 2021
给楼主一个思路:用 Erf 写出你的方程,然后用牛顿迭代法解。
|
5
ipwx Feb 21, 2021
|
6
ipwx Feb 21, 2021 顺便多说一嘴:如果是单边或者对称的就容易多了。因为单边的话,把 erf 函数放到一边,然后直接用 erf 反函数就行了。C 语言和 numpy 都有 erf 和 erf 反函数的数值实现的。。。可惜你是双边不对称
|
8
lcdtyph Feb 21, 2021 能调 mathematica 的话可以直接直接
G[x_] := CDF[NormalDistribution[550, sigma], x]; FindRoot[G[560] - G[518] == 0.8 , {sigma, 1}] 解出来 sigma=11.7233 |
12
SharkU Feb 21, 2021 自己写的 Matlab 代码
% main script tolerance = 1e-8; residual = Inf; sigma = 15; h = 1e-6; while residual > tolerance der = (cdfeq(sigma+h) - cdfeq(sigma-h))/h; sigma = sigma -cdfeq(sigma)/der residual = abs(cdfeq(sigma)); end % cdfeq function function output = cdfeq( sigma) % 方程: f(sigma) - 0.8 = 0 output = normcdf(560, 550, sigma) - normcdf(518, 550, sigma) - 0.8; end |
13
huangwu5717 Aug 20, 2025
计算 Z 值,然后查 Z table 行不行,z table: https://zscorecalculator.net/ztable
|