矩阵的条件数:矩阵A的条件数等于A的范数与A的逆矩阵的范数的乘积。条件数越接近1,矩阵性能越好,反之,矩阵的性能越差。
在MATLAB中,计算矩阵A的3种条件数的函数是:
cond(a,1):计算a的1—范数下的条件数。
cond(a)或cond(a,2):计算a的2—范数下的条件数。
cond(a,inf):计算A的∞–范数下的条件数。
例3:求2~10阶希尔伯特矩阵的条件数。
解答:
>> for n=2:10
c(n)=cond(hilb(n));
end
>> format long
>> c’
ans =
1.0e+13 *
0
0.000000000001928
0.000000000052406
0.000000001551374
0.000000047660725
0.000001495105864
0.000047536735691
0.001525757556663
0.049315340455101
1.602502816811318
矩阵的特征值与特征向量:
矩阵特征值的定义:设A是n阶方阵,如果存在常数λ和n维非零列向量x,使得等式Ax=λx成立,则称x是对应特征值λ的特征向量。
函数调用格式有两种:
E=eig(A):求矩阵A的全部特征值,构造向量E。
[X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量。
例:
>> A=[1 1 0;1 0 5;1 10 2]
[X,D]=eig(A)
A =
1 1 0
1 0 5
1 10 2
X =
0.0722 0.9751 0.0886
0.5234 -0.0750 -0.6356
0.8490 -0.2089 0.7669
D =
8.2493 0 0
0 0.9231 0
0 0 -6.1723