使用Math.NET计算m 1,m 2为y = m 1 x 1 + m 2 x 2

时间:2015-02-26 17:00:20

标签: c# mathdotnet

鉴于这些价值观:

x1 = {1, 3, 6, 8} 
x2 = {2 ,8, 5, 10} 
y = {8.6, 30.8, 34.1, 53.8} 

这个公式

y = m1 * x1 + m2 * x2  

有没有办法使用Math.NET或等效的C#库来确定m1和m2?

(这些值的预期结果是m1 = 3.6和m2 = 2.5)

1 个答案:

答案 0 :(得分:1)

这只是一个线性方程组:在给定X和y的情况下求解X m = y。

var X = Matrix<double>.Build.DenseOfArray(new double[,] {
    { 1, 2 },
    { 3, 8 },
    { 6, 5 },
    { 8, 10 }
});
var y = Vector<double>.Build.Dense(new double[] {
    8.6,
    30.8,
    34.1,
    53.8
});
var m = X.Solve(y);