Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

orth

适用于矩阵范围的标准正交基

说明

示例

Q = orth(A) 返回适用于 A范围的一个标准正交基。Q 的各列为向量,涵盖了 A 的范围。Q 中列的数量等于 A

示例

全部折叠

计算并验证适用于满秩矩阵范围的标准正交基向量。

定义一个矩阵并计算它的秩。

A = [1 0 1;-1 -2 0; 0 1 -1];
r = rank(A)
r = 3

由于 A 是一个满秩方阵,orth(A) 计算出的标准正交基与奇异值分解 [U,S] = svd(A,'econ') 中计算出的矩阵 U 一致。这是因为 A 的奇异值均不为零。

使用 orth 计算适用于 A 的范围的标准正交基。

Q = orth(A)
Q = 3×3

   -0.1200   -0.8097    0.5744
    0.9018    0.1531    0.4042
   -0.4153    0.5665    0.7118

Q 中的列数等于 rank(A)。由于 A 为满秩矩阵,QA 具有相同的大小。

在合理误差界限内验证基向量 Q 是正交、归一化向量。

E = norm(eye(r)-Q'*Q,'fro')
E = 9.2306e-16

误差与 eps 的量级相当。

计算并验证适用于秩亏矩阵范围的标准正交基向量。

定义一个奇异矩阵并计算它的秩。

A = [1 0 1; 0 1 0; 1 0 1];
r = rank(A)
r = 2

由于 A 是一个秩亏矩阵,orth(A) 计算出的标准正交基仅与奇异值分解 [U,S] = svd(A,'econ') 中计算出的矩阵 U 的前 r = 2 列一致。这是因为 A 的奇异值并非全部非零。

使用 orth 计算适用于 A 的范围的标准正交基。

Q = orth(A)
Q = 3×2

   -0.7071   -0.0000
         0    1.0000
   -0.7071    0.0000

由于 A 为秩亏矩阵,Q 包含的列比 A 少一个。

输入参数

全部折叠

输入矩阵。

数据类型: single | double
复数支持:

详细信息

全部折叠

范围

矩阵 A 的列空间,或 范围,是 A 中各列的所有线性组合的集合。作为线性方程 A*x = b 的解,任何向量 b 均包含在 A 的范围内,因为您还可以将它写作 A 中各列的线性组合。

矩阵的 rank 等于矩阵范围的维度。

算法

根据奇异值分解 [U,S] = svd(A,'econ') 中的 U 获得 orth。如果 r = rank(A),则 U 的前 r 列构成一个适用于 A 的范围的标准正交基。

扩展功能

另请参阅

| |

在 R2006a 之前推出