// TP 2 : Activité 1 function dy=f(t,y) dy=-y+t+1 endfunction function gradient(f,a) t=linspace(-a,a,11) t=t(1:10) y=t ft=ones(10,10) fy=feval(t,y,f) champ(t,y,ft,fy,rect=[-a -a a a]) xtitle("Champ de tangentes","t","y") endfunction function [t,y]=euler(f,t0,y0,tmax,n) t=linspace(t0,tmax,n+1) yn=y0 y=y0 h=(tmax-t0)/n for i=1:n y=[y yn+h*f(t(i),yn)] yn=yn+h*f(t(i),yn) end endfunction function [t,y]=runge2(f,t0,y0,tmax,n) t=linspace(t0,tmax,n+1) yn=y0 y=y0 h=(tmax-t0)/n for i=1:n v1=f(t(i),yn) yn=yn+h*f(t(i)+h/2,yn+h*v1/2) y=[y yn] end endfunction function [t,y]=runge4(f,t0,y0,tmax,n) t=linspace(t0,tmax,n+1) yn=y0 y=y0 h=(tmax-t0)/n for i=1:n v1=f(t(i),yn) v2=f(t(i)+h/2,yn+v1*h/2) v3=f(t(i)+h/2,yn+v2*h/2) v4=f(t(i)+h,yn+h*v3) yn=yn+h*(v1+2*v2+2*v3+v4)/6 y=[y yn] end endfunction