当前位置:文档之家› 矩阵分析实验报告

矩阵分析实验报告









学院:电气学院
专业:控制工程
姓名:XXXXXXXX
学号:211208010001
矩阵分析实验报告
实验题目
利用幂法求矩阵的谱半径
实验目的与要求
1、 熟悉matlab 矩阵实验室的功能和作用;
2、 利用幂法求矩阵的谱半径;
3、 会用matlab 对矩阵分析运算。

实验原理
理念
谱半径定义:设n n
A C
⨯∈,1λ,2λ,3λ, ,j λ, n λ是A 的n 个特征值,称
()max ||j j
A ρλ=
为关于A 的谱半径。

关于矩阵的谱半径有如下结论:
设n n
A C
⨯∈,则
(1)[]()()k
k
A A ρρ=;
(2)2
2()()()H H A A AA A ρρ==。

由于谱半径就是矩阵的主特征值,所以实验换为求矩阵的主特征值。

算法介绍
定义:如果1λ是矩阵A 的特征值,并且其绝对值比A 的任何其他特征值的绝对值大,则称它为主特征值。

相应于主特征值的特征向量1V 称为主特征向量。

定义:如果特征向量中最大值的绝对值等于单位值(例如最大绝对值为1),则称其为是归一化的。

通过形成新的向量'
12=c n V (1/)[v v v ],其中c=v 且1max {},j i n i ≤≤=v v 可将特
征向量 '12n [v v v ]进行归一化。

设矩阵A 有一主特征值λ,而且对应于λ有唯一的归一化特征向量V 。

通过下面这个称为幂法(power method )的迭代过程可求出特征对λ,V ,从下列向量开始:
[]'
0=111X (1)
用下面递归公式递归地生成序列{}k X :
k k Y AX =
k+11
1
k k X Y c +=
(2)
其中1k c +是k Y 绝对值最大的分量。

序列{}k X 和{}k c 将分别收敛到V 和λ:
1lim k X V =和lim k c λ= (3)
注:如果0X 是一个特征向量且0X V ≠,则必须选择其他的初始向量。

幂法定理:设n ×n 矩阵A 有n 个不同的特征值λ1,λ2,···,,λn ,而且它们按绝对
值大小排列,即:
123n λλλλ≥≥≥⋅⋅⋅≥ (4)
如果选择适当的X 0,则通过下列递推公式可生成序列{[()
()(
)
]}12k k
k k n X x x x '=⋅⋅⋅和
{}k c : k k Y AX = (5)
和:
11
1k k k X Y c ++=
(6)
其中: ()
1k k j c x +=且{}
()()1max k k j i i n
x x ≤≤=
(7)
这两个序列分别收敛到特征向量V 1和特征值λ1。

即:
1lim k k X V →∞
=和1lim k k c λ→∞
= (8)
算法收敛性证明
证明:由于A 有n 个特征值,所以有对应的特征向量V j ,j=1,2,···n 。

而且它们是
线性无关且归一化的,可形成一个n 维空间的基。

因此初始向量X 0可表示为它们的一个线性组合:
01122n n X bV b V b V =++⋅⋅⋅+ (9)
设[]012n X x x x =⋅⋅⋅,且10b ≠,而且X 0的分量满足{}
1max 1j n j x ≤≤=。

因为{}
1
n j j V =是
A 的特征向量,归一化乘积AX 0可得到:
()001122n n Y AX A bV b V b V ==++⋅⋅⋅+ 1122n n b AV b AV b AV =++⋅⋅⋅+
111222n n n b V b V b V λλλ=++⋅⋅⋅+ (10)
2
1112211
((
)...())n n n bV b V b V λλλλλ=+++ 和:
1
2
111221
11
((
)...())n n n X bV b V b V c λλλλλ=
+++ 经过k 个迭代后,可得到:
11k k Y AX --= 1
1
1121122121
11
((
)...())...k k k n n n k A
bV b V b V c c c λλλλλ----=+++ 1
1
1121122121
11
((
)...())...k k k n n n k b AV b AV b AV c c c λλλλλ----=
+++ (11) 1
1
112111222121
11
((
)...())...k k k n n n n k b V b V b V c c c λλλλλλλλ----=
+++ 12112212111(()...())...k k
k n n
n
k bV b V b V c c c λλλλλ-=+++ 和:
1
11211221211
((
)...())...k
k k n k n n k
X bV b V b V c c c λλλλλ--=
+++ 由于设1/1,2,3,...,,j j n λλ<=可得到:
1
lim (
)0,2,3,...,j k
j j k b V j n λλ→∞
== (12)
因此可进一步得到:
11112lim lim ...k
k k k k
b X V
c c c λ→∞→∞=
(13)
由于要求k X 和1V 是归一化的,而且最大分量为1. 因此式(13)左边的向量极限将归一化,使得其最大分量为1. 这样式(13)右边1V 的标量乘数存在极限,且为1,即:
11112lim 1...k k k
b V
c c c λ→∞= (14)
因此向量序列{}k X 收敛到主特征值:
lim k c λ=
(15)
在式(14)中按顺序用k-1替换k ,可得:
1111121
lim 1...k k k b V c c c λ-→∞-= 在式(14)两边除以上面的结果可得到:
11121
1111121/()lim lim 1/(...)
k k k k k k k b c c c V c b c c c λλλ-→∞→∞-== 因此常数序列{}k C 收敛到主特征值:
1lim k k C λ→∞
=
(16)
证毕。

实例分析
求下面矩阵的主特征值与特征向量
1
21361243A -⎡⎤⎢⎥=-⎢⎥
⎢⎥--⎣⎦
Matlab 程序
A=[1 2 -1 ;3 6 -1 ;-2 -4 2];
X=[1 1 1 ]';
epsilon=0.000001; max1=100;
lambda=0;
cnt=0;
err=1;
state=1;
while((cnt<=max1)&(state==1))
Y=A*X;
[m j]=max(abs(Y));
c1=m;
dc=abs(lambda-c1);
Y=(1/c1)*Y;
dv=norm(X-Y);
err=max(dc,dv);
X=Y;
lambda=c1;
state=0;
if(err>epsilon)
state=1;
end
cnt=cnt+1;
end
V=X
W=lambda
plot(err)
实验结果
V = 0.4000
1.0000
-0.8000
W =8.0000
W=8.0000即为矩阵
121
361
243
A
-
⎡⎤
⎢⎥
=-
⎢⎥
⎢⎥
--
⎣⎦
的谱半径。

结果分析与体会
通过本次实验。

相关主题