clear
%joonis alglähendite jaoks

ezplot('x-y^2+1',[-2,2,-2,2])
hold on
h=ezplot('y-x^2',[-2,2,-2,2])
set(h,'color','r')
grid on
title('Joonis alglähendite leidmiseks')
xlabel('x')
ylabel('y')

%Näha on, et süsteemil on 2 lahendit. Valime alglähenditeks
% (-0.7,0.5) ja (1.2,1.5)

%Kontrollime HIM koonduvust
%esimene lahend
x=-0.7; %lõikepunktide koordinaadid
y=0.5; 
G(1,1)=1/(2*sqrt(x+1));
G(1,2)=0;
G(2,1)=0;
G(2,2)=1/(2*sqrt(y));
%leiame maatriksi G 1-normi
tuletis=norm(G,1) %sobib

%teine lahend
x=1.2;
y=1.5;
G(1,1)=1/(2*sqrt(x+1));
G(1,2)=0;
G(2,1)=0;
G(2,2)=1/(2*sqrt(y));
%leiame maatriksi G 1-normi
tuletis=norm(G,1) %sobib

%HIM
%teeme süsteemi võrranditest vektori
F=@(z)[z(1)-z(2)^2+1,z(2)-z(1)^2]; %siin x=z(1) ja y=z(2)

%esimene lahend
%määrame alglähendi (lõikepunkti koordinaadid)
z(1)=-0.7;
z(2)=0.5;
sammudHIM=0;
while norm(F(z),1)>10^-6
    z(2)=sqrt(z(1)+1); %+, sest y on positiivne
    z(1)=-sqrt(z(2)); %-, sest x on negatiivne
    sammudHIM=sammudHIM+1;
end
lahend1=z
sammudHIM

%teine lahend
%alglähend
z(1)=1.2;
z(2)=1.5;
sammud=0;
while norm(F(z),1)>10^-6
    z(2)=sqrt(z(1)+1);
    z(1)=sqrt(z(2)); %siin +, sest nüüd on x positiivne!
    sammud=sammud+1;
end
lahend2=z
sammud