% Tund nr 4, ülesanne 2
% lahendame võrrandi x^3-6x^2+3arctan x+3=0
% defineerime funktsiooni
f=@(x) x.^3-6*x.^2+3*atan(x)+3;
% teeme joonise, et määrata alglähend(id)
fplot(f,[-1,6])
grid on
yline(0)
% näeme jooniselt, et alglähenditeks võime võtta 
% -0,5 ja 1 ja 5.7

% defineerime funktsiooni tuletise
ftuletis=@(x) 3*x^2-12*x+3/(1+x^2);

% võtame alglähendiks -0.5, lahendame Newtoni 
% meetodiga
x=-0.5;
i=0; 
while abs(f(x))>10^-5
    x=x-f(x)/ftuletis(x);
    i=i+1;
end
lahend1NM=x
sammud1NM=i
kontroll1=f(lahend1NM)

% võtame alglähendiks 1, lahendame Newtoni 
% meetodiga
x=1;
i=0; 
while abs(f(x))>10^-5
    x=x-f(x)/ftuletis(x);
    i=i+1;
end
lahend2NM=x
sammud2NM=i
kontroll2=f(lahend2NM)

% võtame alglähendiks 5.7, lahendame Newtoni 
% meetodiga
x=5.7;
i=0; 
while abs(f(x))>10^-5
    x=x-f(x)/ftuletis(x);
    i=i+1;
end
lahend3NM=x
sammud3NM=i
kontroll3=f(lahend3NM)

% lahendame võrrandi modifitseeritud Newtoni
% meetodiga
% alglähendiks võtame -0.5
x=-0.5;
i=0; 
while abs(f(x))>10^-5
    x=x-f(x)/ftuletis(-0.5);
    i=i+1;
end
lahend1mNM=x
sammud1mNM=i
kontroll1=f(lahend1mNM)

% alglähendiks võtame 1
x=1;
i=0; 
while abs(f(x))>10^-5
    x=x-f(x)/ftuletis(1);
    i=i+1;
end
lahend2mNM=x
sammud2mNM=i
kontroll2=f(lahend2mNM)

% alglähendiks võtame 5.7
x=5.7;
i=0; 
while abs(f(x))>10^-5
    x=x-f(x)/ftuletis(5.7);
    i=i+1;
end
lahend3mNM=x
sammud3mNM=i
kontroll3=f(lahend3mNM)

% lahendame võrrandi hariliku iteratsioonimeetodiga
% uurime koondumise tingimust |g'(x)|<1.
x=-0.5; % ei sobi
gtuletis=abs(1/3*(6*x^2-3*atan(x)-3)^(-2/3)*(12*x-3/(1+x^2)))
x=1; % ei sobi
gtuletis=abs(1/3*(6*x^2-3*atan(x)-3)^(-2/3)*(12*x-3/(1+x^2)))
x=5.7; % sobib
gtuletis=abs(1/3*(6*x^2-3*atan(x)-3)^(-2/3)*(12*x-3/(1+x^2)))

% lahendame HIMiga, kui alglähend on 5.7
x=5.7;
i=0;
n=0;
while (abs(f(x))>10^-5 & n<10)
    x=nthroot(6*x^2-3*atan(x)-3,3);
    i=i+1;
end
lahend1HIM=x
sammud1HIM=i