正态曲线函数c语言 正态曲线函数c语言怎么写

请问:C语言中怎么计算正态分布函数?

C语言中计算一个数的N次方可以用库函数pow来实现。

创新互联主要从事网站建设、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务灵石,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220

函数原型:double pow(double x, double y);

功 能:计算x^y的值

返 回 值:计算结果

举例如下:

double a = pow(3.14, 2); // 计算3.14的平方

注:使用pow函数时,需要将头文件#includemath.h包含进源文件中。

如何在c++或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;

}

标准正态分布函数的c语言代码 谢啦

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是方差


分享名称:正态曲线函数c语言 正态曲线函数c语言怎么写
本文地址:http://hbruida.cn/article/ddsijcj.html