MathNet.Numerics.dll版本2.6.1.30
做b + a x1 + b x2=y 这样的线性回归--
private void TestB() { Func<Double[], double> func1 = (a) => { return a[0];//返回第行的第一个元素 }; Func<Double[], double> func2 = (a) => { return a[1]; }; Func<Double[], double> func3 = (a) => { return a[2]; }; var r = Fit.LinearMultiDim( new[] { new[] { 1, 1.0, 4.0 }, new[] { 1, 2.0, 5.0 }, new[] { 1, 3.0, 2.0 } }, new[] { 15.0, 20, 10 }, new[] { func1, func2, func3 }); //r 里存放的是 参数,第一个是截距 }
Matlab对应代码
A=[ 1 1 4 1 2 5 1 3 2 ]; b=[15 20 10]; inv(A' * A)*A'*b