MATLAB幂法原点平移法,幂法及其MATLAB程序.doc

幂法及其MATLAB程序

5.2 幂法及其MATLAB程序

5.2.2 幂法的MATLAB程序

用幂法计算矩阵的主特征值和对应的特征向量的MATLAB主程序

function [k,lambda,Vk,Wc]=mifa(A,V0,jd,max1)

lambda=0;k=1;Wc =1; ,jd=jd*0.1;state=1; V=V0;

while((k<=max1)&(state==1))

Vk=A*V; [m j]=max(abs(Vk)); mk=m;

tzw=abs(lambda-mk); Vk=(1/mk)*Vk;

Txw=norm(V-Vk); Wc=max(Txw,tzw); V=Vk;lambda=mk;state=0;

if(Wc>jd)

state=1;

end

k=k+1;Wc=Wc;

end

if(Wc<=jd)

disp('请注意:迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:')

else

disp('请注意:迭代次数k已经达到最大迭代次数max1,主特征值的迭代值lambda,主特征向量的迭代向量Vk,相邻两次迭代的误差Wc如下:')

end

Vk=V;k=k-1;Wc;

例5.2.2 用幂法计算下列矩阵的主特征值和对应的特征向量的近似向量,精度.并把(1)和(2)输出的结果与例5.1.1中的结果进行比较.

(1); (2);(3);(4).

解 (1)输入MATLAB程序

>>A=[1 -1;2 4]; V0=[1,1]';

[k,lambda,Vk,Wc]=mifa(A,V0,0.00001,100),

[V,D] = eig (A), Dzd=max(diag(D)), wuD= abs(Dzd- lambda), wuV=V(:,2)./Vk,

运行后屏幕显示结果

请注意:迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:

k = lambda = Wc =

33 3.00000173836804 8.691862856124999e-007

Vk = V = wuV =

-0.49999942054432 -0.70710678118655 0.44721359549996 -0.89442822756294

1.00000000000000 0.70710678118655 -0.89442719099992 -0.89442719099992

Dzd = wuD =

3 1.738368038406435e-006

由输出结果可看出,迭代33次,相邻两次迭代的误差Wc 8.69 19e-007,矩阵的主特征值的近似值lambda3.000 00和对应的特征向量的近似向量Vk (-0.500 00,1.000 00, lambda与例5.1.1中的最大特征值近似相等,绝对误差约为1.738 37e-006,Vk与特征向量 的第1个分量的绝对误差约等于0,第2个分量的绝对值相同.由wuV可以看出,的特征向量V(:,2) 与Vk的对应分量的比值近似相等.因此,用程序mifa.m计算的结果达到预先给定的精度.

(2) 输入MATLAB程序

>>B=[1 2 3;2 1 3;3 3 6]; V0=[1,1,1]';

[k,lambda,Vk,Wc]=mifa(B,V0,0.00001,100), [V,D] = eig (B),

Dzd=max(diag(D)), wuD= abs(Dzd- lambda), wuV=V(:,3)./Vk,

运行后屏幕显示结果

请注意:迭代次数k,主特征值的近似值lambda,主特征向量的近似向量Vk,相邻两次迭代的误差Wc如下:

k = lambda = Wc = Dzd = wuD =

3 9 0 9 0

Vk = wuV =

0.50000000000000 0.81649658092773

0.50000000000000 0.81649658092773

1.00000000

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值