% Harjutustund nr. 6, ülesanne 1
% leiame alglähendid jooniselt
ezplot('x=y^2-1')
hold on
ezplot('y=x^2')
hold off
grid on
% alglähenditeks võime võtta punktid (-0.7,0.5) ja (1.2,1.5)
% uurime koondumise tingimust ||G'(x,y)||<1 - üksnorm

% a) uurime koondumise tingimust alglähendi (-0.7,0.5) korral
x=-0.7;
y=0.5;
Gtuletis=[1/(2*sqrt(x+1)),0;0,1/(2*sqrt(y))];
norm(Gtuletis,1) % ~0.9129<1, sobib

% b) uurime koondumise tingimust alglähendi (1.2,1.5) korral
x=1.2;
y=1.5;
Gtuletis=[1/(2*sqrt(x+1)),0;0,1/(2*sqrt(y))];
norm(Gtuletis,1) % ~0.4082<1, sobib

% lahendame võrrandisüsteemi hariliku iteratsioonimeetodiga

% defineerime vektorfunktsiooni F(x,y)=(f_1(x,y),f_2(x,y)).
% olgu vektor z=(x,y), kusjuures x=z(1) ja y=z(2) - tähistame
% vektorfunktsioon omab siis kuju F(z)=(f_1(z),f_2(z)).
% võrrandisüsteem on siis kujul F(z)=0
F=@(z) [z(1)-z(2).^2+1,z(2)-z(1).^2];

% a) lahendame alglähendi (-0.7,0.5) korral
z=[-0.7,0.5]; % alglähendi koordinaadid reavektori kujul
i=0;
% defineerime funktsiooni G
G=@(z) [-sqrt(z(2)),sqrt(z(1)+1)];
while (norm(F(z)))>10^-3
    z=G(z);
    i=i+1;
end
lahend1=z
sammud1=i

% b) lahendame alglähendi (1.2,1.5) korral
z=[1.2,1.5]; % alglähendi koordinaadid reavektori kujul
i=0;
% defineerime funktsiooni G
G=@(z) [sqrt(z(2)),sqrt(z(1)+1)];
while (norm(F(z)))>10^-3
    z=G(z);
    i=i+1;
end
lahend2=z
sammud2=i
kontroll2=F(lahend2)

% leiame näiteks alglähendile (1.2,1.5) vastava lahendi Seideli meetodiga
z=[1.2,1.5]; % alglähendi koordinaadid reavektori kujul
i=0;
while (norm(F(z)))>10^-3
    z(1)=sqrt(z(2));
    z(2)=sqrt(z(1)+1);
    i=i+1;
end
lahend2seidel=z
sammud2seidel=i
  


