fplot(@(x)x.^3-6*x.^2+3*atan(x)+3,[-2,7])
grid on
%jooniselt on näha, et võrrandil on 3 lahendit:
%-0,5 ja 1 ja 5,7 <=> sobivad alglähenditeks

%Kontrollime koonduvust, kui avaldasime x x^3 liikmest
%x=-0.5; 
%tuletis=abs((12*x-3/(1+x^2))/(3*nthroot((6*x^2-3*atan(x)-3)^2,3)))
%ei sobi, tuletise väärtus on suurem kui 1
%x=1;
%tuletis=abs((12*x-3/(1+x^2))/(3*nthroot((6*x^2-3*atan(x)-3)^2,3)))
%ei sobi, tuletise väärtus on suurem kui 1
%x=5.7;
%tuletis=abs((12*x-3/(1+x^2))/(3*nthroot((6*x^2-3*atan(x)-3)^2,3)))
%SOBIB
%Kontrollime koonduvust, kui avaldasime x x^2 liikmest
%x=-0.5;
%tuletis=abs((x^2+1/(1+x^2))/(4*sqrt(1/6*(x^3+3*atan(x)+3))))
%SOBIB
%x=1;
%tuletis=abs((x^2+1/(1+x^2))/(4*sqrt(1/6*(x^3+3*atan(x)+3))))
%SOBIB

%HIM
f=@(x)x.^3-6*x.^2+3*atan(x)+3; %defineerime võrrandi vasaku poole

%Esimene lahend
x=-0.5; %alglähend jooniselt
while abs(f(x))>10^-6 %10^-6 on meie valitud täpsus
    x=-sqrt(1/6*(x^3+3*atan(x)+3));
end
vastus1=x
kontroll1=f(vastus1)

%Teine lahend
x=1; %alglähend jooniselt
while abs(f(x))>10^-6 %10^-6 on meie valitud täpsus
    x=sqrt(1/6*(x^3+3*atan(x)+3));
end
vastus2=x
kontroll2=f(vastus2)

%Kolmas lahend
x=5.7; %alglähend jooniselt
while abs(f(x))>10^-6
    x=nthroot(6*x^2-3*atan(x)-3,3);
end
vastus3=x
kontroll3=f(vastus3)

%Newtoni meetod
ftuletis=@(x)3*x^2-12*x+3/(1+x^2);
%Esimene lahend
x=-0.5;
while abs(f(x))>10^-6
    x=x-f(x)/ftuletis(x);
end
lahendNM1=x

%Teine lahend
x=1;
while abs(f(x))>10^-6
    x=x-f(x)/ftuletis(x);
end
lahendNM2=x

%Kolmas lahend
x=5.7;
while abs(f(x))>10^-6
    x=x-f(x)/ftuletis(x);
end
lahendNM3=x

%vastused vektorina
vastusHIM=[vastus1, vastus2, vastus3]
vastusNM=[lahendNM1, lahendNM2, lahendNM3]
    

    