% Harjutustund 7, ylesanne 10
% võrrandisüsteemi esitame vektorfunktsioonina 
% F(z)=(f1(z),f2(z)), kusjuures vektor z=(x,y)
% m2rgime, et x=z(1) ja y=z(2)
% vorrandisysteem on kujul F(z)=0

% vorrandisysteem vektorfunktsiooni kujul:
F=@(z) [z(2)^2-1-z(1),z(1)^2-z(2)];

% leiame vektorfunktsiooni v22rtuse, kui z=(3,1) ehk x=3 ja y=1.
F([3,1])
% voi z=[3,1] ja F(z)

% esitame vorrandisysteemile vastavad jooned graafiliselt
ezplot('x=y^2-1')
hold on
ezplot('y=x^2')
hold off
yline(0)
grid on
% m22rame joonise pohjal algl2hendi(d) (-0.7,0.5) ja (1.2,1.4)
% 1) leiame vorrandisysteemi lahendid Matlabi k2suga fsolve
lahend1=fsolve(F,[-0.7,0.5])
lahend2=fsolve(F,[1.2,1.4])
kontroll2=F(lahend2)

% 2) lahendame vorrandisysteemi hariliku iteratsioonimeetodiga
% uurime koondumise tingimust ||G'(x,y)||<1 <-yksnorm
x=-0.7;
y=0.5;
Gtuletis=[0 1/(2*sqrt(y))
    1/(2*sqrt(x+1)) 0];
norm(Gtuletis,1) % <1, sobib
x=1.2;
y=1.4;
Gtuletis=[0 1/(2*sqrt(y))
    1/(2*sqrt(x+1)) 0];
norm(Gtuletis,1) % <1, sobib
% proovime Gtuletise defineerida vektorfunktsiooni z=(x,y) kaudu
Gtuletis2=@(z) [0 1/(2*sqrt(z(2)))
    1/(2*sqrt(z(1)+1)) 0];
z=[1.2,1.4];
norm(Gtuletis2(z),1)

% leiame algl2henditele vastavad lahendid
% (-0.7,0.5)
z=[-0.7,0.5];
sammud=0;
while norm(F(z))>10^(-4)
 z(1)=-sqrt(z(2));  % x=z(1)
 z(2)=sqrt(z(1)+1); % y=z(2)
 sammud=sammud+1;
end
lahend1=z
sammud1=sammud

% (1.2,1.4)
z=[1.2,1.4];
sammud=0;
while norm(F(z))>10^(-4)
 z(1)=sqrt(z(2));  % x=z(1)
 z(2)=sqrt(z(1)+1); % y=z(2)
 sammud=sammud+1;
end
lahend2=z
sammud2=sammud