c# - C# 的 LINEST 函数模拟

标签 c# windows excel dll

我需要从 LINEST Excel 函数中获取信息。我想知道是否有具有类似功能的库,或者是否可以以某种方式在 C# 中使用 native Excel 函数?我在 MVS 2010 中工作并使用 Windows 窗体可能很重要。我编写了一个最小二乘估计函数,它只计算 2 因子模型的参数,但我需要为具有 2 个以上因子的模型计算参数。

附言实际上我在谷歌上搜索了答案,我看到有人使用 Microsoft.Office.Excel 包来计算必要的信息,但我的 IDE 中没有这样的导入。我不想发明轮子,所以我非常感谢任何信息。谢谢。

更新: 最后我在我的项目中添加了一个 Microsoft.Office.Excel 引用并解决了我的问题。源代码附在下面。结果是类似于 Excel 的二维数组。代码写的比较仓促,不是很好,需要修改。我只希望它能帮助其他人。 /如果你需要帮助就找我

        Microsoft.Office.Interop.Excel.Application xl = new Microsoft.Office.Interop.Excel.Application();
        Microsoft.Office.Interop.Excel.WorksheetFunction wsf = xl.WorksheetFunction;

        List<double> x = new List<double> { 107, 109, 110, 113, 120, 122, 123, 128, 136, 140, 145, 150 };
        List<double> y = new List<double> { 102, 105, 108, 110, 115, 117, 119, 125, 132, 130, 141, 144 };

        object result = wsf.LinEst(y.ToArray(), x.ToArray(), true, true);

        Array resArray = (Array)result;

        double[,] linest = new double[5, 2];
        int i = 0, j = 0;
        Console.WriteLine("{0,15:f10}", resArray.Length);
        foreach (var element in resArray)
        {
            if (i == 0 || i == 2 || i == 4 || i == 6 || i == 8)
            {
                linest[j, 0] = (double)element;                    
            }
            else
            {
                linest[j, 1] = (double)element;
                j++;
            }
            i++;                
        }

        Console.WriteLine();
        for (i = 0; i < linest.GetLength(0); i++)
        {
            for (j = 0; j < linest.GetLength(1); j++)
                Console.Write("{0,25:f13}", linest[i, j]);
            Console.WriteLine();
        }

最佳答案

试试 Math net numerics 中的线性代数库,避免完全使用 excel。

关于c# - C# 的 LINEST 函数模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15851964/

相关文章:

c# - C# 如何解释我的查询?

c# - 线程必须是 STA-Thread,但它已经是

vba - 使用vba从带有中文字符的文本文件中提取文本

c# - 将属性设置为另一个属性的值

c# - DataGrid 显示图像的路径而不是图像本身

c++ - 我可以在 Windows 操作系统上使用本地套接字吗? - C++/Boost

windows - Anaconda Navigator 无法启动,download_api 错误(Windows 10)

php - EasyPHP 开发服务器 : database server not starting

python - 无法使用 xlsxwriter 库将数据导出到 Excel

vba - 创建将分钟转换为 hh :mm:ss 的 VBA 函数