Enter password:
% 0 <= t <= 1 a = 0; b = 1; % initial condition y0 = 0; % actual solution of y(1) exact_y = 3/2; % |--------------------| % 0 1 % N = 1 % h = 1 % |---------|----------| % 0 1/2 1 % N = 2 % h = 1/2 % |------|------|------| % 0 1/3 2/3 1 % N = 3 % h = 1/3 x_arr = zeros(1,10); y_arr = zeros(1,10); % ------- plotting Forward Euler's method -------- for jj = 1:10 N = 2^jj; h = (b-a)/N; x_arr(jj) = h; y = y0; for i = 1:N t = (i-1)*h; y = y + h * f(t,y); end y_arr(jj) = abs(exact_y - y); end loglog(x_arr, y_arr) % -------------------------- % ------- plotting Modified Euler's method -------- for jj = 1:10 N = 2^jj; h = (b-a)/N; x_arr(jj) = h; y = y0; for i = 1:N t = (i-1)*h; y = y + h/2 * (f(t,y) + f(t+h, y+h*f(t,y))); end y_arr(jj) = abs(exact_y - y); end loglog(x_arr, y_arr) legend(["Euler", "Modified Euler"]) % -------------------------- function val = f(t,y) % val = t^2 - 1; % val = 5*t^4 - 2*t^3 + 1; val = 2 * y/t + t^2 * cos(t); end