QR 分解

您所在的位置:网站首页 revealing的意思 QR 分解

QR 分解

2023-08-11 10:33| 来源: 网络整理| 查看: 265

打开实时脚本

使用系数矩阵的精简 QR 分解来求解线性系统 Ax=b。

使用 magic(10) 的前五列创建一个 10×5 系数矩阵。对于线性方程 Ax=b 的右侧,使用矩阵的行总和。在这种设置下,方程 x 的解应为由 1 组成的向量。

A = magic(10); A = A(:,1:5)A = 10×5 92 99 1 8 15 98 80 7 14 16 4 81 88 20 22 85 87 19 21 3 86 93 25 2 9 17 24 76 83 90 23 5 82 89 91 79 6 13 95 97 10 12 94 96 78 11 18 100 77 84 b = sum(A,2)b = 10×1 215 215 215 215 215 290 290 290 290 290

计算 A 的精简 QR 分解。然后用 x(p,:) = R\(Q\b) 求解线性系统 QRx=b。由于 Q 是正交矩阵,此方程与 x(p,:) = R\(Q'*b) 相同。

[Q,R,p] = qr(A,"econ","vector")Q = 10×5 -0.0050 -0.4775 -0.0504 0.5193 0.0399 -0.0349 -0.5001 -0.0990 -0.1954 -0.2006 -0.4384 0.1059 -0.4660 0.4464 0.0628 -0.0947 -0.4151 -0.2923 -0.2542 0.5274 -0.1246 -0.4117 -0.2812 -0.1326 -0.4130 -0.3787 0.0209 0.2702 0.4697 0.0390 -0.4085 -0.0017 0.2217 -0.2450 -0.2015 -0.0648 -0.3925 0.6939 0.0669 0.1225 -0.4683 0.0833 0.0283 -0.3038 0.5265 -0.4982 0.0867 0.0394 -0.1822 -0.4138 R = 5×5 -200.7112 -55.5026 -167.6040 -84.7237 -168.7997 0 -192.1053 -40.3557 -152.4040 -39.2814 0 0 101.3180 -89.4254 96.0172 0 0 0 41.0248 -14.9083 0 0 0 0 24.6386 p = 1×5 3 1 5 2 4 x(p,:) = R\(Q\b)x = 5×1 1.0000 1.0000 1.0000 1.0000 1.0000

生成 R 的对角线的半对数图,以确认置换分解产生的 R 因子的 abs(diag(R)) 是递减的。将 A 的奇异值绘制在同一个图中进行比较。实际上,R 的对角线值与 A 的奇异值具有类似的行为。因此,您可以使用 R 的对角线值来衡量矩阵 A 的奇异程度。

semilogy(abs(diag(R)),"-o") hold on semilogy(svd(A),"r-o") legend("Diagonal of R","Singular Values of A")



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3