文档帮助中心
本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。
条件数倒数
C = rcond(A)
示例
C = rcond(A) 返回 A 的 1-范数条件数倒数估计值。如果 A 的条件设置良好,rcond(A) 接近 1.0。如果 A 的条件设置错误,rcond(A) 接近 0。
C
A
rcond(A)
全部折叠
检查条件设置错误的矩阵的敏感度。
条件设置错误的典型对称正定矩阵是 Hilbert 矩阵。Hilbert 矩阵的元素数是 H(i,j)=1/(i+j-1)。
创建一个 10×10 Hilbert 矩阵。
A = hilb(10);
求解该矩阵的条件数倒数。
C = 2.8286e-14
条件数倒数很小,因此 A 的条件设置错误。
A 的条件对类似线性方程组的解有影响。要了解这一点,请将 Ax=b 的解与扰动方程组 Ax=b+0.01 的解进行比较。
创建一个由 1 组成的列向量并求解 Ax=b。
b = ones(10,1); x = A\b;
现在将 b 改变 0.01 并求解扰动方程组。
0.01
b1 = b + 0.01; x1 = A\b1;
比较这两个解 x 和 x1。
x
x1
norm(x-x1)
ans = 1.1250e+05
因为 A 的条件设置错误,所以 b 的细微变化会使 x = A\b 的解出现较大变化(1e5 的量级)。该方程组对扰动敏感。
b
x = A\b
了解为何条件数倒数是一个比行列式更精确的奇异性度量。
创建一个 5×5 单位矩阵的倍数。
A = eye(5)*0.01;
该矩阵是满秩的且具有五个相等奇异值,可通过计算 svd(A) 来确认这一点。
svd(A)
计算 A 的行列式。
det(A)
ans = 1.0000e-10
尽管该矩阵的行列式接近零,但实际上 A 的条件设置非常良好且不接近奇异矩阵。
计算 A 的条件数倒数。
ans = 1
该矩阵的条件数倒数为 1,因此条件设置非常良好。使用 rcond(A) 或 cond(A) 而非 det(A) 确认矩阵的奇异性。
1
cond(A)
输入矩阵,指定为数值方阵。
数据类型: single | double
single
double
条件数倒数,以标量形式返回。C 与 A 具有相同的数据类型。
条件数倒数是一个标度不变的度量,用于衡量给定矩阵与奇异矩阵集的接近程度。
如果 C 接近 0,则该矩阵接近奇异且条件设置错误。
如果 C 接近 1.0,则该矩阵的条件设置良好。
与条件数 cond 相比,rcond 作为估计矩阵条件的方法更有效,但不太稳定。
cond
rcond
用法说明和限制:
代码生成不支持对此函数使用稀疏矩阵输入。
cond | condest | norm | normest | rank | svd
condest
norm
normest
rank
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