%täpne vastus
y_oige=2*exp(3)-1;

%ligikaudne lahendamine
x0=0; %algtingimuse x
y0=1; %algtingimuse y
xn=3; %koht, kus tahame y väärtust leida
n=100; %osalõikude arv, valime ise
h=(xn-x0)/n; %samm, mille võrra x väärtused erinevad
%defineerime kahe vektori esimesed elemendid
x(1)=0; %vektori x esimene element tuleb algtingimusest
y(1)=1; %vektori y esimene element tuleb algtingimusest
%defineerime funktsiooni f, mis on DV parem pool
f=@(x,y)y+1;

%Euleri meetod
for i=2:n+1
    x(i)=x(i-1)+h;
    y(i)=y(i-1)+h*f(x(i-1),y(i-1)); 
end
y_Euler=y(n+1)
viga_Euler=y_oige-y_Euler

%prognoosi-korrektsiooni meetod
for i=2:n+1
    y(i)=y(i-1)+h/2*f(x(i-1),y(i-1))+h/2*f(x(i),y(i-1)+h*f(x(i-1),y(i-1)));
end
y_progkor=y(n+1)
viga_progkor=y_oige-y_progkor