function [ ] = prob_2_16 % % 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. % %----- nTs = 100; ts = linspace( 0, 2*pi, nTs ); etp = exp( +sqrt(-1)*ts ); etm = exp( -sqrt(-1)*ts ); % Eulers method: z = 1 - etp; plotZ( z, 'Euler method' ); % Backward Euler: z = 1 - 1./etp; plotZ( z, 'Backward Euler' ); % Trapezoidal rule: z = 2*( etp - 1 ) ./ ( etp + 1 ); plotZ( z, 'Trapezoidal Rule' ); % BDF2: z = ( 1.5*etp.^2 - 2*etp + 0.5 ) ./ ( etp.^2 ); plotZ( z, 'BDF2' ); % AM3: z = ( etp.^2 - 1 ) ./ ( (5/12)*etp.^2 + (8/12)*etp - (1/12) ); plotZ( z, 'AM3' ); % BDF3: z = ( etp - (18/11) - (9/11)*etm - (2/11)*etm.^2 ) ./ ( (6/11)*etp ); plotZ( z, 'BDF3' ); return; function [] = plotZ( z, titStg ) x = real( z ); y = imag( z ); figure; plot( x, y, '-o' ); title( titStg ); grid on; return;