% Implicitní Eulerova metoda pro rovnici y'=-y^2

f=@(x,y)-y.^2;
x0=1;y0=1;
xn=5;

% 1 krok pro h=1

h=1;
P=[h 1 -y0] % polynom, jehoz koren je reseni kvadr. rovnice
roots(P) % ze dvou reseni vybereme to blizsi predchozi hodnote

% 1 krok pro h=0.5

h=0.5;
P=[h 1 -y0]
roots(P)

%
% Cyklus pro celý interval

h=0.1; % tady muzeme zkusit ruzne hodnoty h
x=x0;
y=y0;
xx=x0;
yy=y0;
while x<xn
    P=[h 1 -y];
    r=roots(P);
    [m,I]=min(abs(r-y));
    y=r(I);
    x=x+h;
    xx=[xx,x];
    yy=[yy,y];
end
plot(xx,yy,xx,1./xx,'--')
legend('priblizne reseni','presne reseni')