华工数学实验七 特征值和特征向量
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七特征值与特征向量
地点:计算中心202房实验台号:30 实验日期与时间:2018年6月6日评分:
预习检查纪录:实验教师:刘小兰电子文档存放位置:
电子文档文件名:信息工程3班-30-邢靖-实验七.docx
批改意见:
1.实验目的
-掌握特征值、特征向量、特征方程、矩阵的对角化等概念和理论;
-掌握将矩阵化为相似对角矩阵的方法;
-理解由差分方程x k+1=Ax k所描述的动态系统的长期行为或演化;
-提高对离散动态系统的理解与分析能力。
2.问题1
1.当捕食者-被捕食者问题中的捕食参数p是0.125时,试确定该动态系统的
的计算公式).猫头鹰和森林鼠的数量随着时间如何变化?该系统趋向演化(给出x
k
一种被称为不稳定平衡的状态。
如果该系统的某个方面(例如出生率或捕食率)有轻微的变动,系统会如何变化?
2.1实验原理
1.特征值与特征向量
2.特征值与特征向量的求法
3.矩阵的对角化
4.离散线性动态系统
5.eig命令
函数: d=eig(A)
功能:求矩阵A的特征值。
说明:返回一列向量d,包含方阵A的所有特征值。
函数: [V,D]=eig(A)或[V,D]=eig(X,'nobalance') 功能:求矩阵A的特征值和特征向量。
说明:生成特征值矩阵D和特征向量构成的矩阵V,使得使得A*V=V*D。
矩阵D由A的特征值在主对角线构成的对角矩阵。
V是由A的特征向量按列构成的矩阵。
[V,D]=eig(A)中,先对A作相似变换再求A的特征值和特征向量;而
[V,D]=eig(A,'nobalance)中,直接求矩阵A的特征值和特征向量。
2.2算法与编程
% ex1.m求特征值与特征向量
clc
A = [0.5 0.4;-0.125 1.1];
[pc,lambda] = eig(A); %求A的特征值和对应的特征向量
[Y,I] = sort(diag(abs(lambda)),'descend');%对特征值的绝对值降序排列temp = diag(lambda);
lambda = temp(I) %输出按特征值的绝对值降序排列的特征值
pc = pc(:,I) %与特征值对应的特
%P8_1.m捕食者-被捕食者解的图像表示
% P8_1.m
%捕食者-被捕食者解的图像表示
clear, clc
a = 0;
b = 2000;
c = a;
d = b; p = 0.1; %确定画图范围
n = 100; %序列迭代次数
xlabel('|\lambda| >1,|u|<1')
axis([a b c d]),grid on,hold on
x = linspace(a,b,30);
A = [0.5 0.4;-0.125 1.1]; %特征值绝对值<1
[pc,lambda] = eig(A); %求A的特征值和对应的特征向量
[Y,I] = sort(diag(abs(lambda)),'descend'); %对特征值的绝对值降序排列temp = diag(lambda);
lambda = temp(I) %输出按特征值的绝对值降序排列的特征值
pc = pc(:,I)
pc = -pc;
z1 = pc(2,1)/pc(1,1)*x; %特征向量v1
z2 = pc(2,2)/pc(1,2)*x; %特征向量v2
h = plot(x,z1),set(h,'linewidth',2), text(x(7),z1(7)-100,'v1')
h = plot(x,z2),set(h,'linewidth',2), text(x(20),z2(20)-100,'v2') button = 1;
while button == 1
[xi yi button] = ginput(1); %用鼠标选初始点
plot(xi,yi,'go'),hold on
X0 = [xi;yi];
X = X0;
for i=1:n
X = [A*X, X0]; %用这种方式迭代,并画图
h = plot(X(1,1),X(2,1),'R.',X(1,1:2),X(2,1:2),'r-'); hold on text(X0(1,1),X0(2,1),'x0')
quiver([X(1,2),1]',[X(2,2),1]',[X(1,1)-X(1,2),0]',[X(2,1)-X(2,2),0]', p)
set(h,'MarkerSize',6),grid,
end
end
2.3实验结果
>>P8_1
A = [0.5 0.4;-0.125 1.1];平衡
A = [0.5 0.41;-0.125 1.1];增加出生率
A = [0.5 0.39;-0.125 1.1];降低出生率
A = [0.5 0.4;-0.135 1.1]; 增加捕食参数
A = [0.5 0.4;-0.135 1.1]; 降低捕食参数
2.4结果分析
答:该动态系统演化
猫头鹰和森林鼠随时间数量趋于稳定,比值4:5。
当增加出生率或降低捕食率时,猫头鹰和森林鼠的数量逐年降低
当降低出生率或增加捕食率时,猫头鹰和森林鼠的数量逐年增加
3.问题2
杂交育种的目的是培养优良品种,以提高农作物的产量和质量,如果农作物的三种基因型分别为AA,Aa,aa,其中AA为优良品种。
农场计划采用AA型植物与每种基因型植物相结合的方案培育植物后代,已知双亲基因型与其后代基因型的概率(见表8-1).问:经过若干年后三种基因型分布如何?要求:
(1)建立代数模型,从理论上说明最终的基因型分布。
(2)用MATLAB求解初始分布为0.8,0.2,0时,20年后的基因分布,是否已经趋于稳定?
表8-1 基因的转移
3.1实验原理
1.特征值与特征向量的求法
eig命令
函数: d=eig(A)
功能:求矩阵A的特征值。
说明:返回一列向量d,包含方阵A的所有特征值。
函数: [V,D]=eig(A)或[V,D]=eig(X,'nobalance')
功能:求矩阵A的特征值和特征向量。
说明:生成特征值矩阵D和特征向量构成的矩阵V,使得使得A*V=V*D。
矩阵D由A的特征值在主对角线构成的对角矩阵。
V是由A的特征向量按列构成的矩阵。
[V,D]=eig(A)中,先对A作相似变换再求A的特征值和特征向量;而
[V,D]=eig(A,'nobalance)中,直接求矩阵A的特征值和特征向量。
2.sort排序命令
sort(A)若A是向量不管是列还是行向量,默认都是对A进行升序排列。
sort(A)是默认的升序,而sort(A,'descend')是降序排序。
sort(A)若A是矩阵,默认对A的各列进行升序排列。
sort(A,dim) :dim=1时等效sort(A);dim=2时表示对A中的各行元素升序排列
3.norm()命令
norm(A,'fro') 返回矩阵的Frobenius范数
3.2算法与编程
% P8_3.m
% 问题3
A = [0 0 0.33;0.3 0 0;0 0.71 0.94];
[pc,lambda] = eig(A); %求A的特征值和对应的特征向量
[Y,I] = sort(diag(abs(lambda)),'descend');%对特征值的绝对值降序排列temp = diag(lambda);
lambda = temp(I) % 输出按特征值的绝对值降序排列的特征值
lambda_norm = [norm(lambda(1));norm(lambda(2));norm(lambda(3))] % 三个特征值的绝对值
pc = pc(:,I) % 与特征值对应的特征向量
clear
A=[1 0.5 0;0 0.5 1;0 0 0];
X=[0.8;0.2;0];
for i=1:20
X=A*X;
end
X20=X
X=[0.8;0.2;0]; C=[1 1 1]';
n=0;
while norm(X-C,'fro')>1.0e-16
C=X;
n=n+1;X=A*X;
end
format long;
X,n
3.3实验结果
3.4结果分析
答:
(1)由结果得:
故最终基因型全为AA
(2)由运行结果得:20年后基因分布为
AA:Aa:aa≈0.999999809265137: 0.000000190734863:0,还未趋于稳定。
趋于稳定需要52年。
4. 实验总结和实验感悟
本次实验复习了特征值,特征向量,特征方程,矩阵对角化等概念,了解的迭代相关的差分方程算法,并学以致用,感觉功能强大。