C****c 发帖数: 9157 | 1 哪位大湿有?
google上搜到的有的是要收费,有的精度不够 | S*M 发帖数: 10832 | 2 你搜一下numerical recipe, incomplete gamma function吧
我只有fortran的code, 你用不上
【在 C****c 的大作中提到】 : 哪位大湿有? : google上搜到的有的是要收费,有的精度不够
| o*******6 发帖数: 6113 | 3 这样可以吗?
double f(double x)
{
return exp(-x*x/2);
}
double F(double b=0.0,double ep=1e-6) // calculate normal CDF using
integration
{
double h,s1=0,s2=b*(1+f(b))/2;
int n;
for(n=1;fabs(s1-s2)>ep;n*=2)
{
h=b/n;
s1 = s2;
s2 = 0;
for(int k=0;k
{
s2 += h*f((k+0.5)*h);
}
s2 = (s1+s2)/2;
}
return s2*sqrt(1/(8*atan(1.0)))+0.5;
} | c********y 发帖数: 30813 | 4 太麻烦,如果精度在10e-6的话,用这个近似就足够了
where
b0 = 0.2316419, b1 = 0.319381530, b2 = 0.356563782, b3 = 1.781477937, b4
= 1
.821255978, b5 = 1.330274429
using
【在 o*******6 的大作中提到】 : 这样可以吗? : double f(double x) : { : return exp(-x*x/2); : } : double F(double b=0.0,double ep=1e-6) // calculate normal CDF using : integration : { : double h,s1=0,s2=b*(1+f(b))/2; : int n;
| o*******6 发帖数: 6113 | 5 贪版真乃牛人也!
781477937, b4
【在 c********y 的大作中提到】 : 太麻烦,如果精度在10e-6的话,用这个近似就足够了 : where : b0 = 0.2316419, b1 = 0.319381530, b2 = 0.356563782, b3 = 1.781477937, b4 : = 1 : .821255978, b5 = 1.330274429 : : using
| c********y 发帖数: 30813 | 6 牛啥啊,
我以前组里一个a3嫌python里的慢,喜欢用这个。
不过精度要求高的时候,就歇菜了。。。
【在 o*******6 的大作中提到】 : 贪版真乃牛人也! : : 781477937, b4
| y**********g 发帖数: 3071 | | C****c 发帖数: 9157 | 8 就是这个了
杀人越货必备
我猜贪大湿是courant的应数phd
http://upload.wikimedia.org/math/e/6/0/e60ce4728498ae5c3ad78325
g
1.781477937, b4
【在 c********y 的大作中提到】 : 太麻烦,如果精度在10e-6的话,用这个近似就足够了 : where : b0 = 0.2316419, b1 = 0.319381530, b2 = 0.356563782, b3 = 1.781477937, b4 : = 1 : .821255978, b5 = 1.330274429 : : using
|
|