矩阵条件数的定义、理解以及matlab代码

  • Post author:
  • Post category:其他




1.矩阵条件数的定义




cond

(

A

)

=

A

A

1

\operatorname{cond}(A)=\|A\| \bullet\left\|A^{-1}\right\|







cond



(


A


)




=











A






























































A














1


























































,

其中



\|\cdot\|


























代表的是矩阵范数,那么什么是矩阵范数呢



1.1 矩阵范数的定义

矩阵范数需要满足以下三点要求


a

.正定性 ||A||≥0,only when A为0矩阵,||A|| = 0


b

.齐次性

||aA||=|a| ||A||;


c

.三角不等式

||A+B||<= ||A|| + ||B||

如果除了满足上面三点要求外,还满足第四点要求,则称为服从乘法范数(sub-multiplicative norm)


d

.相容性

AB||<=||A|| ||B||.



1.2 矩阵范数举例

这里举矩阵二范数的例子:

矩阵A的2范数就是 A的转置乘以A矩阵的结果的特征根最大值的开根号;

下面是matlab代码求证

a=[ 1 3 4;2 5 6;7 9 8];
[x,y] = eig(a'*a); % a' 为矩阵a的转置,x为a'*a的特征向量,y的对角为向量的各个特征值
ans1 = sqrt(max(diag(y))) % 求a'*a的最大特征根的开跟
ans2 = norm(a,2) % 直接使用matlab内置的函数去求矩阵a的二范数

在这里插入图片描述



2 矩阵条件数的意义

条件数可以判断线性方程AX=b时,b的变化对解X的影响。如果b微小变化或者不变化,但是X却变化很大。条件数小,则该线性问题是良态的;如果条件数很大则说明该问题是病态的。



3.矩阵条件数matlab代码

在这里插入图片描述

a=[ 1 3 4;2 5 6;7 9 8];
ans1 = cond(a)
ans2 = norm(a)*norm(inv(a))

在这里插入图片描述

总结:

以上是对条件数和矩阵范数的一些理解和代码验证~



版权声明:本文为hm__2016原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。