invpower.m

来自「various matlab programs to slove various」· M 代码 · 共 33 行

M
33
字号
function [sigma,x,niter,err]=invpower(A,z0,mu,toll,nmax)n=max(size(A)); M=A-mu*eye(n); [L,U,P]=lu(M);q=z0/norm(z0); q2=q'; err=[]; sigma=[]; res=toll+1; niter=0; while (res >= toll & niter <= nmax) niter=niter+1;  b=P*q;  y=L \ b; z = U \ y; q=z/norm(z);  z=A*q;  lam=q'*z; b=q2';  y=U' \ b;  w=L' \ y; q2=(P'*w)';  q2=q2/norm(q2);  costheta=abs(q2*q); if (costheta >= 5e-2),    res=norm(z-lam*q)/costheta;     err=[err; res];     sigma=[sigma; lam];  else,     disp(' Multiple eigenvalue '); break;  endx=q;endreturn

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?