clear
%algandmed
x=-1:0.1:-0.3;
y=[10 11 11.5 11.6 11.4 11.1 10 8.7];
h=0.1;

%tuletiste leidmine
%1) esimeses sõlmes diferentsvalem sammuga ette
ytuletis(1)=(y(2)-y(1))/h;
%2) viimases sõlmes diferentsvalem sammuga taha
ytuletis(8)=(y(8)-y(7))/h;
%3) ülejäänud tuletiste väärtused keskmistatud diferentsvalemiga
for i=2:7
    ytuletis(i)=(y(i+1)-y(i-1))/(2*h);
end

ytuletis

%lähendamine
xvork=-1:1e-3:-0.3;
ysplain=interp1(x,y,xvork,'spline'); %lähtefunktsiooni lähendamine
ytul=interp1(x,ytuletis,xvork,'linear'); %tuletise lähendamine

%joonis
plot(x,y,'r*',xvork,ysplain,xvork,ytul)
grid on
legend('algandmed','kuupsplain','tuletise lähend')

%maksimumpunkti leidmine
%teeme tuletise lähendist funktsiooni
f=@(t)interp1(x,ytuletis,t,'linear');
x_max=fzero(f,-0.7) %-0.7 on jooniselt alglähend
y_max=interp1(x,y,x_max,'spline')
P_max=[x_max,y_max]