%exercise K6.3
clear all, clc, close all
%med euler

func=@(x,y) -y+x.^2;

%startvärde
x=1;
y=2;
%slutvärde
xslut=1.5;

%spara värde
X=x;
Y=y;
h=0.25;
n=(xslut-x)/h;

for i=1:n
    f=func(x,y);
    y=y+h*f;
    x=x+h;
    X=[X;x];
    Y=[Y;y];
end
plot(X,Y, '*-'); hold on;

%---------------------------------------------------------------------------
%med RK4
%startvärde
x=1;
y=2;
%slutvärde
xslut=1.5;

%spara värde
X=x;
Y=y;
h=0.25;
n=(xslut-x)/h;

for i=1:n
    f1=func(x,y);
    f2=func(x+h/2,y+(h*f1)/2);
    f3=func(x+h/2,y+(h*f2)/2);
    f4=func(x+h,y+h*f3);
    y=y+(h/6)*(f1+2*f2+2*f3+f4);    
    f=func(x,y);
    x=x+h;
    X=[X;x];
    Y=[Y;y];
end
plot(X,Y, 'ro-'); hold on;

%---------------------------------------------------------------------------
%med ode45
[X,Y]=ode45(func, [1 1.5],2);
plot(X,Y, 'g*-'); hold on;


