%Written by Jeannette Spuhler, 2012-11-22
%Gerd p. 213
%Numerisk derivering
%framåt, bakåt euler

clear all; clc;
%exat lösning
xe=0:0.01:8;
ye = exp(-4*xe.^2);


%begynnelsevärde
x=0;
y=1;
X = x;
Y=y;
%steglängd
h=0.1;%h=0.01;
%slut
xslut = 8;
%antal tidsteg
n = xslut./h; 

%Framåt Euler
for i= 1:n
    y=y+h*(-8*y*x);
    x=x+h;
    X = [X; x];
    Y = [Y; y];
end

subplot(2, 1, 1);
plot(xe, ye, 'r', X, Y); axis([0 8 -1 1]);

legend('exakt', 'h= 0.01');
xlabel('t');
ylabel('y(t)');
title('Framåt Euler'); 

%begynnelsevärde
x=0;
y=1;
X = x;
Y=y;
%steglängd
h=0.1;
%slut
xslut = 8;
%antal tidsteg
n = xslut./h; 


%Bakåt Euler
for i= 1:n
    y=y/(1+8*h*y*x);
    x=x+h;
    X = [X; x];
    Y = [Y; y];
end

subplot(2, 1, 2);
plot(xe, ye, 'r', X, Y);axis([0 8 -1 1]);
legend('exakt', 'h= 0.01');
xlabel('t');
ylabel('y(t)');
title('Bakåt Euler');
