clear
%Graafik alglähendite leidmiseks
fplot(@(x)[x.^6-x-1,0],[-1,1.5])
grid on
legend('x^6-x-1','y=0')
title('Joonis alglähendite leidmiseks')
%Jooniselt on näha, et funktsioonil on 2 nullkohta. Valime need
%kohad alglähenditeks. Meile sobivad -0.75 ja 1.2.

%Kontrollime HIM jaoks koonduvust.
%Kui g(x)=x^6-1, siis g'(x)=6x^5
x=-0.75; %alglähend jooniselt
tuletis=abs(6*x^5) %ei sobi, sest tulemus on suurem kui 1
x=1.2; %teine alglähend
tuletis=abs(6*x^5) %ei sobi, sest väärtus on suurem kui 1
%Kui g(x)=+-(x+1)^(1/6), siis g'(x)=+-1/6*nthroot((x+1)^5,6)
x=-0.75; %esimene alglähend
tuletis=abs(1/6*nthroot((x+1)^5,6)) %SOBIB
x=1.2; %teine alglähend
tuletis=abs(1/6*nthroot((x+1)^5,6))  %sobib

%Lahendame HIM kasutades
%defineerime funktsiooni f(x)
f=@(x)x^6-x-1; %võrrandi vasak pool

%esimene lahend
x=-0.75; %alglähend jooniselt
i=0; %sammude arv
while abs(f(x))>10^-6 %10^-6 meie valitud täpsus
    x=-nthroot(x+1,6); %meie g(x)=(x+1)^(1/6) ja märgi valime-,
    %sest otsime negatiivset lahendit
    i=i+1;
end
lahend1HIM=x
sammud1HIM=i

%teine lahend
x=1.2; %alglähend jooniselt
i=0; %sammude arv
while abs(f(x))>10^-6 %10^-6 meie valitud täpsus
    x=nthroot(x+1,6); %meie g(x)=(x+1)^(1/6) ja märgi valime+,
    %sest otsime positiivset lahendit
    i=i+1;
end
lahend2HIM=x
sammud2HIM=i

%Lahendame sama ülesande ka modifitseeritud Newtoni meetodiga
%defineerime f(x)=x^6-x-1 tuletise
ftuletis=@(x)6*x^5-1;

%esimene lahend
x=-0.75; %alglähend jooniselt
i=0; %sammude arv
ftul=ftuletis(x); %leiame tuletise väärtuse alglähendi korral
while abs(f(x))>10^-6
    x=x-f(x)/ftul;
    i=i+1;
end
lahend1MNM=x
sammud1MNM=i
tulemus1=[lahend1HIM lahend1MNM sammud1HIM sammud1MNM]
%esimene lahend vektorina

%teine lahend
x=1.2; %alglähend jooniselt
i=0; %sammude arv
ftul=ftuletis(x); %leiame tuletise väärtuse alglähendi korral
while abs(f(x))>10^-6
    x=x-f(x)/ftul;
    i=i+1;
end
lahend2MNM=x
sammud2MNM=i
tulemus2=[lahend2HIM lahend2MNM sammud2HIM sammud2MNM]
%teine lahend vektorina