L’interpolazione di Newton
Si tratta di un metodo numerico di approssimazione di una funzione nel suo andamento generale mediante
particolari polinomi interpolatori. Esso appartiene pertanto alla famiglia dei metodi di approssimazione a
carattere globale, a differenza di altri metodi che permettono di calcolare il valore approssimato di una
funzione in un intorno di un punto prefissato e che, quindi, hanno una carattere di approssimazione locale
(per esempio, lo sviluppo in serie di Taylor di una funzione in un punto).
In particolare, l’interpolazione di Newton è un metodo di interpolazione polinomiale che determina l’unica
funzione polinomiale di grado n, detta polinomio interpolatore, passante per gli n+1 punti (detti poli, o nodi)
di una funzione f(x). La funzione polinomiale interpolatrice di grado n è del tipo:
pn(x) = b0 + b1(x – x0) + b1(x – x0)(x – x1) + … + bn(x – x0)(x – x1)∙…∙(x – xn)
Per calcolare i coefficienti bi si introducono le differenze finite divise, utilizzando i poli x0, x1, …, xn (si
suppone che gli n+1 poli siano distinti). Con la notazione fk[xi,…,xi+k] si indica la differenza finita di ordine k
relativa ai poli xi, …, xi+k.
La costruzione delle differenze finite è ricorsiva: infatti per definizione la prima differenza divisa tra x0 e x1 è
f x1   f x 0 
f1 x 0 , x1  
;
x1  x 0
la seconda differenza divisa è
f x 2   f x1  f x1   f x0 

f x1 , x 2   f x0 , x1 
x 2  x1
x1  x0
;
f 2 x0 , x1 , x 2  

x 2  x0
x 2  x0
la terza differenza divisa è
f x1 , x 2 , x3   f x 0 , x1 , x 2 
f 2 x 0 , x1 , x 2 , x3  
, e così via.
x3  x 0
Le formule per le differenze finite sono in qualche misura simili a quelle del calcolo infinitesimale e possono
essere usate per approssimare le derivate; valgono inoltre le seguenti proprietà per le differenze divise di
ordine n:
 sono nulle se la funzione è costante;
 godono della proprietà di linearità: f[c1u + c2v] = c1f[u] + c2f[v], dove u e v sono due funzioni e c1, c2 due
costanti;
 se relative a un polinomio di grado n sono costanti e, dall’ordine n+1 in poi, sono tutte nulle.
La più semplice procedura di interpolazione consiste nell’unire due soli punti con una retta.
L’uguaglianza tra i coefficienti angolari delle rispettive direzioni tra i punti (x0, f(x0)) e (x, f(x)) e tra i punti
(x0, f(x0)) e (x1, f(x1))
f x   f x 0  f x1   f x 0 

x  x0
x1  x 0
permette di ricavare i coefficienti del polinomio interpolatore di Newton del primo ordine:
f ( x1 )  f ( x0 )
p1 ( x)  b0  b1 ( x  x 0 )  f ( x 0 ) 
( x  x0 )
x1  x 0
Si ottiene così una formula per l’interpolazione lineare, essendo in questo caso il polinomio di Newton di
primo grado. Il coefficiente b0 è uguale a f(x0) e il coefficiente b1 è la prima differenza divisa tra x1 e x0. Se x
= x0 allora p1(x) = f(x1).
Generalmente l’interpolazione è tanto più precisa quanto minore è la distanza tra due punti.
L’interpolazione lineare è tuttavia poco precisa e può portare a errori consistenti, poiché si basa
sull’approssimazione di una linea generalmente curva con un segmento. Una funzione interpolatrice non
lineare può dare stime migliori. Se sono noti tre punti della funzione che si vuole interpolare, si può costruire
un polinomio di Newton del secondo ordine:
p2(x) = b0 + b1(x – x0) + b2(x – x0)(x – x1) =
= f(x0) + f1[x0,x1](x – x0) + f1[x0,x1,x2](x – x0)(x – x1)
Come nel caso dell’interpolazione lineare, b1 rappresenta l’inclinazione della retta che congiunge i punti di
rispettive ascisse x0 e x1. I primi due termini del polinomio di Newton del secondo ordine equivalgono quindi
a un’interpolazione lineare. L’ultimo termine b2(xx0)(xx1) introduce in più una curvatura di secondo grado.
In particolare, la seconda differenza b2 rappresenta proprio la concavità della parabola che approssima la
curva.
Il metodo di interpolazione di Newton viene generalizzato considerando la funzione polinomiale interpolante
di ordine ennesimo:
f(x0) + f1[x0,x1](x – x0) + f1[x0,x1,x2](x – x0)(x – x1) + … + fn[x0,x1,…,xn](x – x0)(x – x1)∙…∙(x – xn–1).
Va sottolineato che non è necessario che i punti utilizzati per l’interpolazione siano equidistanti né che le loro
ascisse siano in ordine crescente.
L’espressione del polinomio di Newton richiama quella del polinomio di Taylor. In entrambi i casi l’aggiunta
di nuovi termini consente di migliorare l’approssimazione: i coefficienti del polinomio di Newton sono,
infatti, differenze finite divise che rappresentano approssimazioni delle derivate di ordine superiore. Come
nello sviluppo di Taylor, se la funzione da approssimare è un polinomio di grado n, la formula di Newton di
ordine n-esimo, basata su n+1 punti, dà un’approssimazione priva di errore.
L’errore, altrimenti detto resto, nell’interpolazione con il polinomio di Newton è definito come la differenza
tra funzione da interpolare e polinomio interpolante: e(x) = f(x) – p(x). Si può dimostrare che la sua
espressione è:
en(x) = f[x0,x1,…,xn–1,xn,x](x – x0)(x – x1)∙… .(x – xn)
dove f[x0,x1,…,xn–1,xn,x] è la differenza finita divisa di ordine n+1. Essa contiene però l’incognita f(x) e non
può essere ancora utilizzata per calcolare l’errore; se però si dispone di un ulteriore punto f(xn+1) diventa
possibile effettuarne una stima:
en = f[x0,x1,…,xn–1,xn,xn+1](x – x0)(x – x1)∙… .(x – xn)
I vantaggi dell’interpolazione con il polinomio di Newton si possono così riassumere:
a) il polinomio di Newton di ordine n+1 si costruisce facilmente aggiungendo un termine al polinomio di
ordine n; quindi se non è stabilito a priori l’ordine del polinomio interpolatore, si possono aggiungere termini
ottenendo un grado di precisione ottimale, minimizzando l’errore, e determinare quando l’aggiunta di nuovi
termini non migliora significativamente la stima;
b) anche le differenze finite divise si calcolano utilizzando un metodo iterativo, poiché quelle di ordine
inferiore si utilizzano per calcolare quelle di ordine superiore; c) la stima dell’errore è espressa in termini di
differenze finite divise e quindi si effettua utilizzando le differenze gia calcolate per lo sviluppo del
polinomio interpolatore.
Infine, nel caso di intervallo costante h tra i valori xi le differenze finite si riducono ai soli numeratori delle
differenze finite divise, poiché in tal caso il polinomio di Newton assume la forma:
y
2 y 0
n y 0



x  x0 x  x1 ...x  x n1 
p n ( x)  y 0  0 x  x0  
x

x
x

x

...

0
1
h
2h 2
n! h n
dove yn = f(xn) e
n
 n
n y n 
( 1) i   f  xi  .
i 
i 0
