clear all
[t,x]=ode23(@exampleproblem,[1 2],2);
Deltat=0.2;
tEuler=1:Deltat:2;
xEuler=2*ones(size(tEuler));
xTMO2=2*ones(size(tEuler));
for n=1:length(tEuler)-1
xEuler(n+1)=xEuler(n)+Deltat*exampleproblem(tEuler(n),xEuler(n));
xTMO2(n+1)=xTMO2(n)+Deltat*exampleproblem(tEuler(n),xTMO2(n))+((Deltat^2)/2.)*(1./tEuler(n));
end
hold off
plot(t,x);
hold on
plot(tEuler,xEuler,’ko’,’Markerfacecolor’,[0 0 0]);
plot(tEuler,xTMO2,’ro’,’Markerfacecolor’,[1 0 0]);
xlabel(‘t’,’Fontsize’,14)
ylabel(‘x(t)’,’Fontsize’,14)
function dxdt=exampleproblem(t,x)
dxdt=1+x/t;
end