当前位置:文档之家› 矩阵特征值实验报告

矩阵特征值实验报告

矩阵特征值实验报告
矩阵特征值实验报告

一、课题名称

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

y=y/max(abs(y));

y=a*x;

m=max(abs(y));

x=y/m;

k=k+1;

if abs(y-m)

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的按模最小的特征值λ

求矩阵特征值算法及程序

求矩阵特征值算法及程序简介 1.幂法 1、幂法规范化算法 (1)输入矩阵A、初始向量( 0),误差eps; (2) k 1; (3)计算V(k)A(k 1); (4)m k max(V(k)) ,m k1max( V ( k 1)); (5) (k)V(k)/m k; (6)如果m k m k 1eps,则显示特征值1和对应的特征向量x(1) ),终止; (7)k k 1, 转(3) 注:如上算法中的符号max(V )表示取向量V 中绝对值最大的分量。本算法使用了数据规范化处理技术以防止计算过程中出现益出错误。 2、规范化幂法程序 Clear[a,u,x]; a=Input[" 系数矩阵A="]; u=Input[" 初始迭代向量u(0)="]; n=Length[u]; eps=Input[" 误差精度eps ="]; nmax=Input[" 迭代允许最大次数nmax="]; fmax[x_]:=Module[{m=0,m1,m2}, Do[m1=Abs[x[[k]]]; If[m1>m,m2=x[[k]];m=m1], {k,1,Length[x]}]; m2] v=a.u; m0=fmax[u]; m1=fmax[v]; t=Abs[m1-m0]//N; k=0; While[t>eps&&k

文本预览
相关文档 最新文档