1 INTERPOLAZIONE • Introduzione Quando ci si propone di

Transcript

1 INTERPOLAZIONE • Introduzione Quando ci si propone di
•
INTERPOLAZIONE
Introduzione
Quando ci si propone di indagare sperimentalmente la legge di un fenomeno, nel quale
intervengono due grandezze x , y simultaneamente variabili, e una dipendente dall’altra, si
determinano, mediante esperienze, per certi valori x o , x1 , x2 ,….x n della x di un certo intervallo
[a,b], i valori corrispondenti yo , y1 , y2 ,….yn della y.
Per avere l’idea dell’andamento del fenomeno, è utile costruire sul piano xy i punti:
A0 , A1 , A2 , …………… ,An ,
immagini di queste coppie ordinate di valori (x, y).
Se si potessero effettuare e registrare le misure per tutti i valori consentiti alla x, si potrebbe
tracciare con esattezza la curva rappresentatrice del fenomeno considerato.
In pratica ci si limita a considerare un gruppo di valori: x o , x1 ,….…..x n abbastanza prossimi fra
loro, in modo che anche i corrispondenti punti A0 ,
A1 , A2 , …… ,An siano vicini, e poi si
congiungono tali punti con un tratto continuo di linea che costituisce un diagramma
approssimato a quello rappresentativo del fenomeno, nell’intervallo [a, b] a cui sono state estese
le osservazioni sperimentali.
E’ evidente che la funzione y = f(x), che rappresenta analiticamente il fenomeno, non è
conosciuta , a priori non si sa nemmeno se esiste, ma si sa soltanto, in base a una serie di
esperienze, che in corrispondenza agli (n+1) valori: x o , x1 ,…….x n di un certo intervallo [a, b]
tale funzione vale, rispettivamente yo , y1 ,….…..yn. .
Il problema che si pone , allora , è di trovare una funzione F(x), la più semplice possibile , che
sia l’espressione esatta o approssimata , della funzione incognita y = f(x), sull’intervallo [a, b],
e tale che nei punti x o , x 1 ,…….x n assuma gli stessi valori di f(x), cioè tale che sia:
(1)
F(x o )= yo ,
F(x 1 )= y1 ,
F(x 2 )= y2 , …., F(x n )= yn ,.
I punti x o , x 1 ,…….x n si chiamano punti di interpolazione, e la funzione F(x) si chiama
funzione interpolatrice (della funzione f(x)).
Da quanto detto, segue che, geometricamente, trovare la F(x) significa trovare una curva di
equazione y = F(x) passante per i punti:
(x o ,, yo ),
(x 1 , y1 ), ……,
(x n , yn ,),
per i quali passa la funzione y = f(x).
1
1. Interpolazione lineare
Il caso più semplice di interpolazione è quello dell’interpolazione lineare , in cui la
funzione incognita è approssimata, nell’intervallo definito da due punti consecutivi A0 (x 0, y0 ),
A1 (x 1, y1 ),
mediante la retta passante per A0 e A1. L’interpolazione lineare consiste, in
pratica, nel sostituire ad un arco A0 A1 la corda A0 A1.
La retta passante per A0 e A1 ha equazione:
(1)
y - y0 =
y1 - y0
x - x0
x1 - x0
che può assumere la forma:
y = y0
x - x 0 (y1 - y0 )
x1 - x0
+
oppure :
x = x0
+
y - y0 (x 1 - x0 ).
y1 - y0
La formula (1) dell’interpolazione lineare si può trasformare in vari modi. Uno di questi è dovuto a
Lagrange, che ha affrontato in termini generali il problema.
Dalla (1) si ottiene:
y = y0 x - x 1
x0 - x1
+
y1 x - x 0
x1 - x0
Questo modo di scrivere si presta meglio al calcolo automatico e alle generalizzazioni
Se la funzione f(x) da interpolare ammette almeno derivata di ordine due, si dimostra che
l’errore che si commette nell’interpolazione lineare è maggiorato da:
| R2 (x) | £ M2 | (x – x 0 )(x-x1 ) |
2
dove M2 è il massimo in valore assoluto della f ’’(x) all’interno dell’intervallo [x 0 , x1 ]
y
A1
P
A0
y0
O
x0
y
x
y1
x1
x
2
2. Interpolazione parabolica o quadratica
Si abbiano tre punti:
A0 (x 0 , y0 ) ,
A1 (x 1 , y1 ),
A2 (x 2 , y2 ),
e si voglia trovare la parabola:
y = f (x) = ax 2 + bx + c
(1)
che passi per tali punti, deve essere:
y0 = f (x 0 );
y1 = f (x 1 );
y2 = f( x 2 );
(2)
in tal caso si parla di “interpolazione parabolica o quadratica”.
Pertanto, l’interpolazione parabolica consiste nel sostituire, nell’intervallo [x 0 , x 2 ], all’arco
di curva passante per A0 , A1 , A2, l’arco di parabola passante per gli stessi punti.
Lagrange ha trovato che alla (1) si può dare un’altra forma, più utile per le generalizzazioni e
per il calcolo automatico.
Si considerino i polinomi particolari di 2° grado:
p0 (x) = ( x – x 1 )( x – x 2 ) ;
( x 0 – x 1 )( x 0 – x 2 )
p1 (x) = ( x – x 0 )( x – x 2 ) ;
( x 1 – x 0 )( x 1 – x 2 )
p2 (x) = ( x – x 0 )( x – x 1 ) .
( x 2 – x 0 )( x 2 – x 1 )
Si vede allora che il polinomio:
L(x)= y0 p0 (x)
+
y1 p1 (x)
+
y2 p2 (x)
verifica le condizioni (2), infatti si ha :
L(x 0 )= y0 ;
L(x 1 )= y1 ;
L(x 2 )= y2 .
Pertanto si può scrivere :
L(x)
=
y0 ( x – x 1 )( x – x 2 ) +
( x 0 – x 1 )( x 0 – x 1 )
y1 ( x – x 0 )( x – x 2 ) + y2 ( x – x 0 )( x – x 1 )
(x 0 – x 1 )( x 0 – x 1 )
( x 0 – x 1 )( x 0 – x 1 )
che è la formula di interpolazione di Lagrange, relativa ai tre punti A0 (x 0 ,y0 ), A1 (x 1 ,y1 ),
A2 (x 2 , y2 ).
Tale formula è generalizzabile per n punti
A0 (x 0 ,y0 ), A1 (x 1 ,y1 ), A2 (x 2 , y2 ), ……..An(x n , yn ).
Nel caso dell’interpolazione parabolica, se la funzione f(x) da interpolare ammette almeno derivata
di ordine tre, si dimostra che l’errore che si commette nell’interpolazione è maggiorato da:
| R3 (x)| £ M3 | (x – x 0 )(x– x1 ) )(x– x2 ) |
3!
dove M3 è il massimo in valore assoluto della f ’’’(x) all’interno dell’intervallo [x 0 , x2 ].
3
Formula di interpolazione di Newton. Differenze divise.
Nel calcolo numerico è d’uso corrente la formula di Newton
Pn (x) = f(x o )+ f(x o ,x 1 ) (x - x o ) + f(x o ,x 1 ,x 2 ) (x - x o ) (x - x 1 )+…..+ f(x o ,x 1 ,x 2 …. ,x n ) (x - x o )
(x - x 1 (x - x 2 )……… (x - x n-1 )
(1)
ove i simboli f(x o ,x 1 ), f(x o ,x 1 ,x 2 ),…… f(x o ,x 1 ,x 2 …. ,x n ) indicano opportuni coefficienti numerici,
detti differenze divise, rispettivamente degli ordini 1,2,…..n-1.
Le differenze divise vengono definite in generale per una qualunque funzione ϕ (x) definita
in [a, b], relativamente a una successione di punti xo , x1 , x2 ….…..xn comunque scelti in [a, b],
purché fra loro tutti distinti, per mezzo delle formule ricorrenti:
ϕ (x 1 ,x 2 ) = ϕ (x 2 ) - ϕ (x 1 )
x2 - x1
ϕ (x 1 ,x 2 , x 3 ) = ϕ (x 2 ,x 3 ) - ϕ (x 1 ,x 2 )
x3 - x1
ϕ (x 1 ,x 2 , x 3 ,x 4 ) = ϕ (x 2 ,x 3 ,x 4 ) - ϕ (x 1 ,x 2 ,x 3 ) , ecc.
x4 - x1
La ϕ (x 1 ,x 2 ) si dice del primo ordine, la ϕ (x 1 ,x 2 , x3 ) del secondo ordine, la ϕ (x 1 ,x 2 , x3 ,x 4 ) del
terzo, ecc.
I coefficienti della (1) si possono calcolare mediante un procedimento di calcolo di particolare
speditezza, secondo la seguente tabella:
4
x f(x)
x 0 f(x 0 )
1° ordine
x 1 -- x 0
2° ordine
3° ordine
4° ordine
f(x 0 ,x 1 )
x 1 f(x 1 )
x 2 - x 0 f(x 0 ,x 1 ,x 2 )
x2 - x1
f(x 1 ,x 2 )
x 3 - x 0 f(x 0 , x 1 , x 2 ,x 3)
x 2 f(x 2 )
x 3 - x 1 f(x 1 ,x 2 ,x 3 )
x3 - x2
f(x 2 ,x 3 )
x2 - x0
x 4 - x 1 f(x 1 , x 2 ,x 3 ,x 4 )
x 3 f(x 3 )
x 4 - x 2 f(x 2 ,x 3 ,x 4 )
x 4 - x 3 f(x 3 , x 4 )
……
……
x 4 , f(x 4 ,)
f(x 0 , x 1 , x 2 ,x 3 ,x 4 )
…………..
……………
……. ………….
……… ……….
… …….
… .
.
Esercizio
Determinare il polinomio P4 (x) ( di grado £ 4) che per x = -2, 1, 3, 4, 6, assume rispettivamente i
valori 3, 1, 0, 2, 2.
Può talvolta essere utile, una volta fissati gli (n+1) punti x i
in [a, b], eseguire un certo
numero di interpolazioni successive, nel modo seguente.
Partire da un qualunque x h
con
0 < h < n ed eseguire una prima interpolazione mediante un
polinomio di grado £ h nell’intervallo [x o , x h ]
utilizzando gli h+1 punti (x 0 , y0 ) ,
(x 1 , y1 ), (x 2 , y2 ), ……..(x h , yh ) del piano xy.
Eseguire poi una seconda interpolazione mediante un
polinomio di grado £ h+1, nell’intervallo
[x o , x h+1 ], utilizzando gli h+2 punti (x 0 , y0 ) ,
(x 2 , y2 ), ……..(x h+1 , yh+1 ); poi una terza
(x 1 , y1 ),
interpolazione mediante un polinomio di grado £ h+2, nell’intervallo [x o , x h+2 ], utilizzando gli h+3
punti (x 0 , y0 ) ,
(x 1 , y1 ), (x 2 , y2 ), ……..(x h+2 , yh+2 ) e così via.
Ogni volta sarà applicata la stessa formula (1), all’inizio limitata ai suoi h+1 termini, poi ai suoi h+2
termini e così via. In tal modo ogni successiva interpolazione utilizza il polinomio precedente,
aggiungendogli soltanto un termine correttivo.
Ciò costituisce un pregio notevole del metodo di Newton.
5
Il metodo di Newton si presta ad una utile semplificazione.
Formula di Newton relativa al caso di intervalli uguali
Se i punti x i sono equintervallati di una quantità h, cioè se si ha x i = x 0 + ih
può dare per il polinomio Pn (x), di grado
(i = 1,2,….. n-1), si
£ n, un’espressione più semplice e più atta al calcolo
numerico.
E’ opportuno pertanto definire per ricorrenza le differenze d’ordine 1, 2, 3, ….., ponendo:
Df fi =f(x i+1 )-f(x i)
(per i £ n – 2)
D2 f fi =Df i+1 - Df i
(per i £ n – 3)
D3 f fi =D2 f i+1 - D2 f i
(per i £ n – 4)
……………………………………………
Dn f 0 =Dn-1 f 1 - Dn - 1 f 0 .
Impiegando le differenze di vario ordine così calcolate, si trova:
Pn (x) = f(x o )+ D f o (x - x o ) + D2 f o (x - x o ) (x - x 1 ) + D3 f o (x - x o ) (x - x 1 ) (x – x 2 )…..+
h
2! h2
3! h3
+ D n f o (x - x o ) (x - x 1 (x - x 2 )……… (x - x n-1 )
n! hn
6