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

x0=0;
y0=1;
xn=3;
n=100; % osalõikude arv
h=(xn-x0)/n; % sammu pikkus
% defineerime funktsiooni y'=f(x,y)
f=@(x,y) y+1;
% alglähend
x(1)=0;
y(1)=1;

% kasutame Euleri meetodit
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)
plot(x,y,'b')
hold on 
% kasutame prognoosi-korrelatsiooni meetodit
for (i=1:n)
    % x(i+1)=x(i)+h;
    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)
plot(x,y,'r')
hold off