第10章MATLAB特征值与特征向量的计算实例解析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 解:20这00 里分别用eig()函数和eigs()求解,具eig体s函的数程求 解序结代果码如下: • load15w00est0479 % 读取MATLAB中的自带稀eig函疏数矩求阵解 结we果st0479 • d = eig(full(west0479)); % 将稀疏矩阵转化为一般矩阵求解其所有特征值
征向量。
• 解:编写如下语句: • A=[2,4,6;3,9,15;4,16,36]; % 给定的方阵 • x0=ones(3,1); % 迭代初值 • [lambda_max,x_max]=eig_power(A,x0) % 利用幂法求取最大特征值与特征向量 • [Lambda_maxs,x_maxs]=eig_powershift(A,x0,1.5) % 原点位移法求最大特征值与特征向量 • % 利用反幂法求解最小特征值及其对应的特征向量 • [Lambda_min1,x_min1]=eig_invpower(A,x0)
• 解:设 an ,bn , cn 分别表示第代植物中基因型为AA,Aa和aa的植物占植 物总数的百分率,x(n为) 第n代植物的基因型分布:
•则
x(n) [an , bn , cn ]T
1 an 1 an1 2 bn1 0 cn1
bn
1 2 bn1
cn1
cn 0
将以上三式写成矩阵形式有 x(n) Mx(n1) , n 1, 2,L
M_n=P*D^n*P^(-1); % M_n=P*D*P^(-1)*P*D*P^(-1)*...*P*D*P^(-1)=P*D^n*P^(-1) M_nlimit=limit(M_n,n,inf); % 求极限 x_n=simple(M_n*[a0;b0;1-a0-b0]) % 化简 x_nlimit=M_nlimit*[a0;b0;1-a0-b0] % 求解最终状态
运行结果: x_nlimit = 1 0 0
即当n 时, an 1,bn 0, cn 0
培育的植物最终都是AA型的。
• 拓展:若在上述问题中,不选用基因AA型的植物与每一植物结合,而
是将具有相同基因型植物相结合,那么有
1 1/ 4 0
M
=
0
1/ 2
0
0 1/ 4 1
• 将矩阵M重新代入前面的程序中得到结果。
V= -0.1674 -0.8047 -0.5581 -0.4016 0.5701 -0.7197 -0.9004 -0.1658 0.4130
【例10-10】计算下图中谐振动的频率。
该系统平衡位置的数学模型:
k1 k2
k2
0
0
k2 k2 k3
k3 0
0 k3 k3 k4 k4
0 x1(t) m1&x&1(t)
• [Lambda_min2,x_min2]=eig_lupower(A,x0) • D=QR_basic(A) % 利用qr分解求矩阵A的全部特征值 • [V,D] = eig(A) % 利用MATLAB自带函数eig求矩阵A的全部特征值及其对应的特征向量
幂法
原点位移法
反幂法
lambda_max = 43.8800
运行结果: x_nlimit =
即当n 时,
an
a0
1 2
b0 , bn
0, cn
c0
1 2
b0
a0 + b0/2
0
后代仅具有基因AA和aa。
b0/2 + c0
二、常染色体隐性病模型
1
M
=
0
1/ 2 1/ 2
最终隐性患者消失, 全部均为显性患者。
三、X—链遗传模型
X—链遗传是指雄性具有一个基因A或a,雌性具有两个基因AA或Aa或aa。其遗 传规律是雄性后代以相等概率得到母体两个基因中的一个,雌性后代从父体中 得到一个基因,并从母体的两个基因中等可能地得到一个。
2 4 6
【例10-1】给定矩阵
A
3
9
15 ,
4 16 36
• ①利用幂法求矩阵A按模最大的特征值及对应特征向量; • ②利用原点位移法求矩阵A按模最大的特征值及对应特征向量; • ③利用反幂法求矩阵A按模最小的特征值及对应特征向量; • ④利用QR方法求矩阵A的全部特征值; • ⑤利用MATLAB提供的eig()函数求矩阵A的全部特征值及其对应的特
% 绘制由eig函数求得的前8个特
征值-5图00 形
• hold off % 图形取消
• lege-1n00d0('eigs函数求解结果','eig函数求解结果') % 添加图例
-1500
-2000
-150
-100
-50
0
50
100
150
实验范例:遗传模型
一、常染色体遗传模型
• 【例10-12】农场的植物园中某种植物的基因型为AA,Aa和aa。农场计 划采用AA型的植物与每种基因型植物相结合的方案培育植物后代。那 么经过若干年后,这种植物的任一代的三种基因型分布如何?
3.0000 0.6667 0.3333 0.6667 0.6667
0 1.8856 1.4731 1.3553 1.3553
0
0 2.1723 0.3596 0.8200
0
0
0 1.6092 0.8848
0
0
0
0 1.1240
k1 k2
m1
k2 m2
0
0
k2 m1 k2 k3 m2 k3 m3
0
0
k3 m2 k3 k4 m3 k4 m4
0
0
f1
f1
f2
2
f2
k4 m3
f3 f4
f3
f4
k4
m4
• 即2为上述系数矩阵的特征值。
• 若给定如下条件则可以编写程序example_10_10.m。
1 1/ 2 0
M
=
0
1/ 2
1
0 0 0
x(n) Mx(n1) M 2 x(n2) L M n x(0)
计算x (n)的关键是计算M n,为计算 M n,需要将M对角化,即求正交阵P,
使 P1MP = D ,其中D为对角阵。编写如下语句:
syms n a0 b0 M=[1,1/2,0;0,1/2,1;0,0,0]; % 系数矩阵 [P,D]=eig(sym(M)); % P,D满足MP=PD
• A=[9 2 1 2 2;2 4 3 3 3;1 3 7 3 4;2 3 3 5 4;2 3 4 4 5];
• chol_test(A)
• B运=[行16结17果9:12 12;17 12 12 2 18;9 12 18 7 13;12 2 7 18 12;12 18 13 12 10];
• chCo=l_test(B)
• dlm1=000eigs(west0479,8); % 求解稀疏矩阵的前8个特征值
Байду номын сангаас
• [dum,ind] = sort(abs(d)); % 将特征值排序
• plot(5d0l0m,'k+') % 绘制特征值图形
• hold on % 图形保持
•
0
plot(d(ind(end-7:end)),'ks','MarkerSize',4)
x_max= 0.1859 0.4460 1.0000
Lambda_maxs= 43.8800
x_maxs = 0.1859 0.4460 1.0000
Lambda_min= 0.4025
x_min = 1.0000 -0.7085 0.2061
QR分解法
eig函数法
D= 43.8800 2.7175 0.4025
1 1/ 4 0 0 0 0
0
1/ 4
0
1
1/ 4
0
0 0 0 0 1/ 4 0
M
0
1/ 4
0
0
0
0
0 1/ 4 1 0 1/ 4 0 0 0 0 0 1/ 4 1
最终所有同胞对或者是(A,AA)型,或者是(a,aa)型。
【练3】
• 编写函数文件chol_test.m判断矩阵是否为正定矩阵并对正定矩阵A进行 Cholesky分解,其中判断条件为:(A==A.')&(min(eig(A))>0)
m1 82g, m2 54.8g, m3 50.9g, m4 68.4g
运行结果: Lambda =
23.6977 19.0022 13.6197 4.4407
k1 787.76N / m, k2 251.93N / m, k3 330.47N / m, k4 429.8N / m
【例10-11】求取MATLAB自带稀疏矩阵west0479 的前8个最大的特征值。
0
x2
(t
)
m2
&x&2 (t
)
0
k4
x3
(t
)
k4 x4 (t)
m3 m4
&x&3 (t ) &x&4 (t)
• 解:首先作变量代换:x j (t) f j sin(t ), j 1, 2,3, 4
• 注意到 &x&j (t) 2 f j sin(t )
• 则题述数学模型可以改写为