% Tund nr 6, ülesanne 1
% lahendame võrrandisüsteemi hariliku iteratsioonimeetodiga
% huvitab, millised on alglähendid
% teeme joonise alglähendite määramiseks
ezplot('x=y^2-1',[-2,2,-1,2])
hold on
grid on
m=ezplot('y=x^2',[-2,2,-1,2])
set(m,'color','r')
hold off
% jooniselt on näha, et alglähenditeks võime võtta 
% (-0.75;0.5) ja (1.2;1.5)
% 1) uurime koondumise tingimust esimese alglähendi korral
x=-0.75;
y=0.5;
G=[0,2*y;2*x,0];
norm(G,1) % ei sobi
% 2) uurime koondumise tingimust teise  alglähendi korral
x=1.2;
y=1.5;
G=[0,2*y;2*x,0];
norm(G,1) % ei sobi
% valime uue G
% 1) uurime koondumise tingimust esimese alglähendi korral
x=-0.75;
y=0.5;
uusG=[1/(2*sqrt(x+1)),0; 0,1/(2*sqrt(y))];
norm(uusG,1) % sobib ligikaudu
% 2) uurime koondumise tingimust teise alglähendi korral
x=1.2;
y=1.5;
uusG=[1/(2*sqrt(x+1)),0; 0,1/(2*sqrt(y))];
norm(uusG,1) % sobib, kuna 0.4082<1

% lahendame hariliku iteratsioonimeetodiga
% defineerime võrrandisüsteemile vastava vektorfunktsiooni F
% x=z(1) ja y=z(2) - tähistame ümber
F=@(z) [z(1)-z(2)^2+1,z(2)-z(1)^2];
z=[-0.75,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
lahend1=z
sammud1=i

% 2) teise alglähendi korral lahendame HIMga
z=[1.2,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
lahend2=z
sammud2=i
kontroll=F(lahend2)