%Lab 3
%Written by Jeannette Spuhler, 2011-11-15

%Numerisk derivering
%Gerd Eriksson p. 96
%Framåt Euler på y'=-y, y(0) = 1

clear all; clc;

%steglängd
h=0.2;

%exakt lösning
te = 0:0.01:2; 
ye = exp(-te);
yexakt = exp(-2);

H = []; %sparar steglängden
err = [];%sparar felet
times = 3; 

for j=1:times % Löser differentialekvationen med olika steglängd
%begynnelsevärde
t=0;
y=1;
tslut= 2;
T = t;
Y=y;
H = [H; h];

%Framåt Euler
n = tslut./h; %antal tidsteg
for i= 1:n
    y=y+h*(-y);
    t=t+h;
    T = [T; t];
    Y = [Y; y];
end
err(j)= abs(yexakt-Y(end));

h = h/2;

end
 

subplot(2, 1, 1);
plot(te, ye, 'r', T, Y);
legend('exakt', 'h= 0.05');
xlabel('t');
ylabel('y(t)');
title('Lab3 - Framåt Euler'); 


subplot(2, 1, 2)
loglog(H, err,'-o'), hold on
loglog([1e-2 1e-1],[1e-3 1e-2],'--')
title('Lab3 - Nogrannhetsordning'); 
hold off; 