clear %vahemälu puhtaks
%joonis alglähendite leidmiseks
ezplot('x^2+2*y-8')
hold on
grid on
h=ezplot('x+y^2-y-3')
set(h,'color','k')
legend('x^2+2*y-8=0','x+y^2-y-3=0')
title('Joonis alglähendite leidmiseks')
%Jooniselt näeme, et süsteemil on 4 lahendit. Valime lõikepunktide
%koordinaadid alglähenditeks. Meile sobivad
%(-3.5;-2.1) ja (-1.5;2.5) ja (2.3;1.5) ja (3;-0.2)

%Kontrollime koonduvust
x=3;
y=-0.2;
G(1,1)=0;
G(1,2)=-1/sqrt(8-2*y);
G(2,1)=1;
G(2,2)=2*y;
tuletis=norm(G,1);

%Koostame võrrandisüsteemi vasakutest pooltest vektorfunktsiooni,
%mille argumendiks on vektor z=(z(1),z(2)), kus z(1)=x ja z(2)=y
F=@(z)[z(1)^2+2*z(2)-8;z(1)+z(2)^2-z(2)-3];
%NB! Peab olema veeruvektor!

%Lahendame võrrandisüsteemi HIM kasutades
%Esimene lahend
z=[-3.5,-2.1]; %alglähend jooniselt (esimese lõikepunkti koordinaadid)
i=0; %sammude arv
while norm(F(z),1)>10^-6
    z(1)=-sqrt(8-2*z(2));
    z(2)=-sqrt(3-z(1)+z(2));
    i=i+1;
end
lahend1HIM=z
sammud1HIM=i
kontroll1=F(lahend1HIM)

%Teine lahend
z=[-1.5,2.5]; %alglähend jooniselt (esimese lõikepunkti koordinaadid)
i=0; %sammude arv
while norm(F(z),1)>10^-6
    z(1)=-sqrt(8-2*z(2));
    z(2)=sqrt(3-z(1)+z(2));
    i=i+1;
end
lahend2HIM=z
sammud2HIM=i

%Kolmas lahend
z=[2.3,1.5]; %alglähend jooniselt (esimese lõikepunkti koordinaadid)
i=0; %sammude arv
while norm(F(z),1)>10^-6
    z(1)=sqrt(8-2*z(2));
    z(2)=sqrt(3-z(1)+z(2));
    i=i+1;
end
lahend3HIM=z
sammud3HIM=i

%Neljas lahend
z=[3,-0.2]; %alglähend jooniselt (esimese lõikepunkti koordinaadid)
i=0; %sammude arv
while norm(F(z),1)>10^-6
    z(1)=sqrt(8-2*z(2));
    z(2)=z(1)+z(2)^2-3;
    i=i+1;
end
lahend4HIM=z
sammud4HIM=i

%Lahendame süsteemi Newtoni meetodi abil
z=[-3.5;-2.1]; %alglähend jooniselt veeruvektorina!
i=0; %sammude arv
while norm(F(z),1)>10^-6
    %sisestame Jacobi maatriksi
     Ftuletis(1,1)=2*z(1);
     Ftuletis(1,2)=2;
     Ftuletis(2,1)=1;
     Ftuletis(2,2)=2*z(2)-1;
     %Newtoni meetod
     z=z-inv(Ftuletis)*F(z);
     i=i+1;
end
lahend1NM=z
sammud1NM=i
%teeme koondvektori
lahend1=[lahend1HIM lahend1NM' sammud1HIM sammud1NM]

z=[-1.5;2.5]; %alglähend jooniselt veeruvektorina!
i=0; %sammude arv
while norm(F(z),1)>10^-6
    %sisestame Jacobi maatriksi
     Ftuletis(1,1)=2*z(1);
     Ftuletis(1,2)=2;
     Ftuletis(2,1)=1;
     Ftuletis(2,2)=2*z(2)-1;
     %Newtoni meetod
     z=z-inv(Ftuletis)*F(z);
     i=i+1;
end
lahend2NM=z
sammud2NM=i
%teeme koondvektori
lahend2=[lahend2HIM lahend2NM' sammud2HIM sammud2NM]

z=[2.3;1.5]; %alglähend jooniselt veeruvektorina!
i=0; %sammude arv
while norm(F(z),1)>10^-6
    %sisestame Jacobi maatriksi
     Ftuletis(1,1)=2*z(1);
     Ftuletis(1,2)=2;
     Ftuletis(2,1)=1;
     Ftuletis(2,2)=2*z(2)-1;
     %Newtoni meetod
     z=z-inv(Ftuletis)*F(z);
     i=i+1;
end
lahend3NM=z
sammud3NM=i
%teeme koondvektori
lahend3=[lahend3HIM lahend3NM' sammud3HIM sammud3NM] 

z=[3;-0.2]; %alglähend jooniselt veeruvektorina!
i=0; %sammude arv
while norm(F(z),1)>10^-6
    %sisestame Jacobi maatriksi
     Ftuletis(1,1)=2*z(1);
     Ftuletis(1,2)=2;
     Ftuletis(2,1)=1;
     Ftuletis(2,2)=2*z(2)-1;
     %Newtoni meetod
     z=z-inv(Ftuletis)*F(z);
     i=i+1;
end
lahend4NM=z
sammud4NM=i
%teeme koondvektori
lahend4=[lahend4HIM lahend4NM' sammud4HIM sammud4NM]