function euler_method nn=5; %initial number of subintervals %exact=atan(x) %exact solutions %f=1/(1+tan(x)^2); for m=1:5 n=nn*2^(m-1); %number of subintervals e=zeros(n+1); h=5/n; %step size t=0:h:5; for i=1:n %e(i+1)=e(i)+h*subs(f,x,e(i)); e(i+1)=e(i)+h*f(e(i)); %carrying out Euler method end y=exact(t); %y=subs(exact,x,t); error(m)=abs(y(n+1)-e(n+1));%error at t=5 plot(t,e); hold on; end plot(t,y,'r'); error for m=1:4 ratio(m)=error(m)/error(m+1); end ratio function d=f(x) d=1/(1+tan(x)^2); function d=exact(x) d=atan(x);