线性方程的最小范数最小二乘解 |
您所在的位置:网站首页 › 矩阵方程的逆 › 线性方程的最小范数最小二乘解 |
打开实时脚本 使用反斜杠 (\) 和 lsqminnorm 求解具有无限多个解的线性系统。使用解的 2-范数比较结果。 当 Ax=b 有无限多个解时,每个解都会使 ‖Ax-b‖ 最小化。反斜杠命令 (\) 也可以计算出一个这样的解,但此解通常不会使 ‖x‖ 最小化。lsqminnorm 计算出的解不仅会使 norm(A*x-b) 最小,还会使 norm(x) 最小。 假设有一个简单的线性系统 2x1+3x2=8,其中包含一个方程和两个未知数。该方程组是欠定方程组,因为方程的个数少于未知数的个数。使用反斜杠和 lsqminnorm 求解该方程。 A = [2 3]; b = 8; x_a = A\bx_a = 2×1 0 2.6667 x_b = lsqminnorm(A,b)x_b = 2×1 1.2308 1.8462两种方法得出不同的解,因为反斜杠只是要使 norm(A*x-b) 最小化,而 lsqminnorm 还要使 norm(x) 最小化。计算这些范数并将结果记录在表中,以便于比较。 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)T=2×2 table norm_Ax_minus_b norm_x _______________ ______ Backslash 0 2.6667 lsqminnorm 1.7764e-15 2.2188下图说明了这种情况,并显示每个方法返回的解。蓝线表示方程 x2=-23x1+83 的无限多个解。橙色圆圈表示从原点到解线的最小距离,lsqminnorm 返回的解刚好在这条线与圆圈之间的切点上,指示它是离原点最近的解。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |