% konstruisemo kubni splajn za funkciju zadatu tabelom f(0)=1, f'(0)=0, f(1)=2, f(2)=3, f'(3)=-1

% vrednosti x
x=[0 1 2];
% vrednosti f(x)
y=[1 2 3];

% pozivamo 'spline' za vektor x i vektor sa vrednostima f(x) i vrednostima prvog izvoda u krajnjim tackama.
% Kao rezultat dobijamo pp strukturu koja predstavlja kubni splajn
pp=spline(x,[0 y -1]);
% izvlacimo koeficijente odg. kubnog splajna
pp.coefs
XX=linespace(0,2);
plot (x,y,'o',XX,ppval(pp,XX))


% ----------------------------------------------------------

% primena 'csape' na isti zadatak:

% vrednosti x
x=[0 1 2];
% vrednosti f(x)
y=[1 2 3];

pp1=csape(x,[0,y,-1],'complete');
pp1.coefs
plot (x,y,'o',XX,ppval(pp1,XX))


% ----------------------------------------------------------

% Odredjujemo kubni splajn periodicne funkcije sa periodom jednakim 3.
% f(0)=1, f(1)=3, f(2)=2, f(3)=1

x=[0 1 2 3];
y=[1 3 2 1];
pp2=csape(x,y,'periodic');
pp2.coefs
plot (x,y,'o',XX,ppval(pp2,XX))