【问题标题】:C# equivalent of Excel's TINV functionC# 等效于 Excel 的 TINV 函数
【发布时间】:2014-01-07 03:04:09
【问题描述】:

我正在将一些代码从 Microsoft Excel 移植到 C#。 Excel 表达式使用TINV 函数。 C# 或 .NET 中是否有等效功能?如果没有,需要什么 C# 代码来重新实现这个函数?

【问题讨论】:

  • 您使用的是 .NET 4.0+ 吗?

标签: c# .net excel worksheet-function


【解决方案1】:

如果您使用的是 .NET 4.0,您可以利用 System.Web.DataVisualization 程序集中的 Chart 类(您还需要添加 System.Web)。例如:

var chart = new System.Web.UI.DataVisualization.Charting.Chart();
double result = chart.DataManipulator.Statistics.InverseTDistribution(.05, 15);

//2.131449546

文档:

http://msdn.microsoft.com/en-us/library/system.web.ui.datavisualization.charting.statisticformula.inversetdistribution(v=vs.110).aspx

【讨论】:

  • 优秀。这正是我所追求的。可惜它与 UI 代码相关联,但它可以满足我的需求。
【解决方案2】:

死灵术。

您可以在 Math.NET (MIT/X11) 中查看确切的方法。

double result  = MathNet.Numerics.ExcelFunctions.TInv (probability, degFreedom);

等同于:

double result  = -StudentT.InvCDF(0d, 1d, degFreedom, probability/2);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    • 2012-06-14
    相关资源
    最近更新 更多