– 线性方程Ax=b
的最小范数解。
- 主要就是要注意该函数的解与
A\b
的不同。 - 不需要pinv来得到方程的解。
对于inconsistent方程组求解,有以下实例:求解。
- 利用backslash求解。
A = [2 3];
b = 8;
x_a = A\b
x_a = 2×1
0
2.6667
- 调用 lsqminnorm解得:
x_b = lsqminnorm(A,b)
x_b = 2×1
1.2308
1.8462
本质区别:backslash的解是得到x使得 最小。
lsqminnorm:在满足 最小的同时,要求 最小。
s1 = {'Backslash'; 'lsqminnorm'};
s2 = {'norm_Ax_minus_b','norm_x'};
T = table([norm(A*x_a-b); norm(A*x_b-b)],[norm(x_a); norm(x_b)],'RowNames',s1,'VariableNames',s2)
从上图(不定方程与单位圆画在一起)可以看出lsqminnorm的解 最小。