Interpolazione e Approssimazione
Dato un insieme di punti di ascisse e ordinate
(x
j, f
j) mi serve qualche volta di avere a di-
sposizione una funzione, di solito con propriet` a
particolari, che passi per tutti questi punti. La
funzione che passa per N punti non ` e certo
unica, ed il procedimento di trovare una di
queste funzioni ` e detto interpolazione
Metodo di Lagrange
Un metodo semplice per interpolare N punti ` e quello dei polinomi di Lagrange. Per fare un esempio il polinomio che passa per tre punti pu` o essere scritto come
P (x) = f
1(x(x−x2)(x−x3)1−x2)(x1−x3)
+ f
2(x(x−x1)(x−x3)2−x1)(x2−x3)
+ f
3(x(x−x1)(x−x2)3−x1)(x3−x2)
Per un numero di punti grande (per esempio 20)
il polinomio oscilla paurosamente e non rappre-
senta pi` u, con ogni probabilit` a, l’andamento di
una funzione fisicamente significativa.
Spline cubiche
Voglio una funzione che sia almeno continua con derivate prime e seconde; in ogni inter- vallo [x
j−1, x
j] chiedo che la funzione sia un polinomio di terzo grado. Nei punti estremi devo imporre le condizioni di continuit` a per la funzione e le sue derivate prime e seconde
La funzione ` e cubica, quindi le sue derivate sono lineari. Chiamo M
jle derivate seconde in x
j. Allora
s
′′j(x) = M
j−1x
j− x
x
j− x
j−1+ M
jx − x
j−1x
j− x
j−1Posto h
j= x
j− x
j−1s
′j(x) = −M
j−1(x
j− x)
22h
j+ M
j(x − x
j−1)
22h
j+ C
js
j(x) = M
j−1(xj6h−x)3j
+ M
j(x−x6hj−1)3j
+C
j(x − x
j−1) + E
jCondizioni ai limiti
Devo imporre
s(x
j−1) = f
j−1e s(x
j) = f
je quindi
fj−1 = Mj−1h2j
6 + Ej fj = Mjh2j
6 + Cjhj + Ej Ej = fj−1 − Mj−1
h2j 6 Cj = fj − fj−1
hj − h2j
6 (Mj − Mj−1)
Impongo ora che la spline nell’intervallo j si raccordi con quella nell’intervallo j +1. Questo
` e gi` a vero per la funzione (avendo imposto che
sia uguale a f
j−1e f
jagli estremi) e per le
derivate seconde (avendo scelto M
jin modo
indipendente dall’intervallo). Rimane da im-
porre la continuit` a delle derivate prime.
Continuit` a delle derivate In x
jMjhj
2 + Cj = −Mjhj+1
2 + Cj+1
Mjhj
2 + fj − fj−1
hj
− hj
6 (Mj − Mj−1) =
−Mjhj+1
2 + fj+1 − fj
hj+1 − hj+1
6 (Mj+1 − Mj)
Scrivendo questa come equazione per gli M
jottengo
ljMj−1 + 2Mj + ujMj+1 = yj con
lj = hj
hj + hj+1 uj = hj+1 hj + hj+1
yj = 6 hj + hj+1
fj+1 − fj
hj+1 − fj − fj−1 hj
Si possono anche imporre le due condizioni 2M
1+ u
1M
2= y
1l
NM
N −1+ 2M
N= y
Nche ` e l’equazione lineare associata ad una ma- trice tridiagonale
Un caso particolare sono le condizioni al con-
torno naturali, in cui si prendono le derivate
agli estremi nulle.
Approssimazione
Se f (x) ` e difficile da calcolare (impiega molto tempo) e mi servono i suoi valori solo con una certa precisione
Uso i polinomi di Chebychev definiti da
T
n(x) = cos(n arccos(x)) − 1 ≤ x ≤ 1 da cui si possono facilmente derivare le pro- priet` a
T
0(x) = 1 T
1(x) = x T
n+1(x) + T
n−1(x) = 2xT
n(x) le relazioni di ortogonalit` a
0 (n 6= m)
Z 1
−1
T
n(x)T
m(x)
q
1 − x
2= π (n = m = 0)
π/2 (n = m 6= 0)
Definendo c
j= 2
N
N X
k=1
f (x
k)T
j−1(x
k) x
k= cos( π(k −
12)
N )
e scrivendo
f (x) ≈
N X
j=1