% Tund 12, ülesanne 3
% andmed
x=[-1:0.1:-0.3];
y=[10,11,11.5,11.6,11.4,11.1,10,8.7];
h=0.1;
plot(x,y,'o')
hold on
% a) leiame y'
tuletis(1)=(y(2)-y(1))/h
for i=2:7
    tuletis(i)=(y(i+1)-y(i-1))/(2*h);
end
tuletis
tuletis(8)=(y(8)-y(7))/h
% b) interpoleerime antud funktsiooni ja funktsiooni tuletist
% ehk lähendame mingite funktsioonidega
% antud juhul näiteks 
% funktsiooni kuupsplainiga S^(3,2)(x)
% funktsiooni tuletist lineaarsplainiga S^(1,0)(x)
xvork=[-1:0.001:-0.3];
ykuupsplain=interp1(x,y,xvork,'spline')  % saame funktsiooni/splaini väärtused x-i korral
plot(xvork,ykuupsplain,'b-')
hold on
% kanname joonisele tuletised
plot(x,tuletis,'*')
hold on
tuletislineaarsplain=interp1(x,tuletis,xvork,'linear') % S^(1,0)(xvork)
plot(xvork,tuletislineaarsplain,'r-')
hold off
yline(0)
% tuletisejoon lõikab x-telge, kui x~-0.7
% xmax~-0.7, ymax~?
interp1(x,y,-0.7,'spline')
% P_max~(-0.7,11.6)
% defineerime tuletise funktsioonina
ftuletis=@(z) interp1(x,tuletis,z,'linear'); % S^(1,0)(z)
xmax=fzero(ftuletis,-0.7)
ymax=interp1(x,y,xmax,'spline')
% P_max(-0.7143,11.6103)