cdf5041353 发表于 2015-7-9 17:20:07

如何求解标准正态分布函数?

已知具体数值,想求对应的标准正态分布函数值Φ(*),是通过MKL实现嘛,改如何实现,求指点,谢谢!

fcode 发表于 2015-7-9 17:35:37

http://fcode.cn/code_prof-33-1.html
这是你想要的吗?

cdf5041353 发表于 2015-7-9 17:55:03

感谢您的链接!链接内容是已知均值和方差生成相应的正态分布数据,而我想实现的是计算Φ(x),Φ(x)定义为服从标准正态分布的随机变量X的分布函数,其值为对f(x)关于x积分,从-∞积到x.从f(x)图像上看,Φ(x)的值相当于f(x)曲线以下,x轴曲线以上,区域为(-∞,x)这段的面积。
基于您的链接,通过编程应该可以实现计算Φ(x),但我不晓得MKL里是不是有与之对应的函数,类似在excel里用normsdist(x)。

fcode 发表于 2015-7-10 09:23:45

这是一个简单的函数,没必要用到 MKL

但由于 Φ(x) 是一个超越函数,所以数值计算上只能用级数求和来达到。可以从 x 反向求和,一直到足够精度为止(不可能到负无穷)

cdf5041353 发表于 2015-7-10 11:39:08

感谢版主指点,我尝试去做一下

li913 发表于 2015-7-10 13:13:46

本帖最后由 li913 于 2015-7-10 13:18 编辑

ivf自带有个erf函数,变换后可以用于求标准正态分布函数。
program test
real(kind=8) a,x
x=1.0d20
a= 0.5*erf(sqrt(2.0)*x) + 0.5
print*,a

x=0.0d20
a= 0.5*erf(sqrt(2.0)*x) + 0.5
print*,a

x=-1.0d20
a= 0.5*erf(sqrt(2.0)*x) + 0.5
print*,a
end

cdf5041353 发表于 2015-7-10 18:34:38

感谢!我学习一下~
页: [1]
查看完整版本: 如何求解标准正态分布函数?