L'interpolazione consiste nel
processo utile a determinare la "migliore" stima dei
valori di una funzione f(x) quando ci sono a disposizione
solo un numero finito di punti noti. Se i dati a
disposizione sono n+1 si dimostra in algebra che esiste un
unico polinomio interpolatore di grado n che passa per
tutti i punti, tuttavia questo, in calcolo numerico, è
solitamente scelto in modo che interpoli solo alcuni dati
e non tutti. Anche se unico, il polinomio interpolatore può essere definito in modi diversi. Due possibili scelte sono il polinomio di Newton delle differenze divise e il polinomio di Lagrange. |
|
IL METODO DI NEWTON DELLE
DIFFERENZE DIVISE
|
|
|
|||
E per trovare i coefficienti occorre imporre che il polinomio passi per i tre punti dati: |
||||
la soluzione del sistema è: |
||||
e si vede che è un'estensione del polinomio di interpolazione lineare con l'inclusione del termine del secondo ordine.
dove i coefficienti (differenze divise) valgono: la loro forma diventa sempre più complessa. Se introduciamo la notazione : possono essere scritti nella forma ricorsiva, più astratta e compatta, : |
||||
A sinistra interpolazione cubica di ln(x). Qui sopra, schema per la generazione ricorsiva delle differenze divise |
L' ERRORE PER I POLINOMI INTERPOLANTI DI
NEWTON. |
||||
La formula dei polinomi di
Newton è simile alla formula dell'espansione di Taylor, in
cui si aggiungono via via derivate agli ordini più alti
della funzione. Quindi l'errore di troncamento può essere
definito come nel caso dell'espansione di Taylor: dove ξ è un punto appartenente all'intervallo dei dati. Tuttavia, in questo modo, non è possibile calcolare l'errore perché richiede la conoscenza della forma analitica della funzione che non possediamo. Un modo alternativo è stimare l'errore utilizzando la differenza divisa di ordine n+1: anche se per la sua valutazione è necessario possedere un punto in più, xn+1: e il metodo più rapido per valutarlo è come differenza tra la stima successiva e la stima attuale: |
||||
L' INTERPOLAZIONE
POLINOMIALE DI LAGRANGE |
||||
È una riformulazione dei
polinomi di Newton delle differenze divise molto più
coincisa che evita il calcolo di dividere le
differenze. La forma generale è :Per n=1: Si può facilmente comprendere l'origine della formula per n=1 se si considerano due punti (x0;f(x0)), (x1;f(x1)) e un terzo punto compreso di cui si sceglie l'ascissa x e si vuole conoscere la f(x) per interpolazione ma che chiamiamo f1(x). Imponiamo: ovvero che i coefficienti angolari delle rette passanti per (x0;f(x0)) e (x;f1(x)) e per (x1;f(x1)) e (x;f1(x)) siano uguali. Dopo alcuni passaggi si può ricavare la formula di interpolazione polinomiale di Lagrange per n=1. |
||||
Per n= 2 si cerca una parabola
che passi per x0, x e x2 e una
parabola che passi per x0, x e x1 e
si impone che siano le stesse parabole. Si trova: |
||||
In questo ultimo caso ognuno dei tre termini diventa un polinomio di secondo grado che passa attraverso uno dei tre punti ed è zero in corrispondenza degli altri due punti. La somma dei tre polinomi è un polinomio di secondo grado che passa esattamente attraverso i tre punti dati. CONFRONTO FRA I DUE METODI:
|
||||
L'ESTRAPOLAZIONE |
||||
L'estrapolazione è
il processo che permette di calcolare f(x) per un valore
di x al di fuori dell'intervallo conosciuto dei punti x0,
x1, ...., xn. Bisogna porre
molta attenzione nel processo di estrapolazione perché se
il valore di x estrapolato non è vicino ai punti a
disposizione si può commettere un errore molto grande. L'INTERPOLAZIONE CON SPLINE A volte l'interpolazione con polinomi di grado elevato può dare risultati poco affidabili, specialmente se si hanno bruschi cambiamenti della funzione. In figura a destra, lettere (a), (b) e (c) sono riportate tre interpolazioni su 4, 6 e 8 nodi di una funzione a gradino. Come si vede nel caso (c) l'interpolazione su più nodi non migliora l'interpolazione della funzione. Un approccio alternativo è applicare un polinomio di grado inferiore ad un sottoinsieme di nodi usando vincoli ai valori delle derivate della funzione nei nodi. |
||||
Questo polinomio di grado inferiore è detto
funzione spline (vedi figura a destra
lettera (d)), il metodo si dice interpolazione
spline (dal nome inglese del curvilineo flessibile
usato per l’interpolazione meccanica di una serie di
dati)
|
Occorre trovare 3n coefficienti incogniti ma bisogna imporre delle condizioni:
|
|||
Così abbiamo 2n + n - 1 = 3n - 1 equazioni, ne serve un'altra. L'ultima equazione è scelta in modo arbitrario. |
|
|
Questa volta è garantita la continuità della derivata seconda nei nodi ma non della derivata terza. Le precedenti condizioni forniscono un sistema di 4n equazioni a 4n incognite che, risolto, produce i 4n coefficienti delle n funzioni di terzo grado che interpolano ogni intervallo, tuttavia è un sistema molto grande. Ma esiste la possibilità di ridurlo. Poiché il polinomio è una cubica e la sua derivata seconda è una retta, possiamo rappresentare questa, tra due nodi, come un polinomio di Lagrange al primo ordine: |