LstSq

返回线性代数方程的最小二乘解(对于非二乘或退化矩阵)。

vector matrix::LstSq(

  const vector  b      // 纵坐标或“因变量”值

   );

参数

b

[输入]  纵坐标或“因变量”值。 (自由项的向量)

返回值

含有系统 a * x = b 之解的向量。 这仅适用于具有精准解的系统。

举例

   matrix a={{3, 2},

             {4,-5},

             {3, 3}};

   vector b={7,40,3};

//---

   vector x=a.LstSq(b);

//--- 检查,必须是 [5, -4]

   Print("x=", x);

//--- 检查,必须是 [7, 40, 3]

   vector b1=a.MatMul(x);

   Print("b1=",b1);



/*

  x=[5.000000000000002,-4]

  b1=[7.000000000000005,40.00000000000001,3.000000000000005]

*/