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 ).