% Harjutustund 4, ülesanne 1 ja ülesanne 3
% funktsiooni defineerimine
y=@(x) x^6-x-1;
% joonis
fplot(y,[-1.5,1.5])
yline(0)
grid on
% alglähend(id) -0.7 ja 1.2
% 1) lahendame võrrandi hariliku it. meetodiga
% avaldasime võrrandist x-i, saame x=g(x)
g=@(x) x^6-1;
x0=-0.7;
x1=g(x0)
x2=g(x1)
x3=g(x2)
x4=g(x3)
[x0,x1,x2,x3,x4] % silma järgi tundub, et meetod ei koondu
gtuletis=@(x) 6*x^5;
% uurime koondumise tingimust |g'(x)|<1 alglähendite korral
abs(gtuletis(-0.7)) % >1, ei sobi, tuleb valida uus g(x) alglähendi -0.7 jaoks
abs(gtuletis(1.2)) % >1, ei sobi, tuleb valida uus g(x) alglähendi 1.2 jaoks

uusg=@(x) nthroot(x+1,6);
uusgtuletis=@(x) 1/(6*nthroot((x+1)^5,6));
abs(uusgtuletis(-0.7)) % <1, antud g(x) sobib alglähendi -0.7 jaoks
abs(uusgtuletis(1.2)) % <1, antud g(x) sobib alglähendi 1.2 jaoks

x=-0.7;
sammud=0;
while abs(y(x))>10^(-3)
 x=-uusg(x); % hariliku it. meetodi eeskiri. Lahend - märgiga, ette -
 sammud=sammud+1;
end
lahend1=x
sammud1=sammud

x=1.2;
sammud=0;
while abs(y(x))>10^(-3)
 x=uusg(x); % hariliku it. meetodi eeskiri. Lahend + märgiga
 sammud=sammud+1;
end
lahend2=x
sammud2=sammud

% 2) lahendame Newtoni meetodiga
% alglähend ette antud, 0
ytuletis=@(x) 6*x^(5)-1;
x=0;
sammud=0;
while abs(y(x))>10^(-3)
 x=x-y(x)/ytuletis(x);
 sammud=sammud+1;
end
lahendnewton=x
sammudnewton=sammud

% 3) alglähend 0, lahendame hariliku it. meetodiga
x=0;
sammud=0;
while abs(y(x))>10^(-3)
 x=uusg(x); % hariliku it. meetodi eeskiri. Lahend + märgiga
 sammud=sammud+1;
end
lahendharilik=x
sammudharilik=sammud