本文目錄一覽:
- 1、如何在java中擬合正態分布
- 2、java編出正態分布的方法
- 3、怎樣用java編寫一個程序可以產生隨機的一組正態分布的程序,求詳細的代碼
- 4、標準正態分布公式推算過程
- 5、java 讀取 excel文件中含有 normsdist(正態分布)函數公式的值。
如何在java中擬合正態分布
% 設數據為x % 第一步, 計算均值, 計算樣本標準差 len = length(x); avg = mean(x); s = sum((x-avg).^2)/(len-1) % 第二步, 將上面結果代入高斯分布公式 % 第三步, 畫出圖形.
java編出正態分布的方法
* 標準正態分布分布函數。
* 入口參數u。 任意實數。 返回標準正態分布概率密度。
先是考慮把正態分布的那張表搞到程序中,通過查表的方式,小數點三位後面多出來的值使用公式來計算
正態分布中一些值得注意的量:
密度函數關於平均值對稱
平均值與它的眾數(statistical mode)以及中位數(median)同一數值。
函數曲線下68.268949%的面積在平均數左右的一個標準差範圍內。
java
public double nextDouble() {
return (((long)(next(26)) 27) + next(27))
/ (double)(1L 53);
}
private double nextNextGaussian;
private boolean haveNextNextGaussian = false;
synchronized public double nextGaussian() {
// See Knuth, ACP, Section 3.4.1 Algorithm C.
if (haveNextNextGaussian) {
haveNextNextGaussian = false;
return nextNextGaussian;
} else {
double v1, v2, s;
do {
v1 = 2 * nextDouble() – 1; // between -1 and 1
v2 = 2 * nextDouble() – 1; // between -1 and 1
s = v1 * v1 + v2 * v2;
} while (s = 1 || s == 0);
double multiplier = StrictMath.sqrt(-2 * StrictMath.log(s)/s);
nextNextGaussian = v2 * multiplier;
haveNextNextGaussian
怎樣用java編寫一個程序可以產生隨機的一組正態分布的程序,求詳細的代碼
java.util.Random里的nextGaussian(),生成的數值符合均值為0方差為1的高斯/正態分布,即符合標準正態分布。
產生數字的範圍:任何數都有可能,不過在0左右的數字較多。
產生N(a,b)的數:Math.sqrt(b)*random.nextGaussian()+a; 即均值為a,方差為b的隨機數
標準正態分布公式推算過程
如果是計算概率,那就要用分布函數,但是它的分布函數是不能寫成正常的解析式的。一般的計算方法就是,將標準正態分布函數的分布函數在各點的值計算出來製成表,實際計算時通過查表找概率。非標準正態分布函數可以轉換成標準正態分布再算。
若隨機變數X服從一個數學期望為μ、方差為σ^2的正態分布,記為N(μ,σ^2)。其概率密度函數為正態分布的期望值μ決定了其位置,其標準差σ決定了分布的幅度。當μ = 0,σ = 1時的正態分布是標準正態分布。
擴展資料:
性質
這裡指的是一維連續隨機變數,多維連續變數也類似。
隨機數據的概率密度函數:表示瞬時幅值落在某指定範圍內的概率,因此是幅值的函數。它隨所取範圍的幅值而變化。
密度函數f(x) 具有下列性質:
①
;
②
;
③
參考資料來源:百度百科–概率密度函數
java 讀取 excel文件中含有 normsdist(正態分布)函數公式的值。
既然其他公式可以讀,normsdist 卻報錯,那應該就是poi對這個的支持不夠吧,可以嘗試換一個更高版本的poi試一下,如果還不行,可能就要想其他辦法了,換個api,或是讓大牛給你寫一個……
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/282757.html