使用c#访问Excel公式
本文关键字:公式 Excel 访问 使用 | 更新日期: 2023-09-27 18:05:26
我需要在我的c#代码中使用Excel中的NORMSINV
公式。我没有任何接触与Excel表,我没有得到任何值从Excel。只需在c#代码中使用公式即可。
如何做到这一点?
您可以使用GSL (GNU科学库,用C编写)。对应于您所追求的函数将是"gsl_cdf_ugaussian_Pinv"我相信。
你可以在这里获得GSL:
http://ftp.heanet.ie/mirrors/gnu/gslExcel中函数的详细信息:
http://support.microsoft.com/kb/826772和GSL中相应的详细信息:
http://www.gnu.org/s/gsl/manual/html_node/The-Gaussian-Distribution.html(注:标准正态分布也称为单位高斯分布)
我相信这应该是你所追求的精确近似。
(注意:我不编程在c#,所以可能有一些语法错误)
public double pdf_norm(double x)
{
return (1 / Math.Sqrt(Math.PI)) * Math.Exp(-1 * (Math.Pow(x, 2) / 2));
}
public double cdf_norm(double x)
{
double[] bValues = [0.2316419, 0.319381530, −0.356563782, 1.781477937, −1.821255978, 1.330274429];
double t = 1 / (1 + bValues[0]*x);
return 1 - pdf_norm(x)*(bValues[1]*t + bValues[2]*Math.Pow(t,2) + bValues[3]*Math.Pow(t,3) + bValues[4]*Math.Pow(t,4) + bValues[5]*Math.Pow(t,5));
}
你需要调用函数cdf_norm来返回你想要的数字。
请测试它的工作,让我知道。:)