mode(-1); // Script File: ShowRK // // Plots absolute error for fixed step size Runge-Kutta // solution to y' = y, y(0) = 1 across [0,5]. getf('Ordre.sci'); getf('funcs.sci'); xbasc(); E = zeros(5,5); for i = 1:5 n = 16*(2^i); Exact = exp(-linspace(0,5,n+1)); for k = 1:5 [tvals,yvals] = FixedRK(f1,0,1,5/n,k,n); E(i,k) = max(abs(yvals-Exact)); end end //% semilogy([32 64 128 256 512]',E) xset("font",2, 3); plot2d('ll',(5)./[32,64,128,256,512]',E ,style=(1:5),strf='121',leg='k=1@k=2@k=3@k=4@k=5') plot2d('ll',(5)./[32,64,128,256,512]',E ,style=-(1:5)) xtitle('Runge-Kutta on y''(t) = -y(t), y(0) = 1, 0<=t<=5, h = 5/n','5/n','Erreur max.'); // pentes=-log10(E(5,:))+log10(E(1,:)); // printf("Ordre pente\n") // for k=1:5 // printf("%g %g\n", k, pentes(k)) // end