% testam spline-ul cubic de tip Hermite
% folosind functii predefinite Octave/Matlab
%
% UT-CLUJ 2018-2019

% nodurile de interpolare (diviziunea DELTA)

x = [0 1/4 1/2 3/4 1];

% valorile functiei si ale derivatei
% prima linie   = valorile functiei pe nodurile x
% a doua linie  = valorile derivatei pe nodurile x
% pentru fiecare din spline-urile fundamentale. 

y0  = [1 0 0 0 0;0 0 0 0 0];
y1  = [0 1 0 0 0;0 0 0 0 0];
y2  = [0 0 1 0 0;0 0 0 0 0];
y3  = [0 0 0 1 0;0 0 0 0 0];
y4  = [0 0 0 0 1;0 0 0 0 0];

yp0 = [0 0 0 0 0;1 0 0 0 0];
yp1 = [0 0 0 0 0;0 1 0 0 0];
yp2 = [0 0 0 0 0;0 0 1 0 0];
yp3 = [0 0 0 0 0;0 0 0 1 0];
yp4 = [0 0 0 0 0;0 0 0 0 1];

% valorile lui t pentru care se evalueaza spline-urile 
% fundamentale

st  = 2^(-7);
t   = [0:st:1];

l0  = pchip(x,y0,t);
l1  = pchip(x,y1,t); 
l2  = pchip(x,y2,t);
l3  = pchip(x,y3,t);
l4  = pchip(x,y4,t);

szl = size(l0)

h0  = pchip(x,yp0,t);
h1  = pchip(x,yp1,t); 
h2  = pchip(x,yp2,t);
h3  = pchip(x,yp3,t);
h4  = pchip(x,yp4,t);

col = 'brbrb';

plot(t,l0,'b');
%pause
hold on; 
plot(t,l1,'r');
%pause;
hold on; 
plot(t,l2,'g');
%pause;
hold on; 
plot(t,l3,'y');
%pause;
hold on; 
plot(t,l4,'c');
hold off

figure;
plot(t,h0);
hold on;
plot(t,h1);
