% Harjutustund 6, ülesanne 10
% VÕRRANDISÜSTEEMI LAHENDAMINE HARILIKU ITERATSIOONIMEETODIGA
% joonis
hold on
ezplot('x=y^2-1')
ezplot('y=x^2')
grid on
yline(0)
hold off
% alglähendid (-0.8,0.4) -> (-0.7,0.5) ja (1.2,1.3)
% uurime koondumise tingimust alglähendite korral
% ||G'(x,y)||_1<1
x=-0.7;
y=0.5;
Gtuletis=[0 1/(2*sqrt(y))
    1/(2*sqrt(x+1)) 0];
norm(Gtuletis,1) % esimesel kohal, millest normi võtame, teisel kohal peale
% koma, millise normi leiame
% saime normiks 0.9129<1 sobib
x=1.2;
y=1.3;
Gtuletis=[0 1/(2*sqrt(y))
    1/(2*sqrt(x+1)) 0];
norm(Gtuletis,1) % 0.4385<1, sobib
% leiame lahendid hariliku it. meetodiga
% defineerime võrrandisüsteemi vektorfunktsioonina
% F(x,y)=(f_1(x,y),f_2(x,y))
% tähistame z=(x,y) <-vektor
% F(z)=(f_1(z),f_2(z)) <- vektorfunktsioon
% vektorfunktsioon F sõltub vektorist z
% arvestame, et x on vektori z esimene koordinaat, st x=z(1) ja
% y on vektori z teine koordinaat, st y=z(2)
F=@(z) [z(1)-z(2)^2+1,z(2)-z(1)^2];
% (-0.7,0.5)
z=[-0.7,0.5]; % alglähend vektorina
sammud=0;
while norm(F(z),1)>10^(-5)
  z(1)=-sqrt(z(2));   % z(1)=x, hariliku it. meetodi x-i eeskiri
  z(2)=sqrt(z(1)+1);  % z(2)=y, hariliku it. meetodi y-i eeskiri
  sammud=sammud+1;
end
lahend1=z
sammud1=sammud
% (1.2,1.3)
z=[1.2,1.3]; % alglähend vektorina
sammud=0;
while norm(F(z),1)>10^(-5)
  z(1)=sqrt(z(2));   % z(1)=x, hariliku it. meetodi x-i eeskiri
  z(2)=sqrt(z(1)+1);  % z(2)=y, hariliku it. meetodi y-i eeskiri
  sammud=sammud+1;
end
lahend2=z
sammud2=sammud