当前位置:文档之家› matlab求矩阵特征值特征向量 乘幂法

matlab求矩阵特征值特征向量 乘幂法

摘 要
根据现代控制理论课程的特点, 提出并利用MATLAB 设计了现代控制理论课程的实验, 给出了设计的每个实验的主要内容及使用到的MATLAB 函数, 并对其中的一个实验作了详细说明。

通过这些实验, 将有助于学生理解理论知识, 学习利用MATLAB 解决现代控制理论问题。

关键词:现代控制理论、MATLAB 、仿真。

1设计目的、内容及要求
1.1设计目的
本课程设计以自动控制理论、现代控制理论、MATLAB 及应用等知识为基础,求连续系统对应的离散化的系统,并用计算系数阵按模最大的特征根法判别离散系统的稳定性,目的是使学生在现有的控制理论的基础上,学会用MATLAB 语言编写控制系统设计与分析的程序,通过上机实习加深对课堂所学知识的理解,掌握一种能方便地对系统进行离散化的实现和分析系统的稳定性的设计的工具。

1.2设计内容及要求
1 在理论上对连续系统离散化推导出算法和计算公式
2 画出计算机实现算法的框图
3 编写程序并调试和运行
4 以下面的系统为例,进行计算
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=041020122A ,⎥⎥
⎥⎦

⎢⎢⎢⎣⎡=100B ,[]111-=c 5 分析运算结果
6 幂法迭代精度为ep=0.001,离散系统展开项数为20
7 程序应具有一定的通用性,对不同参数能有兼容性。

2算法选择及推导
2.1连续系统离散化算法
书P67离散化意义
已知被控对象的状态方程为:
()()()()()()t t u t y t t u t =+=+ x
Ax B Cx D
对方程求解,得:
0()()0()()()o
t
t t t t t e t e u d τττ
--=+⎰A A x x B
设0t kT =,(1)t k T =+,代入上式,得:
H 公式
若省略T 则为{

+-++Φ=+T
k kT
d kT Bu T k kt x T T k x )1()(])1[()()(])1([(τ
τφ不改变与离散后时刻,即得连续离散化方程则:相当于)+=(上限相当于下限设令D C kT Du kT Cx kT y kT t kT u T H kT x T G T k x Bdt t Bdt e T H t T k T t kT d dt T k t Bd e T H e T T G T
T
AT T k kT T k A AT )()()()()()()(])1([(:
)()(0
,1,,)1()()()(0
)1(])1[(+==+=+Φ=====-=-+=⋅==Φ=⎰⎰⎰+-+τττττ
τ
2.2判别离散系统的稳定性
2.2.1方法选择
这里选用乘幂法,即求矩阵A 按模最大的特征值和相应的特征向量的方法判别离散系统的稳定性。

因为乘幂法是用于求大型稀疏矩阵的主特征值的迭代方法,其具有公式简单,易于在计算机上实现等特点。

2.2.2乘幂法算法
设矩阵A 的n 个特征值为
其相应的特征向量为x1,x 2,…x n ,且它们线性无关
对非零向量v ,用max(v )表示v 的按绝对值最大的分量,称向量u =v /max(v )为向量v 的规范化向量,规范化向量u 总满足‖u ‖∞=1.
乘幂法的规范化计算公式为: 任取初始向量u (0)=v (0)≠ 0,计算 可得
⎪⎩
⎪⎨⎧=÷=
,3,2,1,)()(k k k k μ
v u )1()(-=k k Au v )max()(k k
v =μ我们要求λ1 和 x 1,乘幂法的基本思想是取初始向量v (0)∈R n ,作迭代 v (k+1) =Av (k) =A k+1v (0) , k=0,1,2,… 产生迭代序列{v (k)}. 由于x 1,x 2,…x n 线性无关, 从而有
v (0) =a 1x 1+a 2x 2+…+a n x n
故有
v (k) = A k v (0) =a 1λ1k x 1+a 2λ2k x 2+…+a n λn k x n
))(max()(2
112111
1
∑∑==++=
n
i i k
i n
i i
k
i i i a a a a x x x x λλλλ
所以
其收敛速度由比值|λ2/λ1|来确定. 又由于
所以
2.2.3通过特征根判断稳定性
若按模最大的特征根绝对值大于1,则系统不稳定。

)
max()0()0()
(v A v
A u k k k =
)
max(lim 11
)(x x u =

→k k )max()(k k v =μ])(max[])(max[21112
111
1
1∑∑=-=++=n i i k i n
i i k
i i i a a a a x x x x λλλλλ1
lim λμ=∞
→k k 因此,当k 充分大时可取: λ1 ≈ μk , x 1 ≈ u
(k)
.
3程序框图
4 matlab程序
5.运行结果6心得体会参考文献。

相关主题