
function maxerr=errore_spline_cubica(f,a,b,N)

% Oggetto:
% Errore della spline cubica not-a-knot "s3" interpolante "f" nei 
% punti  x_k=a+(k-1)h, k=1,...,N+1, h=(b-a)/N
%
% Input:
% f: funzione da interpolare
% a,b: dominio di "f"
% N: numero di subintervalli equispaziati in cui e' 
%    suddiviso [a,b]
%
% Output:
% maxerr: stima del massimo errore di interpolazione, 
%         ovvero max(abs(f(x)-s3(x)))


% punti equispaziati in cui interpolare "f".
hx=(b-a)/N;  x=a:hx:b;  
y=feval(f,x); % valore funzione in "x"   

% punti test in cui valutare gli errori forniti tra
% funzione e interpolante
ht=1/100000; t=a:ht:b; 

% valori assunti dall'interpolante spline lineare 
%  nei punti test "t"
z=interp1(x,y,t,'spline');

% valore della funzione "f" nei nodi test
ft=feval(f,t); 

% valutazione errore di interpolazione nei nodi test
maxerr=max(abs(ft-z));