% Tund 6, ülesanne 4 / Tund 7, ülesanne 2
% lahendame võrrandisüsteemi hariliku iteratsioonimeetodiga
% vektor z=(x,y)
% vektorfunktsioon
% x=z(1), y=z(2)
F=@(z) [z(1)^2+2*z(2)-8;z(1)+z(2)^2-z(2)-3]; % veeruvektorina
% alglähendid jooniselt
ezplot('x^2+2*y-8=0')
hold on
ezplot('x+y^2-y-3=0')
hold off
grid on
% alglähenditeks võime võtta (-3.5,-2.1), (-1.6,2.6), (2.2,1.5) ja (2.8,-0.1)

% a) hariliku iteratsioonimeetodiga
% valime sobivad x=g_1(x,y) ja y=g_2(x,y), et koonduks
% koondumise tingimus ||G'(x,y)||<1, vaatleme üksnormi
x=-3.5;
y=-2.1;
Gtuletis=[0,-1/sqrt(8-2*y);-1/(2*sqrt(y+3-x)),1/(2*sqrt(y+3-x))];
norm(Gtuletis,1) % sobib, <1

x=-1.6;
y=2.6;
Gtuletis=[0,-1/sqrt(8-2*y);-1/(2*sqrt(y+3-x)),1/(2*sqrt(y+3-x))];
norm(Gtuletis,1) % sobib, <1

x=2.2;
y=1.5;
Gtuletis=[0,-1/sqrt(8-2*y);-1/(2*sqrt(y+3-x)),1/(2*sqrt(y+3-x))];
norm(Gtuletis,1) % sobib, <1

x=2.8;
y=-0.1;
Gtuletis=[0,-1/sqrt(8-2*y);-1/(2*sqrt(y+3-x)),1/(2*sqrt(y+3-x))];
norm(Gtuletis,1) % ei sobi

% leiame kolmele alglähendile vastava lahendi
z=[-3.5;-2.1];
i=0;
while norm(F(z),1)>10^-6
 z(1)=-sqrt(8-2*z(2));
 z(2)=-sqrt(z(2)+3-z(1));
 i=i+1;
end
lahend1h=z
sammud1h=i
z=[-1.6;2.6];
i=0;
while norm(F(z),1)>10^-6
 z(1)=-sqrt(8-2*z(2));
 z(2)=sqrt(z(2)+3-z(1));
 i=i+1;
end
lahend2h=z
sammud2h=i

z=[2.2;1.5];
i=0;
while norm(F(z),1)>10^-6
 z(1)=sqrt(8-2*z(2));
 z(2)=sqrt(z(2)+3-z(1));
 i=i+1;
end
lahend3h=z
sammud3h=i