怎样用C++算正态分布的积分
来源:百度知道 编辑:UC知道 时间:2024/06/07 20:33:39
求一个C++程序的cpp , 这个程序要可以根据输入的上下限c, d来计算出标准正态分布积分
比如,输入-0.3 2.1,就能算出F(2.1) - F(-0.3)
就像二楼说的那样的
比如,输入-0.3 2.1,就能算出F(2.1) - F(-0.3)
就像二楼说的那样的
你看看计算公式是不是这样的?
还有精度要多少啊?
查表可知,
F(2.1) =0.9821
F(-0.3)=1-0.6179
F(2.1) - F(-0.3) = 0.6
源程序
#include<stdio.h>
#include<math.h>
double f(double x)
{
return exp(-x*x/2);
}
double F(double a,double b,double ep=1e-6)
{
double h,s1=0,s2=(b-a)*(f(a)+f(b))/2;
int n,k;
for(int n=1;fabs(s1-s2)>ep;n*=2)
{
h=(b-a)/n;
s1 = s2;
s2 = 0;
for(int k=0;k<n;++k)
{
&n