n=63; T=2*eye(n)-diag(ones(1,n-1),1)-diag(ones(1,n-1),-1); %b=sin([1:n]*2*pi/n)'; %b=rand(n,1)-0.5; b=zeros(n,1); b(fix(n/3))=-1; b(fix(n/3)+1)=1; b(fix(2*n/3))=1; b(fix(2*n/3+1))=-1; sol=T\b; [U,S,V]=svd(T); clf; w=1; z=sort(eig(eye(n)-w*T/2)); plot(z(n:-1:1)); hold on w=1/2; z=sort(eig(eye(n)-w*T/2)); plot(z(n:-1:1),'r'); w=2/3; z=sort(eig(eye(n)-w*T/2)); plot(z(n:-1:1),'g'); legend('w=1','w=1/2','w=2/3'); pause; hold off; w=2/3; R=eye(n)-w*T/2; c=w*b/2; V=V(:,n:-1:1); x=zeros(n,1); x=rand(n,1); for i=1:3000 e=sol-x; x=R*x+c; subplot(121); semilogy(abs(V'*e)); axis([0 n 10^(-15) 10^5]); subplot(122); plot(sol,'r'); hold on; plot(e,'g'); plot(x,'b'); legend('solution','error','x'); hold off pause end