clear %vahemälu puhtaks

alfa=5 %eesnime tähtede arv
beeta=8 %perekonnanime tähtede arv
gamma=6 %matrikli viimane number

A=[1 4 2
    0 7 10
    8 2 23]
c=[3
    -5
    1]

%muudame andmed
for i=1:3
    for j=1:3
        A(i,j)=A(i,j)+(-1)^(i-j+gamma)*beeta;
    end 
    c(i)=c(i)+(-1)^(i-gamma)*alfa;
end
A
c

%seega on vaja lahendada VS
%8*x^2+15*y=2
%16*x+6*y^2=0

%Joonis alglähendite jaoks
ezplot('8*x^2+15*y-2')
grid on
hold on
h=ezplot('16*x+6*y^2')
set(h,'Color','k')
title('Joonis alglähendite leidmiseks')
legend('8*x^2+15*y-2','16*x+6*y^2')

%Jooniselt on näha 2 lõikepunkti => 2 lahendit süsteemil
%Alglähenditeks sobivad (-2;-2) ja (0;0)
%Täpsustame esimest lahendit.

%Kas sobib lahendamiseks g_1=-sqrt(1/8*(2-15*y)) ja g_2=-sqrt(-8/3*x)?
x=-2;
y=-2;
g_1x=0
g_1y=15/(16*sqrt(1/8*(2-15*y)))
g_2x=4/(3*sqrt(-8/3*x))
g_2y=-0
%sobib, sest tuletiste väärtused on 1 väiksemad

%harilik iteratsioonimeetod
%%%%%%%%%%%%%%%%%%%
%defineerime võrrandisüsteemi mõlemad võrrandid, kui x=z(1),y=z(2)
f1=@(z)8*z(1)^2+15*z(2)-2;
f2=@(z)16*z(1)+6*z(2)^2;
%defineerime funktsioonidest moodustatud vektori
F=@(z)[f1(z),f2(z)];
%alglähend (valisime jooniselt)
z=[-2.1,-2.1];
n=0; %sammude arv
while norm(F(z),2)>10^-3
    z(1)=-sqrt(1/8*(2-15*z(2)));
    z(2)=-sqrt(-8/3*z(1));
    n=n+1;
end
vastusHIM=z
sammude_arv=n

%Newtoni meetod
z=[-2.1;-2.1]; %alglähend jooniselt NB! veeruvektor
%defineerime maatriksi B (Jacobi maatriks, kus x=z(1) ja y=z(2))
B(1,1)=16*z(1);
B(1,2)=15;
B(2,1)=16;
B(2,2)=12*z(2);
m=0; %sammude arv
while norm(F(z),2)>10^-3
    z=z-inv(B)*F(z)'; %Newtoni meetodi eeskiri, NB! transponeerimine
    m=m+1;
end
vastusNM=z
sammude_arv_NM=m

