I have the following files and script file, but the graph is definitely wrong for the approximations. Any ideas?
Code:
clear all% define the problem: function f and domain
f = @(t,y) (0*t+3*y);a = 0; b = 1;% exact solution, using a fine grid
t = a:.0001:b;y = exp(3*t); % this is a vector of values, not a function
% coarse solution
h = .25;ya = 1;[T1,Y1]=euler(f,a,b,ya,h);% fine solution
h = .05;ya = 1;[T2,Y2]=euler(f,a,b,ya,h);% finer solution
h = .01;ya = 1;[T3,Y3]=euler(f,a,b,ya,h);plot(t,y,'k',T1,Y1,'bo-',T2,Y2,'ro-',T3,Y3,'go-')legend('Exact','h=0.25','h=0.05','h=0.01')title('The Euler Method with 3 meshes')
Script File:
function[T,Y] = euler(f,a,b,ya,h)a = 0; b = 1;T = a:h:b;Y = zeros(1,length(T));Y(1) = a;for k = 1 : length(T)-1 Y(k+1) = Y(k) + h*f(T(k),Y(k));end
Best Answer