clear
% Tund nr 6, ülesanne 2
% lahendame võrrandisüsteemi hariliku iteratsioonimeetodiga
% teeme joonise alglähendite määramiseks
ezplot('x^2+2*y-8=0',[-4,4,-3,4])
hold on
grid on
m=ezplot('x+y^2-y-3=0',[-4,4,-3,4])
set(m,'color','r')
legend('x^2+2*y-8=0','x+y^2-y-3=0')
title('Graafik alglähendite leidmiseks')
hold off
% jooniselt on näha, et alglähenditeks
% võime võtta (-3.6;-2.2) ja (-1.5;2.7) ja (2.2;1.5) ja (2.8;-0.2)
% uurime koondumise tingimust HIMi korral
% 1) esimeses alglähendi korral
% defineerime maatriksi G
x=-3.6;
y=-2.2;
Gtuletismaatriks=[-x,0;0,1-2*y]; % ei sobi
tuletis=norm(Gtuletismaatriks,1)
% 2) esimeses alglähendi korral
x=-1.5;
y=2.7;
Gtuletismaatriks=[-x,0;0,1-2*y]; % ei sobi
tuletis=norm(Gtuletismaatriks,1)
% 3) esimeses alglähendi korral
x=2.2;
y=1.5;
Gtuletismaatriks=[-x,0;0,1-2*y]; % ei sobi
tuletis=norm(Gtuletismaatriks,1)
% 4) esimeses alglähendi korral
x=2.8;
y=-0.2;
Gtuletismaatriks=[-x,0;0,1-2*y]; % ei sobi
tuletis=norm(Gtuletismaatriks,1)
% valime uue G
% 1) esimeses alglähendi korral
% defineerime maatriksi G
x=-3.6;
y=-2.2;
uusG=[0,-1/sqrt(8-2*y);-1/(2*sqrt(-x+y+3)),1/(2*sqrt(-x+y+3))]; % sobib
tuletis=norm(uusG,1)
% 2) esimeses alglähendi korral
% defineerime maatriksi G
x=-1.5;
y=2.7;
uusG=[0,-1/sqrt(8-2*y);-1/(2*sqrt(-x+y+3)),1/(2*sqrt(-x+y+3))]; % sobib
tuletis=norm(uusG,1)
% 3) esimeses alglähendi korral
% defineerime maatriksi G
4
x=2.2;
y=1.5;
uusG=[0,-1/sqrt(8-2*y);-1/(2*sqrt(-x+y+3)),1/(2*sqrt(-x+y+3))]; % sobib
tuletis=norm(uusG,1)
% 4) esimeses alglähendi korral
% defineerime maatriksi G
x=3;
y=-0.2;
uusG=[0,-1/sqrt(8-2*y);-1/(2*sqrt(-x+y+3)),1/(2*sqrt(-x+y+3))]; % ligikaudu sobib
tuletis=norm(uusG,1)
veeluuemG=[0,-1/sqrt(8-2*y);1,2*y];
uustuletis=norm(veeluuemG,1)
% defineerime vektorfunktsiooni F arugmendiga z, kus x=z(1) ja y=z(2)
F=@(z) [z(1)^2+2*z(2)-8,z(1)+z(2)^2-z(2)-3];
% 1) leiame HIMiga, kui võtame aluseks esimese alglähendi
z=[-3.6,-2.2];
i=0;
while norm(F(z),1)>10^-6 % valitud täpsus
 z(1)=-sqrt(8-2*z(2));
 z(2)=-sqrt(z(2)-z(1)+3);
 i=i+1;
end
lahend1h=z
sammud1h=i
kontroll1h=F(lahend1h)
% 2) leiame HIMiga, kui võtame aluseks teise alglähendi
z=[-1.5,2.7];
i=0;
while norm(F(z),1)>10^-6 % valitud täpsus
 z(1)=-sqrt(8-2*z(2));
 z(2)=sqrt(z(2)-z(1)+3);
 i=i+1;
end
lahend2h=z
sammud2h=i
kontroll2h=F(lahend2h)
% 3) leiame HIMiga, kui võtame aluseks kolmanda alglähendi
z=[2.2,1.5];
i=0;
while norm(F(z),1)>10^-6 % valitud täpsus
 z(1)=sqrt(8-2*z(2));
 z(2)=sqrt(z(2)-z(1)+3);
 i=i+1;
end
lahend3h=z
sammud3h=i
kontroll3h=F(lahend3h)
% 4) leiame HIMiga, kui võtame aluseks neljanda alglähendi
z=[3,-0.2];
i=0;
while norm(F(z),1)>10^-6 % valitud täpsus
 z(1)=sqrt(8-2*z(2));
 z(2)=z(1)+z(2)^2-3;
 i=i+1;
 end
lahend4h=z
sammud4h=i
kontroll4h=F(lahend4h)
% lahendame süsteemi Newtoni meetodiga
% oluline, et F oleks veeruvektor, defineerime F ümber
F=@(z) [z(1)^2+2*z(2)-8;z(1)+z(2)^2-z(2)-3];
% 1) esimese alglähendi korral
z=[-3.6;-2.2]; % veeruvektor
i=0;
while norm(F(z),1)>10^-6 % valitud täpsus
 Ftuletis=[2*z(1),2;1,2*z(2)-1];
 z=z-inv(Ftuletis)*F(z);
 i=i+1;
end
lahend1n=z
sammud1n=i
kontroll1n=F(lahend1n)
% võrdleme tulemusi HIMi ja Newtoni meetodiga
lahend1=[lahend1h,lahend1n']
sammud1=[sammud1h,sammud1n]
% 2) teise alglähendi korral
z=[-1.5;2.7]; % veeruvektor
i=0;
while norm(F(z),1)>10^-6 % valitud täpsus
 Ftuletis=[2*z(1),2;1,2*z(2)-1];
 z=z-inv(Ftuletis)*F(z);
 i=i+1;
end
lahend2n=z
sammud2n=i
kontroll2n=F(lahend2n)
% võrdleme tulemusi HIMi ja Newtoni meetodiga
lahend2=[lahend2h,lahend2n']
sammud2=[sammud2h,sammud2n]
% 3) kolmanda alglähendi korral
z=[2.2;1.5]; % veeruvektor
i=0;
while norm(F(z),1)>10^-6 % valitud täpsus
 Ftuletis=[2*z(1),2;1,2*z(2)-1];
 z=z-inv(Ftuletis)*F(z);
 i=i+1;
end
lahend3n=z
sammud3n=i
kontroll3n=F(lahend3n)
% võrdleme tulemusi HIMi ja Newtoni meetodiga
lahend3=[lahend3h,lahend3n']
sammud3=[sammud3h,sammud3n]
% 4) neljanda alglähendi korral
z=[3;-0.2]; % veeruvektor
i=0;
while norm(F(z),1)>10^-6 % valitud täpsus
 Ftuletis=[2*z(1),2;1,2*z(2)-1];
6
 z=z-inv(Ftuletis)*F(z);
 i=i+1;
end
lahend4n=z
sammud4n=i
kontroll4n=F(lahend4n)
% võrdleme tulemusi HIMi ja Newtoni meetodiga
lahend4=[lahend4h,lahend4n']
sammud4=[sammud3h,sammud4n]