[转载]上网看到特殊函数的C代码,改改可以用于C#
////////////////////////////////////////////////////////////////功能:计算伽马(gamma)函数值,gamma函数积分区间为0到正无穷
//描述:gamma[x]=Integrate[exp[-t]*t^(x-1),{t,0,∞}]
//调用:
double lagam(double x);
//////////////////////////////////////////////////////////////
//功能:不完全伽马函数
//描述:gamma[a,x]=P[a,x]/gamma[x]
//描述:P[a,x]=Integrate[exp[-t]*t^(a-1),{t,0,x}]
//参数:a-参数
//调用:lagam(x)函数
double lbgam(double a,double x);
//////////////////////////////////////////////////////////////
//功能:误差函数
//描述:erf[x]=gamma[0.5,x^2]
//描述:erf[x]=2/sqrt[pi]*Integrate[exp[-t^2],{t,0,x}]
//调用:lagam(),lbgam()
double lcerf(double x);
//////////////////////////////////////////////////////////////
//功能:第一类整数阶贝塞尔函数
//参数:n-阶数
//调用:
double ldbesl(int n,double x);
//////////////////////////////////////////////////////////////
//功能:第二类整数阶贝塞尔函数
//参数:n-阶数
//调用:ldbesl()
double lebesl(int n,double x);
//////////////////////////////////////////////////////////////
//功能:变型第一类整数阶贝塞尔函数
//参数:n-阶数
//调用:
double lfbesl(int n,double x);
//////////////////////////////////////////////////////////////
//功能:变型第二类整数阶贝塞尔函数
//参数:n-阶数
//调用:lfbesl();
double lgbesl(int n,double x);
//////////////////////////////////////////////////////////////
//功能:不完全贝塔(beta)函数
//描述:Bx[a,b]=Integrate[t^(a-1)*(1-t)^(b-1),{t,0,x}]/B[a,b]
//描述:B[a,b]=gamma[a]*gamma[b]/gamma[a+b]
//参数:a-参数,b-参数
//调用:lagam();
double lhbeta(double a,double b,double x);
//////////////////////////////////////////////////////////////
//功能:正态分布函数
//参数:a-均值,b-方差
//调用:lcerf(),lagam(),lbgam();
double ligas(double a,double d,double x);
//////////////////////////////////////////////////////////////
//功能:t-分布函数
//参数:n-自由度
//调用:lhbeta(),lagam();
double ljstd(double t,int n);
//////////////////////////////////////////////////////////////
//功能:X^2-分布函数
//参数:n-自由度
//调用:lbgam(),lagam();
double lkchi(double x,int n);
//////////////////////////////////////////////////////////////
//功能:F-分布函数
//参数:n1-自由度,n2-自由度
//调用:lhbeta(),lagam();
double llf(double f,int n1,int n2);
//////////////////////////////////////////////////////////////
//功能:正弦积分
//参数:
//调用:
double lmsi(double x);
//////////////////////////////////////////////////////////////
//功能:余弦积分
//参数:
//调用:
double lnci(double x);
//////////////////////////////////////////////////////////////
//功能:指数积分
//参数:
//调用:
double loei(double x);
//////////////////////////////////////////////////////////////
//功能:第一类椭圆积分
//参数:
//调用:
double lpfk(double k,double f);
//////////////////////////////////////////////////////////////
//功能:第二类椭圆积分
//参数:
//调用:
double lqek(double k,double f);