clear, close all; %setup h = 0.1; y0 = 1; N = 8/h; t = 0:h:8; %pre-allocate arrays y_ee = zeros(size(t)); y_ie = zeros(size(t)); y_mp = zeros(size(t)); %assign initial value y_ee(1) = y0; y_ie(1) = y0; y_mp(1) = y0; %numerical solutions g = @(t) sin(t.^2); for ii = 1:N %explicit Euler y_ee(ii+1) = %complete here %implicit Euler y_ie(ii+1) = %complete here %implicit Midpoint Rule y_mp(ii+1) = %complete here end %reference solution with ode45 opts = odeset('AbsTol', 1e-10, 'RelTol', 1e-10); [tref,yref] = ode45( @(t,y) sin(t.^2).*y, [0, 8], 1, opts); %plot plot(t,y_ee,'*-',t,y_ie,'*-',t,y_mp,'*-',tref, yref) legend('ee','ie','mp', 'ref')