[HOME - BASE Cinque - Appunti di Matematica ricreativa]

Il polinomio interpolatore

le formule di Lagrange e di Newton

Supponiamo di avere n punti sul piano cartesiano, (x1, y1), (x2, y2), ..., (xn, yn).
Come si può fare per scrivere una funzione polinomiale y = P(x) che passi per tutti i punti dati?

Nota 1: le ascisse dei punti devono essere tutte diverse.

Nota 2: il grado massimo del polinomio è n-1. Ad esempio, per due punti passa una retta (1° grado), per tre punti non allineati, una parabola (2° grado), per quattro, una funzione polinomiale di 3° grado e così via.

Nota 3: il polinomio è detto interpolatore perché può essere utilizzato per approssimare una funzione di cui si conoscono alcuni punti.

La risposta più semplice da dire ma più complicata da calcolare questa: si scrive il sistema algebrico ottenuto "imponendo" il passaggio del polinomio per gli n+1 punti, lo si risolve e si ottengono i coefficienti.
Purtroppo questo metodo, al crescere di n, diventa esageratamente lungo e complesso.
E' meglio sentire l'opinione di Newton e Lagrange, tanto per cominciare.


La formula di Lagrange
La formula di Lagrange è la più facile da ricordare.
In pratica la conosciamo già dal Liceo, infatti la classica "equazione" della retta passante per due punti dati è un caso particolare della formula di Lagrange.


Equazione della retta passante per i punti (x1, y1), (x2, y2)

da cui si ricava:

(y-y1)(x2-x1) = (x-x1)(y2-y1)

La formula generale di Lagrange, scritta per esteso, è la seguente:

y = P(x) =

Equazione della curva polinomiale di grado (n-1), passante per i punti (x1, y1), (x2, y2), ..., (xn, yn)

Invece, in forma più compatta:

dove:

 


La formula di Newton

Con la formula di Newton, questo esercizio diventa (quasi) un giochetto.

Per rendere la formula più semplice, conviene partire con gli indici da 0: (x0, y0), (x1, y1), (x2, y2), ..., (xn, yn)

Ad esempio, vogliamo trovare un polinomio di 3° grado y = P(x) che assuma i valori:

x 4 6 8 10
y 1 3 8 20

Costruiamo la tavola delle cosiddette differenze finite.
Qui le indico con la lettera d, ma di solito si usa la "delta" maiuscola.

i xi passo
costante
xi+1 - xi
h
yi differenze
prime
d1yi
differenze
seconde
d2yi
differenze
terze
d3yi
0 4   1      
    2   d1y0 = 2    
1 6   3   d2y0 = 3  
    2   d1y1 = 5   d3y0 = 4
2 8   8   d2y1 = 7  
    2   d1y2 = 12    
3 10   20      

Ora dobbiamo applicare la formula di Newton, che é:

y = P(x) = a0 + a1(x-x0) + a2(x-x0)(x-x1) + ... +  an(x-x0)(x-x1)(x-x2)...(x-xn-1)

Nota: questa formula vale solo se il passo h fra le x è costante, nel nostro caso h=2.

E' molto semplice, ma i coefficienti ak?

e in generale

Nel nostro caso, il polinomio cercato è:

y = P(x) = 1 + 2/2(x-4) + (3/(2!*22))(x-4)(x-6) + (4/(3!*23))(x-4)(x-6)(x-8)

y = P(x) = 1 + (x-4) + (3/8)(x-4)(x-6) + (4/48)(x-4)(x-6)(x-8)

y = P(x) = 1/24(2x3-27x2+142x-240)

Pro-memoria

Tabella delle differenze finite per n = 5

i xi yi d1yi d2yi d3yi d4yi d5yi
0 x0 y0          
      d1y0        
1 x1 y1   d2y0      
      d1y1   d3y0    
2 x2 y2   d2y1   d4y0  
      d1y2   d3y1   d5y0
3 x3 y3   d2y2   d4y1  
      d1y3   d3y2    
4 x4 y4   d2y3      
      d1y4        
5 x5 y5          

Un esercizio rapido.
Scrivere l'equazione del polinomio di 3° grado che passa per i punti:
(2, 1), (4, 5), (6, 10), (8, 18)

Ultimo aggiornamento: agosto 2005


Risposte & riflessioni

Un esercizio rapido.
Allora, prendiamo i punti:
(2, 1), (4, 5), (6, 10), (8, 18)

Scriviamo le yi:
1, 5, 10, 18

Costruiamo la tabella delle differenze finite:
1, 5, 10, 18
4, 5, 8
1, 3
2

Mettiamo da parte la lista delle differenze a sinistra 4, 1, 2 e le chiamiamo di (differenza i-esima, con i che parte da 0)

Mettiamo da parte le prime (n-1) xi, cioè: 2, 4, 6

Calcoliamo il passo, che è 2, e lo chiamiamo h.

Sostituiamo i dati nella formula seguente, che è la formula di Newton.
y = P(x) = a0 + a1(x-x0) + a2(x-x0)(x-x1) + ... +  an(x-x0)(x-x1)(x-x2)...(x-xn-1)

Per calcolare i coefficienti ai della formula di Newton utilizziamo i dati appena raccolti prima:
a0 = y0
mentre per gli altri: ai = di/i!*hi

Viene

y = P(x) = 1 + (4/2)(x-2) + (1/(2!*2^2))(x-2)(x-4) + (2/3!*2^3)(x-2)(x-4)(x-6)

y = 1 + 2(x-2) + (1/8)(x-2)(x-4) + (1/24)(x-2)(x-4)(x-6)

y=(1/24)(x3-9x2+74x-96)

Newton era un duro!


Sito Web realizzato da Gianfranco Bo