% Tund 6, ülesanne 3
% lahendame võrrandisüsteemi hariliku iteratsioonimeetodiga
% vektor z=(x,y)
% vektorfunktsioon
% x=z(1), y=z(2)
F=@(z) [z(1)-z(2)^2+1;z(1)^2-z(2)]; % veeruvektorina
% alglähendid jooniselt
ezplot('x=y^2-1',[-2,2,-2,2])
hold on
ezplot('y=x^2',[-2,2,-2,2])
hold off
grid on
% alglähenditeks võime võtta (-0.7,0.5) ja (1.3,1.5)
% a) lahendame hariliku iteratsioonimeetodiga
x=-0.7;
y=0.5;
Gtuletis=[0,1/(2*sqrt(y));1/(2*sqrt(x+1)),0];
norm(Gtuletis,1) % sobib, <1
x=1.3;
y=1.5;
Gtuletis=[0,1/(2*sqrt(y));1/(2*sqrt(x+1)),0];
norm(Gtuletis,1) % sobib, <1
z=[-0.7,0.5];
i=0;
while norm(F(z),1)>10^-6
 z(1)=-sqrt(z(2));
 z(2)=sqrt(z(1)+1);
 i=i+1;
end
lahend1h=z
sammud1h=i
z=[1.3,1.5];
i=0;
while norm(F(z),1)>10^-6
 z(1)=sqrt(z(2));
 z(2)=sqrt(z(1)+1);
 i=i+1;
end
lahend2h=z
sammud2h=i

% b) lahendame Newtoni meetodiga
z=[-0.7;0.5]; % veeruvektorina
i=0;
while norm(F(z),1)>10^-6
 Ftuletis=[1,-2*z(2);2*z(1),-1];
 z=z-inv(Ftuletis)*F(z);
 i=i+1;
end
lahend1n=z
sammud1n=i
[sammud1h,sammud1n]

z=[1.3;1.5]; % veeruvektorina
i=0;
while norm(F(z),1)>10^-6
 Ftuletis=[1,-2*z(2);2*z(1),-1];
 z=z-inv(Ftuletis)*F(z);
 i=i+1;
end
lahend2n=z
sammud2n=i
[sammud2h,sammud2n]