一、课题名称
Malab矩阵特征值
二、目的和意义
1、求矩阵的部分特征值问题具有重要实际意义,如求矩阵谱半径()Aρ=maxλ,稳定性问题往往归于求矩阵按模最小特征值;
2、进一步掌握冪法、反冪法及原点平移加速法的程序设计技巧;
3、问题中的题(5),反应了利用原点平移的反冪法可求矩阵的任何特征值及其特征向量。
三、实验要求
1、掌握冪法或反冪法求矩阵部分特征值的算法与程序设计;
2、会用原点平移法改进算法,加速收敛;对矩阵B=A-PI取不同的P值,试求其效果;
3、试取不同的初始向量,观察对结果的影响;()0υ
4、对矩阵特征值的其它分布,如如何计算。
四、问题描述
五、实验程序设计
幂法
function [lamdba,v]=power_menthod(a,x,epsilon,maxl)
k=0;
y=a*x;
while(k<maxl)
y=y/max(abs(y));
y=a*x;
m=max(abs(y));
x=y/m;
k=k+1;
if abs(y-m)<epsilon
break;
end
end
lambda=m
v=x
方程组1结果
>> a=[-1 2 1;2 -4 1;1 1 -6];
>> x=[1 1 1]';
>> epsilon=0.00005;
>> maxl=20;
>> power_menthod(a,x,epsilon,maxl)
lambda =
6.4183
v =
-0.0484
-0.3706
1.0000
方程组2结果
>> a=[4 -2 7 3 -1 8;-2 5 1 1 4 7;7 1 7 2 3 5;3 1 2 6 5 1;-1 4 3 5 3 2;8 7 5 1 2 4]; >> x=[1 0 1 0 0 1]';
>> epsilon=0.00005;
>> maxl=20;
>> power_menthod(a,x,epsilon,maxl)
lambda =
21.3053
v =
0.8724
0.5401
0.9974
0.5644
0.4972
1.0000
反幂法
function [lambda,v]=INV_shift(a,x,epsilon,max1)
for i=1:max1
y=x/max(abs(x))
x=a\y
end
v=y;
lambda=1/max(abs(x));
function [lambda,v]=INV_shift1(a,x,epsilon,max1)
for i=1:max1
y=x/max(abs(x));
x=lu1(a,y,3)
end
v=y;
lambda=1/max(abs(x));
方程组1结果
>> a=[-1 2 1;2 -4 1;1 1 -6];
>> x=[1 1 1]';
>> epsilon=0.00005;
>> max1=20;
>> [lambda,v]=INV_shift(a,x,epsilon,max1)
lambda =
0.2880
v =
1.0000
0.5229
0.2422
方程组2结果
>> a=[4 -2 7 3 -1 8;-2 5 1 1 4 7;7 1 7 2 3 5;3 1 2 6 5 1;-1 4 3 5 3 2;8 7 5 1 2 4]; >> x=[1 0 1 0 0 1]';
>> epsilon=0.00005;
>> max1=20;
>> [lambda,v]=INV_shift(a,x,epsilon,max1
lambda =
1.6214
v =
-0.4824
-0.0702
1.0000
-0.6005
0.5211
-0.4588
六、实验结果分析
1.幂法
幂法是一种计算矩阵主特征值(矩阵按模最大的特征值)及对应特征向量的迭代方法, 特别是用于大型稀疏矩阵。
设实矩阵A=[a ij]n×n有一个完全的特征向量组,其特征值为λ1,λ2,…,λn,相应的特征向量为x1 ,x2,…,x n.已知A的主特征值是实根,且满足条件
|λ1|>|λ2|≥|λ3|≥…≥|λn |, (2.1)
幂法的基本思想是任取一个非零的初始向量ν0,由矩阵A构造一向量序列
称为迭代向量。
2.ν0=α1 x1+α2 x2+ … +αn x n(α≠0 ), (2.3)
于是
其中
(2.4)
由假设
从而
这说明序列νk/λ1k越来越接近A的对应于λ1的特征向量, 或者说当k充分大时
故
即两相邻迭代向量分量的比值收敛到主特征值。
2、反幂法
反幂法用来计算矩阵按模最小的特征值及其特征向量,也可用来计算对应与一个给定近似特征值的特征向量。
设A∈R n×n为非奇异矩阵,A的特征值依次记为
|λ1|≥|λ2|≥|λ3|≥…≥|λn |,
相应的特征向量为x1 ,x2,…,x n , 则A-1的特征值为
|1/λn|≥|1/λn-1|≥…≥|1/λ1 | ,
相应的特征向量为x n,x n-1,…,x1 . 所以计算A的按模最小的特征值λn的问题就是计算A-1的按模最大的特征值问题。
对于A-1应用幂法迭代(称为反幂法),可求得矩阵A-1的主特征值1/λn,从而求得A的按模最小的特征值λ。