% Tund nr 4, ülesanne 2
% lahendame võrrandi x^3-6x^2+3arctanx+3=0
% Newtoni meetodiga
% ja hariliku iteratsioonimeetodiga

% defineerime funktsiooni
f=@(x) x.^3-6*x.^2+3*atan(x)+3;

% graafik
fplot(f,[-1,6])
grid on
yline(0)

% jooniselt on näha, et alglähenditeks võime 
% võtta -0.5 ja 1 ja 5.8
ftuletis=@(x) 3*x^2-12*x+3/(1+x^2);

% lahendame Newtoni meetodiga, kui alglähend
% on -0.5
x=-0.5;
i=0; % sammude loendur
while abs(f(x))>10^-6
    x=x-f(x)/ftuletis(x);
    i=i+1;
end
lahend1NM=x
sammud1NM=i
kontroll1=f(lahend1NM)

% lahendame Newtoni meetodiga, kui alglähend
% on 1
x=1;
i=0; % sammude loendur
while abs(f(x))>10^-6
    x=x-f(x)/ftuletis(x);
    i=i+1;
end
lahend2NM=x
sammud2NM=i
kontroll2=f(lahend2NM)

% lahendame Newtoni meetodiga, kui alglähend
% on 5.8
x=5.8;
i=0; % sammude loendur
while abs(f(x))>10^-6
    x=x-f(x)/ftuletis(x);
    i=i+1;
end
lahend3NM=x
sammud3NM=i
kontroll3=f(lahend3NM)

lahendidNM=[lahend1NM,lahend2NM,lahend3NM]
sammudNM=[sammud1NM,sammud2NM,sammud3NM ]

% lahendame ette antud hariliku iteratsiooni-
% - meetodiga (HIM-ga)
x=-0.5; % ei sobi
gtuletis=abs(1/(3*nthroot((6*x^2-3*atan(x)-3)^2,3))*(12*x-3/(1+x^2)))
x=1; % ei sobi
gtuletis=abs(1/(3*nthroot((6*x^2-3*atan(x)-3)^2,3))*(12*x-3/(1+x^2)))
x=5.8; % sobib 
gtuletis=abs(1/(3*nthroot((6*x^2-3*atan(x)-3)^2,3))*(12*x-3/(1+x^2)))

% lahendame alglähendi 5.8 korral (HIM)
i=0; % sammude loendur
while abs(f(x))>10^-6
    x=x-f(x)/ftuletis(x);
    i=i+1;
end
lahend3NM=x
sammud3NM=i
kontroll3=f(lahend3NM)