% JACOBI_EXAMPLE This is the example on page 13. global sigma % sigma=0; l=6; nl=2^l; h=1/nl; nv=nl-1; nt=nl+1; x=0:nl; x=h*x'; evecs=zeros(nt,nv); for k=1:nv evecs(:,k)=sin(k*pi*x); end f=zeros(nt,1); vtest=zeros(nt,4); vtest(:,1)=evecs(:,1); vtest(:,2)=evecs(:,3); vtest(:,3)=evecs(:,6); vtest(:,4)=(evecs(:,1)+evecs(:,6)+evecs(:,32))/3; errnorm=zeros(101,3); for ic=1:4 v=vtest(:,ic); v2=v; errnorm(1,ic)=norm(v,inf); % % Do 100 damped Jacobi's and see what happens. % for ij=1:100 v=dampj(v,f); errnorm(ij+1,ic)=norm(v,inf); end end itct=[0:100]'; figure(1); plot(itct,errnorm(:,1),'-',itct,errnorm(:,2),'--',itct,errnorm(:,3),'-.'); legend('k=1','k=3','k=6'); title('Figure 2.3(a), page 15'); xlabel('iterations'); ylabel('error'); figure(2); semilogy(itct,errnorm(:,1),'-',itct,errnorm(:,2),'--',itct,errnorm(:,3),'-.'); legend('k=1','k=3','k=6'); title('Figure 2.4, page 16'); xlabel('iterations'); ylabel('error'); figure(3); plot(itct,errnorm(:,4)); xlabel('iterations'); ylabel('error'); title('Figure 2.5, page 16');