LstSq
Trả về nghiệm bình phương tối thiểu của các phương trình đại số tuyến tính (cho ma trận không vuông hoặc thoái hóa).
cpp
vector matrix::LstSq(
const vector b // giá trị tung độ hoặc biến phụ thuộc
);
1
2
3
2
3
Tham số
b
[in] Giá trị tung độ hoặc biến phụ thuộc
. (Vector các số hạng tự do)
Giá trị trả về
Vector chứa nghiệm của hệ phương trình a * x = b
. Điều này chỉ đúng với các hệ có nghiệm chính xác.
Ví dụ
cpp
matrix a={{3, 2},
{4,-5},
{3, 3}};
vector b={7,40,3};
//---
vector x=a.LstSq(b);
//--- kiểm tra, phải là [5, -4]
Print("x=", x);
//--- kiểm tra, phải là [7, 40, 3]
vector b1=a.MatMul(x);
Print("b1=",b1);
/*
x=[5.000000000000002,-4]
b1=[7.000000000000005,40.00000000000001,3.000000000000005]
*/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16