LstSq

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

vector matrix::LstSq(
  const vector  b      // 纵坐标或“因变量”值
   );

参数

b

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

返回值

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

举例

   matrix a={{32},
             {4,-5},
             {33}};
   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]
*/