% Tund nr 6, ülesanne 2
% teeme joonise alglähendite määramiseks
ezplot('x^2+2*y-8=0',[-5,4,-3,4])
hold on
grid on
m=ezplot('x+y^2-y-3=0',[-5,4,-3,4])
set(m,'color','r')
hold off
% jooniselt on näha, et alglähenditeks võime võtta
% (-3.5;-2) ja (-1.5;2.7) ja (2.3;1.5) ja (3;0)
% leiame G(x) ja 
% koondumise piisavat tingimust
% 1) esimese alglähendi korral uurime G'(x)-i
x=-3.5;
y=-2;
G=[-x,0; 0,1-2*y];
norm(G,1) % ei sobi, kuna norm G'(x) ei ole < 1
% 2) teise alglähendi korral uurime G'(x)-i
x=-1.5;
y=2.7;
G=[-x,0; 0,1-2*y];
norm(G,1) % ei sobi, kuna norm G'(x) ei ole < 1
% 3) kolmanda alglähendi korral uurime G'(x)-i
x=2.3;
y=1.5;
G=[-x,0; 0,1-2*y];
norm(G,1) % ei sobi, kuna norm G'(x) ei ole < 1
% 4) neljanda alglähendi korral uurime G'(x)-i
x=3;
y=0;
G=[-x,0; 0,1-2*y];
norm(G,1) % ei sobi, kuna norm G'(x) ei ole < 1
% valime uue G(x) ja uurime taas koondumise piisavat tingimust
% 1) esimese alglähendi korral uurime G'(x)-i
x=-3.5;
y=-2;
uusG=[0,-1/sqrt(8-2*y);-1/(2*sqrt(3+y-x)),1/(2*sqrt(3+y-x)) ];
norm(uusG,1) % sobib, kuna norm G'(x) on < 1
% 2) teise alglähendi korral uurime G'(x)-i
x=-1.5;
y=2.7;
uusG=[0,-1/sqrt(8-2*y);-1/(2*sqrt(3+y-x)),1/(2*sqrt(3+y-x)) ];
norm(uusG,1) % sobib, kuna norm G'(x) on < 1
% 3) kolmanda alglähendi korral uurime G'(x)-i
x=2.3;
y=1.5;
uusG=[0,-1/sqrt(8-2*y);-1/(2*sqrt(3+y-x)),1/(2*sqrt(3+y-x)) ];
norm(uusG,1) % sobib, kuna norm G'(x) on < 1
% 4) neljanda alglähendi korral uurime G'(x)-i
x=3.0;
y=-0.2;
uusG=[0,-1/sqrt(8-2*y);-1/(2*sqrt(3+y-x)),1/(2*sqrt(3+y-x)) ];
norm(uusG,1) % ei sobi, kuna norm G'(x) on < 1
% lahendame esimese kolme alglähendi korral HIMiga.
% paneme kirja funktsiooni F, x=z(1) ja y=z(2)
F=@(z) [z(1)^2+2*z(2)-8,z(1)+z(2)^2-z(2)-3];
% 1) esimese alglähendi korral
z=[-3.5,-2];
i=0;
while norm(F(z),1)>10^-6
    z(1)=-sqrt(8-2*z(2));
    z(2)=-sqrt(3+z(2)-z(1));
    i=i+1;
end
lahend1h=z
sammud1h=i
kontroll1h=F(lahend1h)
% 2) teise alglähendi korral
z=[-1.5,2.7];
i=0;
while norm(F(z),1)>10^-6
    z(1)=-sqrt(8-2*z(2));
    z(2)=sqrt(3+z(2)-z(1));
    i=i+1;
end
lahend2h=z
sammud2h=i
kontroll2h=F(lahend2h)
% 3) kolmanda alglähendi korral
z=[2.3,1.5];
i=0;
while norm(F(z),1)>10^-6
    z(1)=sqrt(8-2*z(2));
    z(2)=sqrt(3+z(2)-z(1));
    i=i+1;
end
lahend3h=z
sammud3h=i
kontroll3h=F(lahend3h)
% valime uue G neljanda alglähendi (3,0)
% 4) neljanda alglähendi korral uurime G'(x)-i
x=3.0;
y=0;
uuemG=[0,-1/sqrt(8-2*y);1,2*y ];
norm(uuemG,1) % sobib, kuna norm G'(x) on ligikaudu < 1
% lahendame HIMiga
z=[3,0];
i=0;
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
lahend4h=z
sammud4h=i
kontroll4h=F(lahend4h)