% Tund nr. 4, ülesanne 2
% võrrand hariliku iteratsioonimeetodiga
f=@(x) x^6-x-1;
fplot(f,[-1,1.5])
grid on
yline(0)
% alglähendid -0.5 ja 1.2
x=-0.5;
gtuletis=6*x^5;
abs(gtuletis) % sobib
x=1.2;
gtuletis=6*x^5;
abs(gtuletis) % ei sobi

% leiame -0.5le vastava lahendi
% x=-0.5;
% i=0;
% while abs(f(x))>10^(-3)
%  x=x^6-1;
%  i=i+1;
% end
% lahend1=x
% sammud1=i
% ei sobinud

% valime uue g(x), uurime koondumist, |g'(x)|<1
x=-0.5;
gtuletis=(1/6)*(x+1)^(-5/6);
abs(gtuletis) % sobib, kuna 0.2970<1
x=1.2;
gtuletis=(1/6)*(x+1)^(-5/6);
abs(gtuletis) % sobib, kuna 0.0864<1

% leiame alglähenditele vastavad lahendid
% hariliku iteratsioonimeetodiga
x=-0.5;
i=0;
while abs(f(x))>10^(-3)
  x=-nthroot(x+1,6); % x=g(x)
  i=i+1;
end
lahend1=x
sammud1=i

x=1.2;
i=0;
while abs(f(x))>10^(-3)
  x=nthroot(x+1,6); % x=g(x)
  i=i+1;
end
lahend2=x
sammud2=i

% alglähend ette antud, 0
% lahendame hariliku iteratsioonimeetodiga
x=0;
gtuletis=(1/6)*(x+1)^(-5/6);
abs(gtuletis) % sobib
x=0;
i=0;
while abs(f(x))>10^(-3)
  x=nthroot(x+1,6); % x=g(x)
  i=i+1;
end
lahendharilik=x
sammudharilik=i

% lahendame Newtoni meetodiga
% defineerime f-i tuletise ka funktsioonina
ftuletis=@(x) 6*x^5-1;
x=0;
i=0;
while abs(f(x))>10^(-3)
  x=x-f(x)/ftuletis(x); 
  i=i+1;
end
lahendnewton=x
sammudnewton=i