LstSq
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]
*/