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