c语言 误差函数erf代码,高斯(余补)误差函数erf和erfc

注意: IVF 扩展了 erf 和 erfc 函数,可直接使用。与本代码结果一致。

函数修改自 Numerical Recipes

输出图形如图:

ca590e459913eb92a09e3ff56a472b07.gif

完整代码如下:

Module Gauss_Err_Func

Implicit None

Private gammq , gammp , gser , gcf , gammln

contains

Real FUNCTION fc_erf(x)

REAL x

if(x < 0.0)then

fc_erf=-gammp(.5,x**2)

else

fc_erf=gammp(.5,x**2)

endif

END FUNCTION fc_erf

Real FUNCTION fc_erfc(x)

REAL x

if(x < 0.)then

fc_erfc=1.+gammp(.5,x**2)

else

fc_erfc=gammq(.5,x**2)

endif

END FUNCTION fc_erfc

Real FUNCTION gammq(a,x)

REAL a,x

REAL gammcf,gamser,gln

if(x<0.0 .or. a<=0.0) return

if(x

call gser(gamser,a,x,gln)

gammq=1.-gamser

else

call gcf(gammcf,a,x,gln)

gammq=gammcf

endif

End Function gammq

Real Function gammp(a,x)

REAL a,x

REAL gammcf,gamser,gln

if(x<0..or.a<=0.) return !'bad arguments in gammp'

if(x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值