1fontsize_labels = 14; 2fontsize_grid = 12; 3fontname = 'Times'; 4 5h = zeros(5,1); 6e = zeros(5,1); 7hold off 8clf 9set(gca,'FontName',fontname) 10set(gca,'FontSize',fontsize_grid) 11set(gca,'FontSize',fontsize_labels) 12for i=1:5 13 E = 8*2^i; 14 syscommand = compose('./spectraladjointassimilation -ts_adapt_dt_max 3.e-3 -E %d -N 2 -ncoeff 5 -a .1 -tao_grtol 1.e-12 -tao_gatol 1.e-12 -tao_max_it 7',[E]) 15 [status,result] = system(syscommand{1}); 16 eval(result); 17[m,n] = size(history); 18 h(i) = history(m,2); 19 e(i) = E; 20 if (mod(i,2) == 1) 21 yyaxis left 22 semilogy(history(:,1),history(:,2),'Markersize',6,'LineWidth',2); 23 ylabel('Analytic Error'); 24 yyaxis right 25 semilogy(history(:,1),history(:,3),'Markersize',6,'LineWidth',2); 26 ylabel('Objective function'); 27 hold on 28 end 29end 30legend('16 elements','64 elements','256 elements','16 elements','64 elements','256 elements') 31xlabel('Iteration') 32print('convergencestudy-h','-depsc'); 33 34hold off 35clf 36set(gca,'FontName',fontname) 37set(gca,'FontSize',fontsize_grid) 38set(gca,'FontSize',fontsize_labels) 39loglog(e,h,'-+','Markersize',6,'LineWidth',2); 40xlabel('1/h'); 41ylabel('Analytic Error'); 42print('convergencestudy-h-2','-depsc'); 43 44 45clf 46set(gca,'FontName',fontname) 47set(gca,'FontSize',fontsize_grid) 48set(gca,'FontSize',fontsize_labels) 49h = zeros(4,1); 50e = zeros(4,1); 51for i=1:4 52 N = 1 + 3*i; 53 syscommand = compose('./spectraladjointassimilation -ts_adapt_dt_max 3.e-3 -E 8 -N %d -ncoeff 12 -a .1 -tao_grtol 1.e-12 -tao_gatol 1.e-12 -tao_max_it 20',[N]) 54 [status,result] = system(syscommand{1}); 55 eval(result); 56history 57 e(i) = N; 58 [m,n] = size(history); 59 h(i) = history(m,2) 60 yyaxis left 61 semilogy(history(:,1),history(:,2),'Markersize',6,'LineWidth',2); 62 ylabel('Analytic Error'); 63 yyaxis right 64 semilogy(history(:,1),history(:,3),'Markersize',6,'LineWidth',2); 65 ylabel('Objective function'); 66 hold on 67end 68legend('Order 4','Order 7','Order 10','Order 13','Order 4','Order 7','Order 10','Order 13') 69xlabel('Iteration') 70print('convergencestudy-p','-depsc'); 71 72hold off 73clf 74set(gca,'FontName',fontname) 75set(gca,'FontSize',fontsize_grid) 76set(gca,'FontSize',fontsize_labels) 77loglog(e,h,'-+','Markersize',6,'LineWidth',2); 78xlabel('Polynomial order'); 79ylabel('Analytic Error'); 80print('convergencestudy-p-2','-depsc'); 81