Commit fa324284 authored by 潘栩锋's avatar 潘栩锋 🚴

添加 简易版的线性拟合

parent 11400848
......@@ -490,6 +490,7 @@ namespace Misc
}
}
public static void Linest(IEnumerable<double> y, IEnumerable<double> x, out double a, out double b)
{
if (y.Count() != x.Count())
......@@ -526,6 +527,39 @@ namespace Misc
}
}
public static void Linest(IEnumerable<double> y, out double a, out double b)
{
double sumX = 0;
double sumY = 0;
double sumX2 = 0;
double sumXY = 0;
int validCount = 0;
int index = 0;
foreach (double value in y)
{
if (!double.IsNaN(value))
{
sumXY += value * index;
sumX2 += index * index;
sumX += index;
sumY += value;
validCount++;
}
index++;
}
if (validCount > 1)
{
a = (validCount * sumXY - sumX * sumY) / (validCount * sumX2 - sumX * sumX);
b = sumY / validCount - a * sumX / validCount;
}
else
{
a = 1;
b = 0;
}
}
/// <summary>
/// 对环形数据 分区移位
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment