Tan*_*ete 0 c# excel-formula excel-interop
我想使用excel introp预测功能生成预测值.我需要使用excel预测线性函数,但我想将预测值存储到数据库.
我知道如何开始请帮助我.
如果你只需要一个线性预测函数,我认为Excel Interop可能有点过分.您可以从C#项目添加对Office COM库的引用并调用该WorksheetFunction.Forecast函数,或者您可以直接添加一个方法来在C#代码中执行相同的操作.我认为线性预测逻辑基本上如下:
static double Forecast(double[] xValues, double[] yValues, double forecastPoint)
{
var xAverage = xValues.Average();
var yAverage = yValues.Average();
var bounds = yValues
.Select((y, i) => new { Value = y, Index = i })
.Aggregate(new { Top = 0.0, Bottom = 0.0 }, (acc, cur) =>
new
{
Top = acc.Top + (xValues[cur.Index] - xAverage) * (yValues[cur.Index] - yAverage),
Bottom = acc.Bottom + Math.Pow(xValues[cur.Index] - xAverage, 2.0)
});
var level = bounds.Top / bounds.Bottom;
return (yAverage - level * xAverage) + level * forecastPoint;
}
Run Code Online (Sandbox Code Playgroud)