遗忘海岸

江湖程序员 -Feiph(LM战士)

导航

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 里存放的是 参数,第一个是截距
        }
View Code

Matlab对应代码

A=[ 
    1  1  4
    1  2  5
    1  3  2
    ];
b=[15
    20
    10];
inv(A' * A)*A'*b 
View Code

 

posted on 2020-04-14 10:39  遗忘海岸  阅读(439)  评论(0编辑  收藏  举报