rcond
条件数倒数
说明
示例
条件设置错误的矩阵的敏感度
检查条件设置错误的矩阵的敏感度。
条件设置错误的典型对称正定矩阵是希尔伯特矩阵。希尔伯特矩阵的元素数是 。
创建一个 10×10 希尔伯特矩阵。
A = hilb(10);
求解该矩阵的条件数倒数。
C = rcond(A)
C = 2.8286e-14
条件数倒数很小,因此 A
的条件设置错误。
A
的条件对类似线性系统的解有影响。要了解这一点,请将 的解与扰动方程组 的解进行比较。
创建一个由 1 组成的列向量并求解 。
b = ones(10,1); x = A\b;
现在将 改变 0.01
并求解扰动方程组。
b1 = b + 0.01; x1 = A\b1;
比较这两个解 x
和 x1
。
norm(x-x1)
ans = 1.1250e+05
因为 A
的条件设置错误,所以 b
的细微变化会使 x = A\b
的解出现较大变化(1e5 的量级)。该方程组对扰动敏感。
求解单位矩阵的条件
了解为何条件数倒数是一个比行列式更精确的奇异性测度。
创建一个 5×5 单位矩阵的倍数。
A = eye(5)*0.01;
该矩阵是满秩的且具有五个相等奇异值,可通过计算 svd(A)
来确认这一点。
计算 A
的行列式。
det(A)
ans = 1.0000e-10
尽管该矩阵的行列式接近零,但实际上 A
的条件设置非常良好且不接近奇异矩阵。
计算 A
的条件数倒数。
rcond(A)
ans = 1
该矩阵的条件数倒数为 1
,因此条件设置非常良好。使用 rcond(A)
或 cond(A)
而非 det(A)
确认矩阵的奇异性。
输入参数
A
— 输入矩阵
数值方阵
输入矩阵,指定为数值方阵。
数据类型: single
| double
输出参数
C
— 条件数倒数
标量
条件数倒数,以标量形式返回。C
与 A
具有相同的数据类型。
条件数倒数是一个标度不变的测度,用于衡量给定矩阵与奇异矩阵集的接近程度。
如果
C
接近 0,则该矩阵接近奇异且条件设置错误。如果
C
接近 1.0,则该矩阵的条件设置良好。
提示
与
cond
相比,rcond
作为估计矩阵条件的方法更高效,但不够稳定。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
代码生成不支持对此函数使用稀疏矩阵输入。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
用法说明和限制:
代码生成不支持对此函数使用稀疏矩阵输入。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
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:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)