2021-01-07 matlab数值分析  矩阵特征值与特征向量的计算 改进乘幂法 反幂法

matlab数值分析  矩阵特征值与特征向量的计算

1改进乘幂法

function [t,y]=eigIPower(A,v0,ep)
[tv,ti]=max(abs(v0));
lam0=v0(ti);
u0=v0/lam0;
err=ep*10;             %为第一步循环做准备,此处不考虑0次循环的情况
while(err>ep)
  v1=A*u0;
  [tv,ti]=max(abs(v1));
  lam1=v1(ti);
  err=abs(lam0-lam1);
  u0=v1/lam1;
  lam0=lam1;
end
t=lam1;
y=u0;

调用程序

A=[12,6,-6;6,16,2;-6,2,16];xinit=[1;0.5;-0.5];[t,y]=eigIPower(A,xinit,1e-4)

2 反幂法

function [t,y]=eigIPower_inv(A,v0,ep)
[tv,ti]=max(abs(v0));
lam0=v0(ti);
u0=v0/lam0;
err=ep*10;
while(err>ep)
  v1=A\u0;

  [tv,ti]=max(abs(v1));
  lam1=v1(ti);
  err=abs(1/lam0-1/lam1);      %反幂法在误差计算时用的是特征值的倒数
  u0=v1/lam1;
  lam0=lam1;
end
t=1/lam1;

y=u0;

调用程序

​​​​​​​

A=[12,6,-6;6,16,2;-6,2,16];xinit=[1;0.5;-0.5];[t,y]=eigIPower_inv (A,xinit,1e-4)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值