第六次实验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
k =27
272、写出QR分解的函数m文件,并利用此程序求 的特征值。
实验步骤:
(1)建立函数m文件:
functiontzg=meigqrdm(A)
[n,n]=size(A); k=0;Ak=A;tzg=zeros(n); state=1;
fori=1:n;
t=5;
while((k<=1000)&(state==1)&(n>1))
实验报告(二)
院(系)理学院课程名称:数值分析日期2014.12.4
班级
理A1221
学号
3计算科学
姓名
樊美林
计算机号
实验
名称
矩阵特征值计算
成绩评定
所用
软件
MatlabR2013a
教师签名
实
验
目
的
或
要
求
1.会运用幂法求矩阵主特征值;
2.会运用QR求解矩阵特征值。
实
验
步
骤
、
心
得
体
会
实验题目:
1、写出幂法的函数m文件,并利用此程序对课本第八章例2进行实现。
实验步骤:
(1)建立函数m文件:
function[lam1,v,k]=meigpower(A,x)
ep=1e-7;
ifnargin==1
temp=length(A);
x=ones(temp,1);
end
ifnargin==2
b1=abs(Ak(n,n-1)); b2=abs(Ak(n,n)); b3=abs(Ak(n-1,n-1));
b4=min(b2, b3); jd=10^(-t); jd1=jd*b4;
if(b1>=jd1)
sk=Ak(n,n); Bk=Ak-sk*eye(n); [Qk,Rk]=qr(Bk);
At=Rk*Qk+sk*eye(n); k=k+1;tzgk=Ak(n,n);
>> A=[-4 -3 -7
2 3 2
4 2 7];
>> [Iter D]=meigqrdm(A)
(3)得出结果
0.999957096432770
2.000001423674296
3.000041479892937
备注:本实验报告用于各学科与计算机应用相关课程的实验,务必按时完成。不交此报告者,本次实验为“不合格”。
>> A=[1 1 0.5; 1 1 0.25; 0.5 0.25 2];
>> x=[1 1 1]';
>> [lam1,v,k]=meigpower(A,x)
(4)得出结果
lam1 = 2.536526015964217
v = 1.897882537029756
1.647882537029756
2.536525951182463
九江学院
i,state=1;Ak=At;
else
i,tzgk=Ak(n,n),tzg(n,1)=tzgk;
k=k,sk,Ak;B=Ak(1:n-1,1:n-1),
Ak=B;n=n-1;state==1; i=i+1;
end
end
end
tzg(1,1)=Ak;tzg=sort(tzg(:,1));tzgk=Ak
temp=length(A);
x=ones(temp,1);
end
m1=0;
u=x;
k=0;
whilek<60
v=A*u;
[vmax,i]=max(abs(v));
m=v(i);
u=v/m;
ifabs(m-m1)<ep
break;
end
m1=m;
k=k+1;
lam1=m;
end
(2)保存
(3)在命令行窗口输入
272、写出QR分解的函数m文件,并利用此程序求 的特征值。
实验步骤:
(1)建立函数m文件:
functiontzg=meigqrdm(A)
[n,n]=size(A); k=0;Ak=A;tzg=zeros(n); state=1;
fori=1:n;
t=5;
while((k<=1000)&(state==1)&(n>1))
实验报告(二)
院(系)理学院课程名称:数值分析日期2014.12.4
班级
理A1221
学号
3计算科学
姓名
樊美林
计算机号
实验
名称
矩阵特征值计算
成绩评定
所用
软件
MatlabR2013a
教师签名
实
验
目
的
或
要
求
1.会运用幂法求矩阵主特征值;
2.会运用QR求解矩阵特征值。
实
验
步
骤
、
心
得
体
会
实验题目:
1、写出幂法的函数m文件,并利用此程序对课本第八章例2进行实现。
实验步骤:
(1)建立函数m文件:
function[lam1,v,k]=meigpower(A,x)
ep=1e-7;
ifnargin==1
temp=length(A);
x=ones(temp,1);
end
ifnargin==2
b1=abs(Ak(n,n-1)); b2=abs(Ak(n,n)); b3=abs(Ak(n-1,n-1));
b4=min(b2, b3); jd=10^(-t); jd1=jd*b4;
if(b1>=jd1)
sk=Ak(n,n); Bk=Ak-sk*eye(n); [Qk,Rk]=qr(Bk);
At=Rk*Qk+sk*eye(n); k=k+1;tzgk=Ak(n,n);
>> A=[-4 -3 -7
2 3 2
4 2 7];
>> [Iter D]=meigqrdm(A)
(3)得出结果
0.999957096432770
2.000001423674296
3.000041479892937
备注:本实验报告用于各学科与计算机应用相关课程的实验,务必按时完成。不交此报告者,本次实验为“不合格”。
>> A=[1 1 0.5; 1 1 0.25; 0.5 0.25 2];
>> x=[1 1 1]';
>> [lam1,v,k]=meigpower(A,x)
(4)得出结果
lam1 = 2.536526015964217
v = 1.897882537029756
1.647882537029756
2.536525951182463
九江学院
i,state=1;Ak=At;
else
i,tzgk=Ak(n,n),tzg(n,1)=tzgk;
k=k,sk,Ak;B=Ak(1:n-1,1:n-1),
Ak=B;n=n-1;state==1; i=i+1;
end
end
end
tzg(1,1)=Ak;tzg=sort(tzg(:,1));tzgk=Ak
temp=length(A);
x=ones(temp,1);
end
m1=0;
u=x;
k=0;
whilek<60
v=A*u;
[vmax,i]=max(abs(v));
m=v(i);
u=v/m;
ifabs(m-m1)<ep
break;
end
m1=m;
k=k+1;
lam1=m;
end
(2)保存
(3)在命令行窗口输入