對於一個項目,我有一個公式規範,我必須執行。在這些公式中,存在累積標準正態分佈函數,其採用浮點並輸出概率。該功能由Φ表示。存在一個Java庫,計算這個函數?哪個Java庫計算累積標準正態分佈函數?
8
A
回答
2
12
Apache Commons - Math有你在找什麼。
更具體地說,請查看NormalDistribution
類。
2
SuanShu,a Java numerical analysis library,計算正態分佈和許多其他統計分佈。
6
如果你想確切的代碼,這一次似乎是在OpenOffice的Calc中使用相同的功能(我做了一些改變它在Java工作):
// returns the cumulative normal distribution function (CNDF)
// for a standard normal: N(0,1)
double CNDF(double x)
{
int neg = (x < 0d) ? 1 : 0;
if (neg == 1)
x *= -1d;
double k = (1d/(1d + 0.2316419 * x));
double y = ((((1.330274429 * k - 1.821255978) * k + 1.781477937) *
k - 0.356563782) * k + 0.319381530) * k;
y = 1.0 - 0.398942280401 * Math.exp(-0.5 * x * x) * y;
return (1d - neg) * y + neg * (1d - y);
}
在這裏找到它:http://www.codeproject.com/Messages/2622967/Re-NORMSDIST-function.aspx
+0
問題想要正常分配的pdf! – 2013-06-04 11:30:31
0
您可以使用冪級數公式,只佔用約10行代碼...例如見http://introcs.cs.princeton.edu/java/22library/Gaussian.java.html(功能Phi
)
這似乎太工作,因爲小馬庫。非常感謝。 – Mnementh 2009-01-14 15:44:35