0
我使用alglib使用最小二乘法线性拟合方程来计算斜率和截距值,如下所示: -加权线性最小二乘线性拟合。如何强制通过第一点在线?
int info;
double[] c;
alglib.lsfitreport rep;
var fmatrix = new double[,] { { 1, 0 }, { 1, 0.05 }, { 1, 0.1 }, { 1, 0.2 } };
var y = new double[] { 32046, 32260, 32296, 32678 };
var w = new double[] { 1, 1, 1, 1 };
alglib.lsfitlinearw(y, w, fmatrix, out info, out c, out rep);
var intercept = c[0];
var slope = c[1];
“fmatrix”包含我的x轴的值(每对的第二: - 0 ,0.05,0.1,0.2); “y”显然拥有我的y轴值; “w”是权重 - 在这个例子中全是1,因此在这个例子中没有权重。
现在,我需要应用几个不同的“强迫症”。我已经成功的从“1”到“0”改变各fmatrix对的第一个值,以找到如何“通过原点力”,即:
var fmatrix = new double[,] { { 0, 0 }, { 0, 0.05 }, { 0, 0.1 }, { 0, 0.2 } };
但是我还需要通过第一点给力(x = 0,y = 32046)。任何想法如何实现这一目标?数学不是我的强项,我不太了解该功能的文档:http://www.alglib.net/translator/man/manual.csharp.html#sub_lsfitlinearw