% Tund 7, ülesanne 2
% võrrandisüsteem vektorfunktsioonina
% F(z)=(f_1(z),f_2(z)), kus z=(x,y)
% tähistame x=z(1), y=z(2)
% defineerime vektorfunktsiooni
F=@(z) [z(1)^2+2*z(2)-8;z(1)+z(2)^2-z(2)-3]; % veeruvektor
% võrrandisüsteemis olevate joonte graafikud
% alglähendid graafikult
ezplot('x^2+2*y-8=0')
hold on
ezplot('x+y^2-y-3=0')
hold off
grid on
% alglähendid (-3.5,-2.1), (-1.7,2.7),(2.3,1.5) ja (2.6,0.1)
z=[-3.5;-2.1]; % veeruvektor
i=0;
while norm(F(z),1)>10^-4
  Ftuletis=[2*z(1),2;1,2*z(2)-1];
  z=z-inv(Ftuletis)*F(z);  % transponeerime, saame veeruvektori
  i=i+1;
end
lahend1n=z
sammud1n=i
z=[-1.7;2.7]; % veeruvektor
i=0;
while norm(F(z),1)>10^-4
  Ftuletis=[2*z(1),2;1,2*z(2)-1];
  z=z-inv(Ftuletis)*F(z);  % transponeerime, saame veeruvektori
  i=i+1;
end
lahend2n=z
sammud2n=i
z=[2.3;1.5]; % veeruvektor
i=0;
while norm(F(z),1)>10^-4
  Ftuletis=[2*z(1),2;1,2*z(2)-1];
  z=z-inv(Ftuletis)*F(z);  % transponeerime, saame veeruvektori
  i=i+1;
end
lahend3n=z
sammud3n=i
z=[2.6;0.1]; % veeruvektor
i=0;
while norm(F(z),1)>10^-4
  Ftuletis=[2*z(1),2;1,2*z(2)-1];
  z=z-inv(Ftuletis)*F(z);  % transponeerime, saame veeruvektori
  i=i+1;
end
lahend4n=z
sammud4n=i

% lahendame võrrandisüsteemi teise iteratsioonimeetodiga, hariliku it.
% meetodiga
% uurime koondumist ||G'(x,y)||<1 (üksnorm)
syms x y
tuletised=jacobian([sqrt(8-2*y),sqrt(y+3-x)],[x,y])
x=-3.5;
y=-2.1;
norm(subs(tuletised),1)
Gtuletis=[0, -2^(1/2)/(2*(4 - y)^(1/2));-1/(2*(y - x + 3)^(1/2)),    1/(2*(y - x + 3)^(1/2))]
norm(Gtuletis,1) % sobib <1
x=-1.7;
y=2.7;
Gtuletis=[0, -2^(1/2)/(2*(4 - y)^(1/2));-1/(2*(y - x + 3)^(1/2)),    1/(2*(y - x + 3)^(1/2))]
norm(Gtuletis,1) % sobib
x=2.3;
y=1.5;
Gtuletis=[0, -2^(1/2)/(2*(4 - y)^(1/2));-1/(2*(y - x + 3)^(1/2)),    1/(2*(y - x + 3)^(1/2))]
norm(Gtuletis,1) % sobib <1
x=2.3;
y=1.5;
Gtuletis=[0, -2^(1/2)/(2*(4 - y)^(1/2));-1/(2*(y - x + 3)^(1/2)),    1/(2*(y - x + 3)^(1/2))]
norm(Gtuletis,1) % sobib <1
x=2.6;
y=0.1;
Gtuletis=[0, -2^(1/2)/(2*(4 - y)^(1/2));-1/(2*(y - x + 3)^(1/2)),    1/(2*(y - x + 3)^(1/2))]
norm(Gtuletis,1) % ei sobi
z=[-3.5;-2.1];
i=0;
while norm(F(z),1)>10^-4
z(1)=-sqrt(8-2*z(2));
z(2)=-sqrt(z(2)+3-z(1));
i=i+1;
end
lahend1h=z
sammud1h=i
[sammud1n,sammud1h]
z=[-1.7;2.7];
i=0;
while norm(F(z),1)>10^-4
z(1)=-sqrt(8-2*z(2));
z(2)=sqrt(z(2)+3-z(1));
i=i+1;
end
lahend2h=z
sammud2h=i
[sammud2n,sammud2h]
z=[2.3;1.5];
i=0;
while norm(F(z),1)>10^-4
z(1)=sqrt(8-2*z(2));
z(2)=sqrt(z(2)+3-z(1));
i=i+1;
end
lahend3h=z
sammud3h=i
[sammud3n,sammud3h]
x=2.6;
y=0.1;
uusGtuletis=[0,-1/sqrt(8-2*y);1,2*y];
norm(uusGtuletis,1) % ~<1, sobib
z=[2.6;0.1];
i=0;
while norm(F(z),1)>10^-4
z(1)=sqrt(8-2*z(2));
z(2)=z(1)+z(2)^2-3;
i=i+1;
end
lahend4h=z
sammud4h=i
[sammud4n,sammud4h]