% Harjutustund 11, ylesanne 3
x=[-1:0.1:-0.3];
y=[10,11,11.5,11.6,11.4,11.1,10,8.7];
h=0.1;

% a) esimest j2rku tuletised
tuletis(1)=(y(2)-y(1))/h
for i=2:(length(y)-1)
  tuletis(i)=(y(i+1)-y(i-1))/(2*h)
end
tuletis
tuletis(8)=(y(8)-y(7))/h

% b) l2hendame funktsiooni ja funktsiooni tuletist
% antud funktsiooni l2hendame kuupsplainiga S^(3,2)(x)
xx=[-1:0.001:-0.3]; % et kuupsplain oleks joonisel sujuvam, votame rohkem x-e
y3splain=interp1(x,y,xx,'spline');
plot(x,y,'o')
hold on
plot(xx,y3splain)
% tuletist l2hendame lineaarfunktsiooniga - lineaarsplainiga S^(1,0)(x)
y1splain=interp1(x,tuletis,xx,'linear');
hold on
plot(xx,y1splain)
yline(0) % x-telg
grid on

% esitame lineaarsplaini funktsiooni kujul
tuletisef=@(z) interp1(x,tuletis,z,'linear')

% c) leiame funktsiooni maksimumpunkti koordinaadid
% leiame statsionaarsed punktid tuletisef=0
% millistes punktides/millises punktis loikab tuletisef x-telge ->
% algl2hend
algl2hend=-0.7;
lahend=fsolve(tuletisef,algl2hend)
% esitame kuupsplaini ka funktsioonina (so ette antud funktsioon)
f=@(z) interp1(x,y,z,'spline');

% leiame funktsiooni v22rtused loigu [-1,-0.3] otspunktides ja
% statsionaarses punktis, so lahend=-0.7143
[f(-1) f(-0.3) f(lahend)]
% maksimumpunkt
maksimumpunkt=[lahend f(lahend)]