function prob_1_5 % % Written by: % -- % John L. Weatherwax 2005-05-07 % % email: wax@alum.mit.edu % % Please send comments and especially bug reports to the % above email address. % %----- % Contrast local and global error % Initialize output arrays. t = []; le = []; ge = []; % Initialize for integration. tn = 0; yn = 2; h = 0.1; for i = 1:30 tnp1 = tn + h; ynp1 = yn + h*ode(tn,yn); len = localsol(tn,yn,tn+h) - ynp1; gen = globalsol(tn+h) - ynp1; t = [t tnp1]; le = [le len]; ge = [ge gen]; tn = tnp1; yn = ynp1; end %plot(t,le,'o',t,ge,'*') plot(t,le,'ok',t,ge,'*k','MarkerSize',3) legend('local error','global error',3) %axis([0 3 -0.2 0.1]) %print -depsc ch1fig8 %=============================================== function dydt = ode(t,y) dydt = 5*(y-t^2); function gy = globalsol(t) % Global solution. gy = t^2 + 0.4*t + 0.08; function ly = localsol(tn,yn,t) % Local solution. ly = t^2 + (2/5)*t + (2/25) + (yn + ... -tn^2 - (2/5)*tn - (2/25) )*exp(5*(t-tn));