當前位置:編程學習大全網 - 編程軟體 - 編程西格瑪

編程西格瑪

# include & ltmath.h & gt

# include & ltstdlib.h & gt

# include & lttime.h & gt

# include & ltstdio.h & gt

#定義pi 3.1415926535897

//區間[min,max]上的均勻分布,min和max需要傳入相同類型的參數。

模板& ltT類& gt

T rand(T min,T max)

{

return min+(MAX-min)* RAND()/(RAND _ MAX+1.0);

}

//用miu的均值和σ在x處的方差求正交分布函數的函數值。

雙法線(雙x,雙miu,雙sigma)

{

返回1.0/sqrt(2.0 * pi)/sigma * exp(-1.0 *(x-miu)*(x-miu)/(2.0 * sigma * sigma);

}

//根據函數值曲線上矩形區域的位置分布,得到正函數X值。

雙倍隨機數(雙倍最大值、雙倍西格瑪、雙倍最小值、雙倍最大值)

{

雙x,y,dScope

{

x = rand(最小值,最大值);

y =正常(x,miu,sigma);

ds scope = rand(0.0,normal(miu,miu,sigma));

}

while(d scope & gt;y);

返回x;

}

//簡單算法,實際結果類似於公式法。

#定義rd (rand()/(RAND_MAX+1.0))

雙隨機數(雙最大值,雙西格瑪)

{

return(rd+rd+rd+rd+rd+rd+rd+rd+rd+rd+rd+rd-6.0)* 0.5 * sigma+miu;

}

void main()

{

int I;

srand((無符號)時間(空));

for(I = 0;我& lt128;i++)

{

printf("%f%c ",randn(2.0,0.4),(i % 8 == 7)?\ n ':' ');

}

printf(" \ n ");

for(I = 0;我& lt128;i++)

{

printf("%f%c ",randn(2.0,0.4,0.0,4.0),(i % 8 == 7)?\ n ':' ');

}

printf(" \ n ");

}

  • 上一篇:重慶新世紀百貨大樓配送成本比例
  • 下一篇:手機中uid是什麽意思
  • copyright 2024編程學習大全網