Excel公式T.INV使用C#计算错误

Excel Formula T.INV Calculation wrong using C#

在Excel=T.INV(0.9,5)returns中的值'1.475884'。

现在我在 C# 中使用 WorksheetFunction TINV(0.9,5) 的函数。但这给了我结果 0.1321751752.

因此,在 C# 中 TINV 结果与 excel.

的值相差太多
Microsoft.Office.Interop.Excel.Application xl = new Microsoft.Office.Interop.Excel.Application();

Microsoft.Office.Interop.Excel.WorksheetFunction wsf = xl.WorksheetFunction;
double result = wsf.TInv(0.9, 5);

使用另一个 NuGet DLL 也发现了与以前的 DLL 相同的值:

var chart = new System.Web.UI.DataVisualization.Charting.Chart();
double resultTest = chart.DataManipulator.Statistics.TDistribution(.9, 5, true);

因此,我需要与 Excel 工作表 **T.Inv** 函数中找到的值相同的值。

如何在 C# 中获得相同的 T.INV 值。

谁能帮我得到同样的结果?

此代码returns 学生 t 分布的左尾和双尾逆函数

static void Main(string[] args)
{
    double value = 0.9;
    int degree = 5;

    var chart = new System.Web.UI.DataVisualization.Charting.Chart();
    double resultTest = chart.DataManipulator.Statistics.InverseTDistribution(value, degree);  
    Console.WriteLine(resultTest);

    //left-tailed 
    double result = alglib.invstudenttdistribution(degree, value);
    Console.WriteLine(result);
}

P.S。我使用了此处可用的 invstudenttdistribution 函数 alglib.net