java正太分布曲線(正太分布與標準正態分布)

本文目錄一覽:

如何畫正態分布曲線

正態分布應用最廣泛的連續型概率分布。通常所說的正態分布曲線指的是正態分布的密度函數的圖像。其特徵是「鍾」形曲線。

正態分布曲線一種概率分布。正態分布是具有兩個參數μ和σ^2的連續型隨機變數的分布,第一參數μ是遵從正態分布的隨機變數的均值,第二個參數σ2是此隨機變數的方差,所以正態分布記作N(μ,σ2)。遵從正態分布的隨機變數的概率規律為取μ鄰近的值的概率大,而取離μ越遠的值的概率越小;σ越小,分布越集中在μ附近,σ越大,分布越分散。

正態分布的密度函數的特點是:

關於直線x=μ對稱,在μ處達到最大值,在正(負)無窮遠處取值為0,在μ±σ處有拐點;

它的形狀是中間高兩邊低,圖像是一條位於x軸上方的鐘形曲線;

曲線與x軸圍成的面積為1;

當μ=0,σ^2=1時,稱為標準正態分布,記為N(0,1)。

正態分布曲線畫法:

1、可通過計算機中Excel、matlab、幾何畫板、geogebra等軟體來實現;

2、通過其特點,可以動手畫出大致圖形;

大致圖像如下:

1、μ對圖像的影響:

2、σ對圖像的影響:

Java如何設置標準正態分布函數?

沒辦法求出函數,,只能使用

數值積分

簡單的寫法效率非常低,要想效率比較高就得專門研究高級的數值積分演算法

我建議你使用查表法,就是把標準正態分布表硬編碼直接寫到程序里,然後查表

看了一下,表中一共就30*10=300個數(當然只是一半)

查表的速度絕對無與倫比的快

給你一個效率不高的辦法

public

static

double

y(double

x)

{

return

1

/

math.sqrt(2

*

math.pi)

*

math.pow(math.e,

-x

*

x

/

2);

}

public

static

double

fai(double

x)

{

if

(x

-3.9)

{

return

0;

}

else

if

(x

3.9)

{

return

1;

}

double

f

=

0;

double

pc

=

-5;

double

step

=

0.00001;

for

(double

i

=

pc;

i

x;

i

+=

step)

f

+=

y(i)

*

step;

return

f;

}

如何在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

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193247.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 15:00
下一篇 2024-12-01 15:00

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • Java 8 Group By 會影響排序嗎?

    是的,Java 8中的Group By會對排序產生影響。本文將從多個方面探討Group By對排序的影響。 一、Group By的概述 Group By是SQL中的一種常見操作,它…

    編程 2025-04-29

發表回復

登錄後才能評論