Interpolazione di dati e funzioni TEOREMA. Dati n + 1 punti distinti
Transcript
Interpolazione di dati e funzioni TEOREMA. Dati n + 1 punti distinti
Interpolazione di dati e funzioni TEOREMA. Dati n + 1 punti distinti x0 , x1 , ..., xn , e n + 1 corrispondenti valori y0 , y1 , ..., yn , (eventualmente yi = f (xi )), allora ∃! πn ∈ Pn tale che πn (xi ) = yi , ∀i = 0, ..., n. • Unicità del polinomio di interpolazione. Per assurdo: ∃p, q ∈ Pn tali che p(xi ) = q(xi ) = yi , ∀i = 0, ..., n. Allora p − q ∈ Pn e p(xi ) − q(xi ) = 0 ∀i = 0, ..., n, cioè in n + 1 punti distinti ⇒ p − q = 0 ovunque, dunque p = q. • Costruzione del polinomio di interpolazione mediante la matrice di Vandermonde. n X πn (x) = aj x j . j=0 πn (xi ) ≡ n X aj xji = yi , i = 0, ..., n. j=0 ⇓ V a = y, con Vij = xji , e det(V ) = Y (xj − xi ). 0≤i<j≤n • Il metodo di interpolazione di Lagrange. πn (x) = n X yi Li (x) i=0 Costruzione dei polinomi di base di Lagrange Li (x), i = 0, ..., n: (•) Li (x) ∈ Pn ; (••) Li (xj ) = 0, i = 0, ..., n, i 6= j (• • •) Li (xi ) = 1, i = 0, ..., n ⇓ (•)+(••) ⇒Li (x) = C(x − x0 )(x − x1 )...(x − xi−1 )(x − xi+1 )...(x − xn ) (• • •) ⇒ C = 1/[(xi − x0 )(xi − x1 )...(xi − xi−1 )(xi − xi+1 )...(xi − xn )] Si ottiene: n Y x − xj Li (x) = . x − xj j=0 i j6=i Numero di operazioni ≈ 2n(n + 1). • Forma di Newton del polinomio interpolatore. Il metodo delle differenze divise. • • • • f [xi ] = yi , i = 0, ..., n. ]−f [xi ,...,xi+k−1 ] f [xi , ..., xi+k ] = f [xi+1 ,...,xi+k . xi+k −xi ak = f [x0 , ..., xk ]. πn (x) = a0 + a1 (x − x0 ) + an (x − x0 )...(x − xn−1 ). • numero operazioni ≈ n(n+1) . 2 • Algoritmo di Horner Valutazione del polinomio πn (x) nel punto x (es.: n = 4). • π4 (x) = a0 + a1 (x − x0 ) + a2 (x − x0 )(x − x1 ) + a3 (x − x0 )(x − x1 )(x − x2 ) + a4 (x − x0 )(x − x1 )(x − x2 )(x − x3 ) ⇓ π4 (x) = a0 + (x − x0 ){a1 + (x − x1 )[a2 + (x − x2 ){a3 + (x − x3 )a4 }]}. • numero operazioni ≈ n. • Stima dell’errore di interpolazione. TEOREMA. Siano x0 , x1 , ..., xn , n + 1 nodi distinti, x 6= xi , i = 0, ..., n, f ∈ C n+1 [Ix ], dove Ix è il più piccolo intervallo chiuso e limitato contenente i nodi x0 , x1 , ..., xn , x. Allora l’errore di interpolazione nel punto x è dato da: Rn (x) = f (x) − πn (x) = ω(x) (n+1) f (ξ) (n + 1)! con ξ ∈ Ix e ω(x) = (x − x0 )(x − x1 )...(x − xn ). Dimostrazione. Sia x un generico punto distinto dai nodi di interpolazione. Definiamo Rn (x) = f (x) − πn (x), da cui Rn (xi ) = 0, 0 ≤ i ≤ n. Introduciamo la funzione G(z) = f (z) − πn (z) − Rn (x) ω(z) ω(z) = Rn (z) − Rn (x) , ω(x) ω(x) con G ∈ C n+1 (Ix ), essendo somma di f ∈ C n+1 [Ix ] e di un polinomio. Si osserva: G(x) = Rn (x) − Rn (x) ω(x) ω(x) = 0. G(xi ) = 0, i = 0, ..., n, essendo Rn (xi ) = 0 e ω(xi ) = 0 ∀i = 0, ..., n. Per il teorema di Rolle poichè la funzione G si annulla in n + 2 punti, la funzione G0 si annulla in n+1 punti, la funzione G00 si annulla in n punti, e per ricorsione, la funzione G(n+1) si annulla in un punto. Sia esso ξ. Calcolando la derivata (n + 1)−esima di G si ottiene G(n+1) (z) = f (n+1) (z) − [πn ](n+1) (z) − Rn (x) (n+1) ω (z), ω(x) dove per semplicità con il simbolo [·](n+1) indichiamo la derivata (n + 1)−esima di una funzione. In particolare, si ha: [πn ](n+1) (z) = 0 essendo πn un polinomio di grado n. ω (n+1) (z) = (n + 1)! Dunque, essendo G(n+1) (ξ) =, si ha f (n+1) (ξ) − Rn (x) (n + 1)! = 0 ω(x) da cui la tesi Rn (x) = f (n+1) (ξ) ω(x) (n + 1)! COROLLARIO. Nelle ipotesi del teorema precedente si ha |Rn (x)| ≤ max ξ∈Ix f (n+1) (ξ) max |ω(t)| (n + 1)! t∈Ix ESERCIZIO. Assegnati i nodi x0 = −1, x1 = 0, x2 = 1, e la funzione f (x) = 1 x+2 : • Determinare il polinomio p(x), nella forma di Lagrange, che interpola la funzione f (x) nei nodi assegnati. • Determinare il polinomio p(x), nella forma di Newton, che interpola la funzione f (x) nei nodi assegnati. • Dare una maggiorazione dell’errore che si commette sostituendo ad f il polinomio p, per x ∈ [−1, 1]. ESERCIZIO. Data la funzione f (x) = ex determinare, mediante il metodo di interpolazione di Lagrange, il polinomio p1 (x) che interpola la funzione f (x) nei nodi x0 = −h, x1 = h, con 0 < h ≤ 1 e fornire una maggiorazione dell’errore |f (x) − p1 (x)|, per x ∈ [−h, h]. Calcolare al variare del parametro h la quantità Z 1 Z 1 x0 L0 (x)dx + x1 L1 (x)dx, −1 −1 dove L0 (x) e L1 (x) sono i polinomi di base di Lagrange associati ai nodi x0 e x1 . ESERCIZIO. Indicare per quali valori di x0 , x1 , x2 ∈ R esiste uno ed unico polinomio di secondo grado p2 (x) tale che p2 (x0 ) = y0 , p2 (x2 ) = y2 , p02 (x1 ) = y1 , per ogni insieme di dati y0 , y1 , y2 . Lagrange associati ai nodi x0 e x1 . ESERCIZIO. Costruire la tabella delle differenze divise relativa ai dati (-1,-8), (0,-1), (1,0), (2,1) e fornire l’espressione del polinomio p3 (x) che interpola i dati (xi , yi ), i = 0, 1, 2, 3. Successivamente si consideri il punto (x4 , y4 ) = (1.5, 2), si costruisca la riga aggiuntiva nella tabella delle differenze divise e si fornisca l’espressione del polinomio p4 (x) che interpola i dati (xi , yi ), i = 0, 1, 2, 3, 4. ESERCIZIO. Dato il polinomio p(x) di grado incognito, con p(0) = 2, p(1) = −1, p(2) = 4, p(i) = αi , ∀i ≥ 3, è noto che f [i, i + 1, i + 2, i + 3] = 1 , 6 ∀i ≥ 0. Ricavare l’espressione del polinomio p(x). ESERCIZIO. Data la funzione f (x) = cos x + 2 sin x si determini il polinomio di interpolazione p2 (x) nei nodi {0, π2 , 3π 2 }. Si calcoli l’errore f (x) − p2 (x) nel punto π e si stimi l’errore massimo sull’intervallo [0, 3π 2 ]. ESERCIZIO. Sia f una funzione continua sull’intervallo [−h, h]. Costruire il polinomio interpolante di grado 2 nei nodi x0 = −h, x1 = 0, x2 = h, e calcolare il valore del polinomio interpolante nel nodo x = h2 in funzione dei valori f (x0 ), f (x1 ) e f (x2 ).