% Harjutustund 4, ülesanne 1 ja ülesanne 3
% 1. VÕRRANDI LAHENDAMINE HARILIKU ITERATSIOONIMEETODIGA
% funktsiooni defineerimine
y=@(x) x^6-x-1;
% graafik
fplot(y,[-2,2])
yline(0)
grid on
% graafikult alglähend(id)
% -0.7 ja 1.1
g=@(x) x^6-1;
% esitame mõned lähendid ja vaatame silma järgi, kas koonduks
x0=-0.7;
x1=g(x0)
x2=g(x1)
x3=g(x2)
x4=g(x3)
[x0,x1,x2,x3,x4] % tundub, et lähendite jada ei koondu mingiks konkreetseks 
% väärtuseks
gtuletis=@(x) 6*x^5;
% uurime koondumise tingimust
abs(gtuletis(-0.7)) % >1, ei sobi
abs(gtuletis(1.1)) % >1, ei sobi

% tuleb valida mõlema alglähendi jaoks uus g(x)
uusg=@(x) nthroot(x+1,6);
uusgtuletis=@(x) 1/(6*nthroot((x+1)^5,6));
% uurime koondumise tingimust
abs(uusgtuletis(-0.7)) % <1, sobib
abs(uusgtuletis(1.1)) % <1, sobib

% leiame alglähenditele -0.7 ka 1.1 vastavad lahendid
x=-0.7;
sammud=0;
while abs(y(x))>10^(-5)
 x=-uusg(x); % eeskiri. Lisame - märgi ette, kuna otsime - märgiga lahendit
 sammud=sammud+1;
end
lahend1=x
sammud1=sammud

x=1.1;
sammud=0;
while abs(y(x))>10^(-5)
 x=uusg(x); % eeskiri. Otsime + märgiga lahendit
 sammud=sammud+1;
end
lahend2=x
sammud2=sammud

% 2. VÕRRANDI LAHENDAMINE NEWTONI MEETODIGA
% ette on antud alglähend, x0=0.
ytuletis=@(x) 6*x^5-1;
x=0;
sammud=0;
while abs(y(x))>10^(-5)
 x=x-y(x)/ytuletis(x); % Newtoni m. eeskiri
 sammud=sammud+1;
end
lahendnewton=x
sammudnewton=sammud

% 3. ALGLÄHEND X0=0, LAHENDAME HARILIKU IT. MEETODIGA
% koonduv hariliku it. meetodi kuju varasemalt leitud
x=0;
sammud=0;
while abs(y(x))>10^(-5)
 x=uusg(x); % hariliku it. meetodi eeskiri.
 sammud=sammud+1;
end
lahendharilik=x
sammudharilik=sammud