% Script: gmres_example.m % investigate gmres parameter settings % Poisson matrix example n = 50; A = n^2*gallery('poisson',n); b = -ones(n^2,1); % Wathen matrix % nx = 28; ny = 28; n = 3*nx*ny+2*(nx+ny)+1; % A = gallery('wathen',nx,ny); % b = -ones(n,1); [x2,f2,rr2,it2,rv2] = gmres(A,b,20); [x3,f3,rr3,it3,rv3] = gmres(A,b,40); [x5,f5,rr5,it5,rv5] = gmres(A,b,20,[],20); figure; semilogy(1:length(rv2),rv2/norm(b),'ok') hold on semilogy(1:length(rv3),rv3/norm(b),'-k') semilogy(1:length(rv5),rv5/norm(b),'--k') axis('tight') hold off title('GMRES residual vs iteration number','FontSize',14) xlabel('iteration','FontSize',14); ylabel('||b-Ax||/||b||','FontSize',14); set(gca,'YTick',[10^-6 10^-4 10^-2 10^0],'FontSize',14) legend('10(20)','10(40)','20(20)',1)