QR

描述

例子

X= qr (一个)返回上三角RQR分解的因素甲= Q * R。如果一个已满,则R = triu(X)。如果一个是稀疏的,则R = X

例子

(,R] = QR(一个)执行上的QR分解-通过-n矩阵一个这样甲= Q * R。因素R是一个-通过-n上三角矩阵,还有因子是一个-通过-正交矩阵。

例子

(,R,P] = QR(一个)另外返回的置换矩阵P这样* P = * R

例子

(___] = QR(一个,0)产生使用任何先前的输出参数的组合的一个经济尺寸分解。输出的大小取决于的大小-通过-n矩阵一个:

  • 如果m > n,然后QR只计算第一个n和第一nR

  • 如果m < = n,则经济规模分解与常规分解相同。

  • 如果指定与经济规模分解第三输出,则返回一个置换载体,使得A(:,P)= Q * R

例子

(,R,P] = QR(一个,outputForm)指定是否返回置换信息P作为基质或载体中。例如,如果outputForm'向量',然后A(:,P)= Q * R。默认值outputForm'矩阵'这样* P = * R

例子

(C,R] = QR(年代,B)单位计算C =问' * B还有上三角项R。您可以使用CR以计算最小平方解到稀疏线性系统S * X = BX = R \ C

例子

(C,R,P] = QR(年代,B)另外返回的置换矩阵P。您可以使用C,RP以计算最小平方解到稀疏线性系统S * X = BX = P *(R \ C)

例子

(___] = QR(年代,B,0)产生使用任何先前的输出参数的组合的一个经济尺寸分解。输出的大小取决于的大小-通过-n稀疏矩阵年代:

  • 如果m > n,然后QR只计算第一个nCR

  • 如果m < = n,则经济规模分解与常规分解相同。

  • 如果使用经济规模分解指定第三个输出,那么它将作为排列向量返回,使最小二乘解为S * X = BX(P,:) = R \ C

例子

(C,R,P] = QR(年代,B,outputForm)指定是否返回置换信息P作为一个矩阵或向量。例如,如果outputForm'向量',则最小二乘解来S * X = BX(P,:) = R \ C。默认值outputForm'矩阵'使得最小二乘解来S * X = BX = P *(R \ C)

例子

全部折叠

找到5×5帕斯卡矩阵的QR分解。指定一个输出参数只返回上三角因素。

一个=帕斯卡(5);X = qr (A)
X =5×5-2.2361 -6.7082 -15.6525 -31.3050 -56.3489 0.3090 3.1623 11.0680 26.5631 53.1263 0.3090 - 1744 1.8708 7.4833 19.2428 0.3090 - 4565 0.3548 0.6325 2.8460 0.3090 - 7387 -0.0281 -0.7490 -0.1195

提取上三角因子RX

R = triu(X)
R =5×5-2.2361 -6.7082 -15.6525 -31.3050 -56.3489 0 3.1623 11.0680 26.5631 53.1263 0 0 1.8708 7.4833 19.2428 0 0 0 0.6325 2.8460 0 0 0 0 0 0 0 0 0 0 -0.1195

比较R在Q-less QR分解中R考虑一个完整的QR分解。

[Q1,R1] = QR(A)
Q1 =5×5-0.4472 -0.6325 0.5345 -0.3162 -0.1195 -0.4472 -0.3162 -0.2673 0.6325 0.4781 -0.4472 0.0000 -0.5345 -0.0000 -0.7171 -0.4472 0.3162 -0.2673 -0.6325 0.4781 -0.4472 0.6325 0.5345 0.3162 -0.1195
R1 =5×5-2.2361 -6.7082 -15.6525 -31.3050 -56.3489 0 3.1623 11.0680 26.5631 53.1263 0 0 1.8708 7.4833 19.2428 0 0 0 0.6325 2.8460 0 0 0 0 0 0 0 0 0 0 -0.1195

通过指定两个输出参数计算幻方测试矩阵的全部QR分解。

A =魔法(5);[Q,R] = QR(A)
Q =5×5-0.5234 - 5058 - 6735 - 1215 -0.0441 - 7081 - 6966 -0.0177 0.0815 -0.0800 -0.1231 0.1367 - 3558 - 6307 - 6646 - 3079 0.1911 -0.4122 -0.4247 0.200 -0.3387 0.4514 - 4996 0.6328 -0.1774
R =5×5-32.4808 -26.6311 -21.3973 -23.7063 -25.8615 0 19.8943 12.3234 1.9439 4.0856 0 0 -24.3985 -11.6316 -3.7415 0 0 0 -20.0982 -9.9739 0 0 0 0 -16.0005

验证 一个 = QR ,在机器精度范围内。

范数(A-Q * R)
ANS = 9.5562e-15

属性中指定三个输出参数以返回减少填充的排列矩阵或向量RQR分解的因子。

计算的QR分解west0479稀疏矩阵。指定三个输出返回置换矩阵满足 美联社 = QR

负载west0479A = west0479;[Q,R,P] = QR(A);

验证* P = * R对于置换矩阵P,在机器精度范围内。

规范(* p q * R,“回回”)
ans = 3.5451平台以及

现在指定'向量'选择返回p作为置换矢量。

[Q,R,P] = QR(A,'向量');

验证A(:,P)= Q * R对于置换向量p,在机器精度范围内。

规范(:p - Q * R,“回回”)
ans = 3.5451平台以及

验证在在分解结果使用的置换矩阵或置换矢量的R与非置换分解相比,稀疏输入的非零较少的因子。

[Q1,R1] = QR(A);间谍(R1)

间谍(R)

结果表明,该分解过程产生了一种新的分解方法R因子具有基本上较少的非零元素。

使用系数矩阵的经济尺寸QR分解来求解线性系统 斧头 = b

的前五列创建一个10×5系数矩阵魔法(10)。对于线性方程的右手侧 斧头 = b ,使用矩阵的行和。有了这样的设置,方程的解 x 应该是那些向量。

一个=魔法(10);= (:1:5)
一个=10×592 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 =总和(A,2)
b =10×1215 215 215 215 215 215 290 290 290 290 290 290 290

计算的经济规模QR分解一个。然后求解线性系统 QRX = b X(P,:) = R \(Q \ b)中。因为是正交的,该方程是一样:x (p) = R \(问‘* b)

[Q,R,P] = QR(A,0)
Q =10×5-0.0050 -0.4775 - 0.0375 - 0.0193 0.0349 -0.0349 -0.1954 - 2006年0.4384 0.1059 - 0.451 0.2923 - 2542 0.274 -0.1246 -0.4117 -0.2812 -0.1326 0.4130 -0.3787 0.0209 0.2702 0.4697 0.390 -0.4085 0.0.0017 0.2217 - 2450 - 2015 -0.0648 -0.3925 0.6939 0.1225 - 4683 0.0833 0.0283 - 3038 0.5265 - 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×53 1 5 2 4
X(P,:) = R \(Q \ b)中
X =5×1100000, 100000, 100000, 100000, 100000

做对角的半对数图R为了证实置换分解产生一个R因子ABS(DIAG(R))减少。的奇异值一个在比较了同样的情节。在实践中,对角线值R的奇异值的行为方式类似一个。因此,可以使用的对角值R至于如何接近奇异的矩阵措施一个是多少。

semilogy (abs(诊断接头(R)),“o”)保持semilogy(SVD(A),'R-O')图例(R的对角线," A的奇异值")

解决稀疏线性系统,并使用结果,看看有多少矢量b的列空间年代

创建一个随机的500×20稀疏矩阵,密度为10%,向量为1。使用QR将矩阵分解成因子RC =问' * b

S = sprand(500,20,0.1);B =酮(500,1);[C,R] = QR(S,B,0);

使用结果来解决 SX = b X = R \ C

X = R \ C;

考虑到身份 b 2 = SX - b 2 + C 2

通过规范通过划分b,你会得到一个新的身份昭示着多少b的列空间年代:

SX - b 2 b 2 + C 2 b 2 = 1

第一项是多少b才不是在的列空间中年代,而第二项告诉多少b在的列空间中年代

T1 =规范(S * X-B)^ 2 /规范(B)^ 2
t1 = 0.4000
T2 =范数(C)^ 2 /规范(B)^ 2
T2 = 0.6000

使用QR解决矩阵方程 SX = B 具有矩形稀疏系数矩阵 年代

加载west0479稀疏矩阵,并使用所述第一列200作为矩形系数矩阵中的线性系统。对于等式的右边,使用的行总和 年代 。通过这种设置,解决方案 SX = B 是一个1的向量。

负载west0479S = west0479(:,1:200);B =总和(S,2);

解决 SX = B 运用QR有两个输入和三个输出。线性方程组的解是X = P *(R \ C)

[P C R] = qr(年代,B);x = P * (R \ C);

验证 SX - B = 0 ,在机器精度范围内。

规范(S *取向)
ANS = 9.1703e-11

注意:为了计算上三角因子R和置换矩阵P,但要避免计算的正交矩阵(这通常是一个呼叫的计算上最昂贵的部分QR),您可以指定B为空矩阵:

emptyB = 0(大小(年代,1),0);(~ R P) = qr(年代,emptyB);

输入参数

全部折叠

输入矩阵,指定为一个完整的或稀疏矩阵。

数据类型:|
复数的支持:万博1manbetx

输入系数矩阵,指定为稀疏矩阵。具有两个输入矩阵QR计算出的最小平方解对于线性系统S * X = B

数据类型:
复数的支持:万博1manbetx

右手侧矩阵,指定为一个完整的或稀疏矩阵。具有两个输入矩阵QR单位计算C =问' * B,你可以用它来求解线性系统S * X = B

数据类型:|
复数的支持:万博1manbetx

形状排列输出的,指定为'矩阵'要么'向量'。此标志控制的排列输出P返回为一个置换矩阵或置换矢量。您必须指定三个输出参数QR使用此选项。

  • 如果outputForm'向量',然后P是置换载体,其满足A(:,P)= Q * R

  • 默认值outputForm'矩阵'这样* P = * R

例:[Q,R,P] = QR(A, '载体')

输出参数

全部折叠

输出矩阵。内容X取决于是否一个已满或疏:

  • 如果一个是满的,那么QR分解的上三角因子是R = triu(X)。(该三角形下部元件是用于计算数据的一部分。)

  • 如果一个是稀疏的,那么因子是R = X

正交因子,返回一个矩阵,满足甲= Q * R-通过-n矩阵一个

  • 对于完全分解,QR(A)返回作为-通过-满足正交矩阵 H = H =

  • 对于矩形一个m > n,经济规模的分解QR(A,0)只计算第一个n和第一nR。的列形成用于的列空间的标准正交基一个

不同的机器和MATLAB的版本®可以产生不同的列中仍在数值准确。相应的行和列R可翻转自己的招牌,因为这不影响表达式的值甲= Q * R

上三角因子,返回的矩阵满足甲= Q * R

置换信息,返回作为基质或载体。的形状P取决于价值outputForm。同时,QR选择P为了满足不同的条件取决于所述第一输入矩阵是否充满或稀疏:

  • 完整的,QR选择P以便ABS(DIAG(R))为减少。

  • 稀疏,QR选择P减少填充物R

线性系统因子,返回作为基质,其满足C =问' * B。的最小二乘解S * X = BX = R \ C。如果置换输出P是指定的,则该解决方案是要么X = P *(R \ C)要么X(P,:) = R \ C取决于的值outputForm:

  • 如果outputForm'向量',则最小二乘解来S * X = BX(P,:) = R \ C

  • 默认值outputForm'矩阵'使得最小二乘解来S * X = BX = P *(R \ C)

提示

  • 为了解决涉及相同系数矩阵,使用多个线性系统分解对象。

  • 对于语法[C R] = qr(年代,B)的价值X = R \ C是一个最小二乘解来S * X = B只有当年代没有低等级。

扩展功能

R2006a前推出