clear
x0=2; %algtingimuse x
xn=10; %koht, kus tahame y väärtust leida
n=100; %mitmes punktis arvutame NB! OLULINE SUURUS!!!!
h=(xn-x0)/n; %sammu pikkus

%defineerime DV parema poole
f=@(x,y)cos(x*y);
%algtingimuse abil defineerime x ja y vektori esimesed liikmed
x(1)=2; %x vektori esimene liige!
y(1)=2; %y vektori esimene liige!

%Euleri meetod
for i=1:n
    y(i+1)=y(i)+h*cos(x(i)*y(i));
    x(i+1)=x(i)+h;
end
vastusEuler=y(i+1)
plot(x,y)
hold on

%Prognoosi-korrektsiooni meetod
for i=1:n
    x(i+1)=x(i)+h;
    y(i+1)=y(i)+h/2*cos(x(i)*y(i))+h/2*cos(x(i+1)*(y(i)+h*cos(x(i)*y(i))));
end
vastusprog_korr=y(i+1)
plot(x,y)
legend('Euleri meetod','Prog-korr. meetod')
