% Harjutustund nr. 17, ülesanne 1
% lahendame täpselt, algtingimus y(0)=1
syms yy(x);
vorrand=diff(yy,x)==yy+1;
lahend=dsolve(vorrand,'yy(0)=1')
% leiame dif. võrrandi lahendi väärtuse, kui x=3
flahend=matlabFunction(lahend)
tapnelahend=flahend(3)

% lahendame Euleri meetodiga
x(1)=0; % algtingimuse x-i väärtus x_0
y(1)=1; % algtingimuse y-i väärtus y_0
n=100; % osalõikude arv
x0=0;
xn=3;
h=(xn-x0)/n; % sammu pikkus
% defineerime funktsiooni f(x,y)
% y'=dy/dx=f(x,y)
f=@(x,y) y+1;

for (i=1:n)
    x(i+1)=x(i)+h;
    y(i+1)=y(i)+h*f(x(i),y(i));
end
yeuler=y(n+1)

% prognoosi-korrelatsioonimeetod
for (i=1:n)
  y(i+1)=y(i)+h/2*f(x(i),y(i))+h/2*f(x(i+1),y(i)+h*f(x(i),y(i)));
end 
yprogn=y(n+1)