
标准正态分布函数的c语言代码 谢啦
1个回答
展开全部
double gaussian(double u) //用Box_Muller算法产生高斯分布的随机数
{
double r,t,z,x;
double s1,s2;
s1=(1.0+rand())/(RAND_MAX+1.0);
s2=(1.0+rand())/(RAND_MAX+1.0);
r=sqrt(-2*log(s2)/log(e));
t=2*pi*s1;
z=r*cos(t);
x=u+z*N;
return x;
}
以前写的一个函数,u是均值,N是方差
{
double r,t,z,x;
double s1,s2;
s1=(1.0+rand())/(RAND_MAX+1.0);
s2=(1.0+rand())/(RAND_MAX+1.0);
r=sqrt(-2*log(s2)/log(e));
t=2*pi*s1;
z=r*cos(t);
x=u+z*N;
return x;
}
以前写的一个函数,u是均值,N是方差
追问
D:\学习\C语言\1+101\main.c:13: error: `e' undeclared (first use in this function)
D:\学习\C语言\1+101\main.c:13: error: (Each undeclared identifier is reported only once
D:\学习\C语言\1+101\main.c:13: error: for each function it appears in.)
D:\学习\C语言\1+101\main.c:16: error: `N' undeclared (first use in this function)
好多错误呃。不知道怎么修改呢
追答
这个就一函数,还要你改,没定义的,是我在主程序宏定义的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询