⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eiglancz.m

📁 various matlab programs to slove various problems
💻 M
字号:
function [lmin,lmax,deltaeig,k]=eiglancz(A,m,toll)n=size(A); V=[0*[1:n]',[1,0*[1:n-1]]'];beta(1)=0; normb=1; k=1; deltaeig(1)=1;while  k <= m & normb >= eps & deltaeig(k) < toll  vk = V(:,k+1);   w = A*vk-beta(k)*V(:,k);  alpha(k)= w'*vk; w = w - alpha(k)*vk;  normb = norm(w,2); beta(k+1)=normb;  if normb ~= 0    V=[V,w/normb];    if k==1      lmin(1)=alpha; lmax(1)=alpha;      k=k+1; deltaeig(k)=1;    else      d=alpha; b=beta(2:length(beta)-1);      [ak,bk,ck,nch,niter]=givsturm(d,b,1,toll);      lmax(k)=(ak(niter)+bk(niter))/2;      [ak,bk,ck,nch,niter]=givsturm(d,b,k,toll);      lmin(k)=(ak(niter)+bk(niter))/2;      deltaeig(k+1)=max(abs(lmin(k)-lmin(k-1)),abs(lmax(k)-lmax(k-1)));      k=k+1;    end  else    disp('Breakdown');    d=alpha; b=beta(2:length(beta)-1);    [ak,bk,ck,nch,niter]=givsturm(d,b,1,toll);    lmax(k)=(ak(niter)+bk(niter))/2;    [ak,bk,ck,nch,niter]=givsturm(d,b,k,toll);    lmin(k)=(ak(niter)+bk(niter))/2;    deltaeig(k+1)=max(abs(lmin(k)-lmin(k-1)),abs(lmax(k)-lmax(k-1)));    k=k+1;  endendk=k-1;return 

⌨️ 快捷键说明

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