如何在matlab中进行QR 分解

2025-05-17 10:19:05

1、正交矩阵或包含正交列的矩阵为实矩阵,其列全部具有单位长度并且相互垂直。如果 Q 为正交矩阵,则Q ′ Q = 1 。最简单的正交矩阵为二维坐标旋转:

如何在matlab中进行QR 分解

5、在许多情况下,Q 的最后 m – n 列是不需要的,因为这些列会与 R 底部的零相乘。因此,精简 QR 分解可生成一个矩形矩阵(具有正交列的 m×n Q)以及一个方阵 n×n 上三角形矩阵 R。对于 5×4 示例,不会节省太多内存,但是对于更大的大量矩形矩阵,在时间和内存方面的节省可能会很重要:[Q,R] = qr(C,0)

如何在matlab中进行QR 分解

6、与 LU 分解相比,QR 分解不需要进行任何消元或置换。但是,可选的列置换(因存在第三个输出参数而触发)对检测奇异性或秩亏是很有帮助的。在分解的每一步,未分解的剩余矩阵的列(范数最大)将用作该步骤的基础。这可以确保 R 的对角线元素以降序排列,并且各列之间的任何线性相关性肯定能够通过检查这些元素来显示。对于此处提供的小示例,C 的第二列的范数大于第一列的范数,因此这两列被交换:[Q,R,P] = qr(C)

如何在matlab中进行QR 分解

8、QR 分解可将超定线性方程组转换为等效的三角形方程组。表达式norm猾诮沓靥(A*x - b)等于norm(Q*R*x - b)与正交矩阵相乘可保留欧几里德范数,因此该表达式也等于nor罪焐芡拂m(R*x - y)其中 y = Q'*b。由于 R 的最后 m-n 行为零,因此该表达式将分为两部分:norm(R(1:n,1:n)*x - y(1:n))并且norm(y(n+1:m))如果 A 具有满秩,则可以对 x 求解,使这些表达式中的第一个表达式为零。然后,第二个表达式便可以提供残差范数。如果 A 没有满秩,则可以通过 R 的三角形结构体对最小二乘问题求基本解。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢