cond
逆运算的条件数
说明
示例
矩阵的条件数
计算矩阵的条件数并检查逆运算的敏感度。
创建一个 2×2 矩阵。
A = [4.1 2.8; 9.7 6.6];
计算 A
的 2-范数条件数。
C = cond(A)
C = 1.6230e+03
由于 A
的条件数远大于 1,因此矩阵对逆运算非常敏感。计算 A
的逆矩阵,对 A
的第二行进行小小的改动,然后再次进行逆运算。
invA = inv(A)
invA = 2×2
-66.0000 28.0000
97.0000 -41.0000
A2 = [4.1 2.8; 9.671 6.608]
A2 = 2×2
4.1000 2.8000
9.6710 6.6080
invA2 = inv(A2)
invA2 = 2×2
472.0000 -200.0000
-690.7857 292.8571
结果表明,对 A
进行的小小改动可能完全改变逆运算的结果。
1-范数条件数
计算矩阵的 1-范数条件数。
创建一个 3×3 矩阵。
A = [1 0 -2; 3 4 6; -1 5 7];
计算 A
的 1-范数条件数。m×n 矩阵的 1-范数条件数的值为
,
其中 1-范数是矩阵的最大绝对列之和,由以下公式计算得出:
C = cond(A,1)
C = 18.0000
对于此矩阵,条件数不是太大,因此矩阵对逆运算不是特别敏感。
输入参数
输出参数
C
— 条件数
标量
条件数,以标量形式返回。接近 1 的 C
值表示良态矩阵,大的 C
值表示病态矩阵。奇异矩阵的条件数为 Inf
。
按照惯例,空矩阵的条件数为零。
详细信息
逆运算的条件数
矩阵和计算任务的条件数用于衡量解算过程中答案对输入数据变化和舍入误差的敏感程度。
矩阵的逆运算的条件数用于测量线性方程组的解对数据错误的敏感程度。它指示矩阵求逆结果和线性方程解的精度。例如,一个方阵的 2-范数条件数是
在这种情况下,大的条件数表示系数矩阵 A
中的微小变化会导致线性方程 Ax = b 和 xA = b 的输出 b
发生较大变化。极端情况是 A
因过于病态而成为奇异矩阵(无限条件数),此时它没有逆矩阵,而线性方程没有唯一解。
提示
与
cond
相比,rcond
作为估计矩阵条件的方法更高效,但不够稳定。
算法
cond
的算法分为三部分:
如果
p = 2
,则cond
使用由svd
提供的奇异值分解来计算最大奇异值和最小奇异值之比。如果
p = 1
、Inf
或'fro'
,则cond
使用输入矩阵及其逆矩阵的适当范数通过norm(A,p) * norm(inv(A),p)
计算条件数。如果输入矩阵是稀疏矩阵,
cond
将忽略任何指定的p
值并调用condest
。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
cond
不支持稀疏矩阵。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
用法说明和限制:
cond
不支持稀疏矩阵。
有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出R2021b: cond
在输入为非有限时返回 NaN
当输入包含非有限值(Inf
或 NaN
)时,cond
返回 NaN
。以前,cond
在输入包含非有限值时会引发错误。
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)