文档帮助中心
本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。
矩阵的秩
k = rank(A)
k = rank(A,tol)
示例
k = rank(A) 返回矩阵 A 的秩。
A
使用 sprank 确定稀疏矩阵的结构秩。
sprank
k = rank(A,tol) 指定在秩计算中使用另一个容差。秩计算为 A 中大于 tol 的奇异值的个数。
tol
全部折叠
确定矩阵是否满秩。
创建一个 3×3 矩阵。第三列中的值是第二列中的值的两倍。
A = [3 2 4; -1 1 2; 9 5 10]
A = 3×3 3 2 4 -1 1 2 9 5 10
计算矩阵的秩。如果矩阵满秩,则秩等于列数,size(A,2)。
size(A,2)
rank(A)
ans = 2
ans = 3
由于列是线性相关的,因此该矩阵秩亏。
使用容差计算矩阵的秩。
创建一个 4×4 对角矩阵。对角线上有一个等于 1e-15 的小值。
1e-15
A = [10 0 0 0; 0 25 0 0; 0 0 34 0; 0 0 0 1e-15]
A = 4×4 10.0000 0 0 0 0 25.0000 0 0 0 0 34.0000 0 0 0 0 0.0000
计算矩阵的秩。
由于默认算法计算大于 max(size(A))*eps(norm(A)) 的奇异值的个数,因此该矩阵不被视为满秩。对于此矩阵,对角线上的小值被排除,因为它小于容差。
max(size(A))*eps(norm(A))
再次计算矩阵的秩,但指定容差 1e-16。
1e-16
rank(A,1e-16)
ans = 4
输入矩阵。
数据类型: single | double 复数支持: 是
single
double
容差,指定为标量。有关详细信息,请参阅算法部分。
示例: rank(A,1e-5)
rank(A,1e-5)
矩阵中线性无关列的个数是矩阵的秩。一个矩阵的行秩和列秩始终相等。
如果一个矩阵的秩是具有相同大小的矩阵能达到的最高秩,则该矩阵为满秩;如果矩阵不具有满秩,则该矩阵为秩亏。秩用于度量矩阵的范围或列空间的维度,它是所有列的线性组合的集合。
rank 使用基于奇异值分解 (SVD) 的方法。SVD 算法相比其他一些方法耗时更多,但它也是最可靠的。
rank
矩阵 A 的秩计算为大于容差的奇异值的个数。默认情况下,容差为 max(size(A))*eps(norm(A))。但是,您可以使用命令 rank(A,tol) 指定另一个容差。
rank(A,tol)
用法说明和限制:
代码生成不支持对此函数使用稀疏矩阵输入。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
null | orth | sprank | svd
null
orth
svd
您的系统上存在此示例的修改版本。是否要打开此版本?
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office