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-hk/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

發表回復

登錄後才能評論