當前位置:首頁 » 編程語言 » 正態分布隨機數C語言

正態分布隨機數C語言

發布時間: 2025-04-28 16:07:11

❶ 如何用c語言生成一個正態分布的樣本

不用加分,我做過,用來產生圖像的高斯雜訊,也就是你要的正態分布.
1.首先你的樣本應該是有一定范圍的吧,我假設它是從1-255
2.根據你的方差和期望,把樣本代進去,算出該樣本出現的概率
3.然後根據概率知識,你做一個累積概率
4.接著你用隨機數產生一個0-1之間的均勻分布
5.看這個數落在哪個累積概率區間
6.按你要的樣本數重復4-5
代碼這里我給個matlab程序你參考一下,很好懂的

function [dest] = GeneGauss(expectation,deviation,width,height)
dest=zeros(width,height);
pz=zeros(256);
tempConst1=1/(sqrt(2*pi)*deviation);
tempConst2=2*deviation*deviation;
for i=1:256
pz(i)=tempConst1*exp(-(i-1-expectation)^2/tempConst2);
end
f=zeros(256);
f(1)=pz(1);
for i=2:256
f(i) = f(i-1)+pz(i);
end
for i=1:width
for j=1:height
n=rand;
for k=1:256
if(n<f(k))
dest(i,j)=k-1;
break;
end
end
end
end
end

❷ 如何在C語言中生成正態分布的隨機數,要源代碼~謝謝

隨機生成一百個1至100的隨機數。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 100
int main(int argc, char *argv[])
{
int i;
int a[N];
srand(time(NULL));
for(i=0;i<N;i++)
a[i]=rand()%100+1;
printf("生成的隨機數為:\n");
for(i=0;i<N;i++)
{
printf("%5d",a[i]);
if((i+1)%10==0)
printf("\n");
}
system("PAUSE");
return 0;
}
輸出結果如下:
生成的隨機數為:
41 15 82 1 23 51 16 96 92 17
86 71 87 69 74 5 50 18 42 52
46 34 52 18 40 74 79 35 22 36
65 94 80 91 18 72 61 79 4 11
61 30 95 55 11 19 38 87 78 52
95 30 99 53 99 99 10 79 70 33
91 85 10 99 47 58 93 41 19 71
56 60 10 24 73 87 18 38 13 73
57 22 91 4 37 60 67 58 85 48
46 7 57 100 73 96 60 44 24 23
請按任意鍵繼續. . .

❸ 如何產生正態分布的隨機數

•最簡單的:rejection sampling,思路很簡單,也很容易實現,但效率較差
•較復雜的:inverse CDF,直接利用累積分布函數(CDF)的反函數生成隨機數,但計算中牽扯到比較復雜的誤差函數erf(非初等函數)
•更好的:Box-Muller演算法,在很長時間內都是生成正態分布隨機數的"標准"演算法。Box-Muller演算法的特點是效率高,並且計算過程比較簡單(只用到了初等函數)。參見:Box-Muller transform
•目前最好的(相較於其它實用演算法):ziggurat演算法,效率很高,很多現代的編程語言都使用了這一演算法。ziggurat並不是人名,其含義是「金字形神塔」,不是埃及那個金字塔,而是古代蘇美爾人建造的類金字塔結構的神壇:神壇由多層平台構成,每層平台都呈矩形、卵形或正方形,且自下而上面積逐漸減小。ziggurat演算法實際上是一種改進的、包含查表操作的rejection sampling。

熱點內容
linux64位編譯 發布:2025-04-28 18:21:31 瀏覽:692
php政府系統 發布:2025-04-28 18:09:53 瀏覽:871
如何在台式電腦上找到硬體配置 發布:2025-04-28 18:06:09 瀏覽:588
項目網站源碼 發布:2025-04-28 18:05:31 瀏覽:952
不下載了宣傳片不緩存怎麼剪輯 發布:2025-04-28 18:05:25 瀏覽:386
釘釘如何修改後台登錄密碼 發布:2025-04-28 18:04:49 瀏覽:799
反演算法思維 發布:2025-04-28 18:03:16 瀏覽:390
python連接list 發布:2025-04-28 17:59:30 瀏覽:870
a10處理器和安卓手機哪個好 發布:2025-04-28 17:54:40 瀏覽:779
uclibc交叉編譯 發布:2025-04-28 17:53:43 瀏覽:473