clear

%Alglähendite leidmine
ezplot('x-y^2+1',[-2,2,-2,2])
hold on
g=ezplot('x^2-y',[-2,2,-2,2])
grid on
set(g,'color','r')
legend('x=y^2-1','y=x^2')
hold off
title('Joonis algähendite leidmiseks')

%Jooniselt on näha, et võrrandisüsteemil on 2 lahendit. Valime
%lõikepunktide koordinaadid alglähenditeks. Meil (-0.75,0.5) ja (1.2,1.5).

%Defineerime funktsioonide vektori, kus argumendiks on z ning kõik liikmed
%ühel pool võrdusmärki
F=@(z)[z(1)-z(2)^2+1,z(2)-z(1)^2];

%Kontrollime koonduvust, selleks peab G' norm olema väiksem kui 1.
%Esimene lahend
x=-0.73;
y=0.5;
Gtuletis(1,1)=0;
Gtuletis(1,2)=2*y;
Gtuletis(2,1)=2*x;
Gtuletis(2,2)=0;
%tuletis=norm(Gtuletis,1)=1.5 EI SOBI, sest peab olema väiksem kui 1
Gtuletis(1,1)=1/(2*sqrt(x+1));
Gtuletis(1,2)=0;
Gtuletis(2,1)=0;
Gtuletis(2,2)=1/(2*sqrt(y));
%tuletis1=norm(Gtuletis,1)=0.9623 SOBIB

%Teine lahend
x=1.2;
y=1.5;
Gtuletis(1,1)=0;
Gtuletis(1,2)=2*y;
Gtuletis(2,1)=2*x;
Gtuletis(2,2)=0;
%tuletis=norm(Gtuletis,1)=3 EI SOBI, sest peab olema väiksem kui 1
Gtuletis(1,1)=1/(2*sqrt(x+1));
Gtuletis(1,2)=0;
Gtuletis(2,1)=0;
Gtuletis(2,2)=1/(2*sqrt(y));
%tuletis11=norm(Gtuletis,1)=0.4082 SOBIB

%Lahendame süsteemi HIM kasutades
%esimene lahend, siin x=z(1) ja y=z(2)
z(1)=-0.73;
z(2)=0.5; %jooniselt leitud x ja y koordinaadid
while norm(F(z),1)>10^-6 %10^-6 meie valitud täpsus
    z(2)=sqrt(z(1)+1);
    z(1)=-sqrt(z(2));
end
lahend1=z
kontroll=F(lahend1)

%teine lahend, ka siin x=z(1) ja y=z(2)
z(1)=1.2;
z(2)=1.5; %teise punkti koordinaadid
while norm(F(z))>10^-6 %10^-6 meie valitud täpsus
    z(1)=sqrt(z(2));
    z(2)=sqrt(z(1)+1);
end
lahend2=z
kontroll2=F(lahend2)