您的位置:首页 > 其它

产生满足正态分布的随机数

2008-07-17 11:15 288 查看
一般有两种算法:

算法一产生12个(0,1)平均分布的随机函数,用大数定理可以模拟出正态分布。

算法二用到了数学中的雅可比变换,直接生成正态分布,但此算法在计算很大规模的数时 会出现溢出错误。

附加代码:

#include <math.h>

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <time.h>

#define M_PI 3.14159265358979323846

double _random(void)

double _sta(double mu,double sigma)

double _sta2(double mu,double sigma)

int main()

{

int i;

double mu,sigma;

srand( (unsigned)time( NULL ) );

mu=0.0;

sigma=1.0;

printf("Algorithm 1:\n");

for(i=0;i<10;i++)

printf("%lf\t",_sta(mu,sigma));

printf("Algorithm 2:\n");

for(i=0;i<10;i++)

printf("%lf\t",_sta2(mu,sigma));

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: