Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
Interpolazione e
approssimazione
In molti problemi si ha a che fare con una funzione f (x) di forma non
elementare, o addirittura sconosciuta, di cui si possiede solo una tabulazione
in un numero finito di punti (sovente si tratta di misurazioni sperimentali).
In questi casi la stima di un valore di f (x), in un punto diverso da quelli
in cui e data, puo essere fatta utilizzando i dati disponibili.
Questa operazione, detta interpolazione, di solito si effettua sostituendo a
f (x) una funzione che sia facilmente calcolabile come, per esempio, un poli-
nomio. Ce quindi connessione fra il problema dellinterpolazione e quello piu
generale della approssimazione di una funzione f (x), cioe della sostituzione di
f (x) con una funzione piu semplice e che si discosti da f (x) il meno possibile.
Per misurare lo scostamento da f (x) esistono vari criteri che danno luogo ad
altrettanti metodi di approssimazione. In questo capitolo si descrivono alcune
tecniche di interpolazione e lapprossimazione di una funzione col metodo dei
minimi quadrati nel caso discreto.
tale che
Pk (xi ) = f (xi ), i = 0, 1, . . . , k; (6.4)
a0 + a1 x0 + + ak1 xk1
0 + ak xk0 = f (x0 )
(6.5)
a0 + a1 xk + + ak1 xk1
k + a x
k k
k
= f (x k) .
6.2. INTERPOLAZIONE PARABOLICA 137
lr (xs ) = r,s , r, s = 0, 1, . . . , k;
di conseguenza il polinomio
k
X
Lk (x) = lr (x)f (xr )
r=0
138 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
si ha quindi
f (k+1) ()
f (x) Pk (x) = (x)
(k + 1)!
dove
min{x0 , x1 , . . . , xk , x} < < max{x0 , x1 , . . . , xk , x} .
f (2k+2) ()
f (x) H(x) = (x x0 )2 (x xk )2
(2k + 2)!
dove
min{x0 , x1 , . . . , xk , x} < < max{x0 , x1 , . . . , xk , x} .
2. Sm (xi ) = yi , i = 0, 1, . . . , k;
pi (xi1 ) = yi1 , i = 1, 2, . . . , k,
pi (xi ) = yi , i = 1, 2, . . . , k,
(6.12)
pi (xi ) = pi+1 (xi ), i = 1, 2, . . . , k 1,
pi (xi ) = pi+1 (xi ), i = 1, 2, . . . , k 1.
I polinomi pi (x) verificano, per costruzione, i primi tre gruppi di condizioni (6.12)
qualunque siano i valori m0 , m1 , . . . , mk . Per determinare tali k + 1 valori si uti-
lizzano le ultime delle (6.12) e le due condizioni di spline naturale.
Essendo
2
pi (xi1 ) = 2 [3(yi yi1 ) h(mi + 2mi1 )] ,
h
2
pi (xi ) = 2 [3(yi1 yi ) + h(2mi + mi1 )] ,
h
si perviene al sistema lineare
3
2m0 + m1 = h (y1 y0 )
3
m0 + 4m1 + m2 = h (y2 y0 )
3
m1 + 4m2 + m3 = h (y3 y1 )
.. .. .. .. (6.13)
. . . .
3
mk2 + 4mk1 + mk = h (yk yk2 )
3
mk1 + 2mk = h (yk yk1 ) .
Qm (xr ) = 0 , (6.16)
mentre il sistema (6.20), detto sistema delle equazioni normali, puo essere
scritto nella forma
AT Ac AT b = 0. (6.22)
Questo sistema ha soluzione, in quanto si puo dimostrare che r(AT A) =
r(AT A | AT b).
Nel caso in cui la matrice A IR(k+1)(m+1) abbia rango uguale a m + 1,
per il Teorema 2.3.1, la matrice AT A IR(m+1)(m+1) ha determinante diverso
da zero; quindi il sistema (6.22) ha ununica soluzione e la funzione (c) ha
un unico punto stazionario. Tale punto stazionario risulta il punto di minimo
assoluto. Infatti, la matrice hessiana della (6.21) e la matrice AT A che, nel
caso in esame, risulta definita positiva.
La scelta delle funzioni i (x) puo, in pratica, dipendere dalla distribuzione
sul piano cartesiano dei punti di coordinate [xj , f (xj )], j = 0, 1, . . . , k. Le
scelte piu comuni sono:
f (x) f (xi )
lim f [xi , x] = lim = f (xi )
xxi xxi x xi
per cui le differenze divise del primo ordine risultano prolungabili per continuita
ponendo f [xi , xi ] = f (xi ), i = 0, 1, . . . , k.
Supposto che le differenze divise di ordine s siano continue su I, per le differenze
divise di ordine s + 1, dalla definizione e dalla Proprieta 6.8.1, si ha
f [x0 , x1 , . . . , xs , x] = f [x, x0 , x1 , . . . , xs ]
f [x, x0 , x1 , . . . , xs2 , xs ] f [x, x0 , x1 , . . . , xs1 ]
= ;
xs xs1
f (k) ()
f [x0 , x1 , . . . , xk ] = .
k!
da cui la tesi.
Il quadro puo essere esteso quanto si vuole, osservando che ogni differenza
divisa si ottiene sottraendo al termine che si trova nella stessa riga e nella
colonna immediatamente a sinistra il primo termine di questa colonna e di-
videndo per la differenza dei corrispondenti xi .
Le differenze divise che figurano nel polinomio (6.6) sono date dal primo
termine di ciascuna colonna.
Osservazione 6.8.2 Nel caso in cui gli elementi della colonna delle differenze
di ordine r risultino tutti uguali fra loro, gli elementi delle colonne successive
sono nulli, percio il grado del polinomio di interpolazione e r.
Osservazione 6.8.3 Il valore della differenza divisa di ordine k si puo anche
ottenere direttamente dalla formula
f (x0 )
f [x0 , x1 , . . . , xk ] =
(x0 x1 )(x0 x2 ) (x0 xk )
f (x1 )
+ +
(x1 x0 )(x1 x2 ) (x1 xk )
f (xk )
+
(xk x0 )(xk x1 ) (xk xk1 )
che si dimostra per induzione.
Esempio 6.8.1 E data la seguente tabella di valori
x 0 1 2 2 3
.
y 5 3 3 9 11
Si vuole il polinomio di interpolazione di Newton P4 (x). Dai dati si ottiene
il seguente quadro delle differenze divise
x y DD1 DD2 DD3
0 5
1 3 2
2 3 1 1
2 9 7 5 1
3 11 2 0 1
Le differenze divise del terzo ordine risultano uguali tra loro per cui il
polinomio di interpolazione e di grado 3. Usando la (6.6), si ha
P4 (x) = 5 + 2x x(x + 1) + x(x + 1)(x 2)
= x3 2x2 x + 5.
6.8. COMPLEMENTI ED ESEMPI 149
1
f (x) = ,
100x2 100x + 26
2.5
1.5
0.5
-0.5
-1
-1.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
forma
(n+1) (n)
xk = xk k , k = 1, 2, . . . , m 1,
Pm1 (n)
x(n+1)
m = am1 k=1 xk .
Gli incrementi k si costruiscono col seguente algoritmo:
per k = 1, 2, . . . , m 1
p0,k := 1;
per i = 1, 2, . . . , m k + 1
pi,0 := 0,
(n)
pi,k = pi,k1 + pi1,k xk ;
Pmk+1
Pk = r=0 ar+k1 pr,k ;
per j = 1, 2, . . . , k
[j]
q0,k := 1,
per h = 1, 2, . . . , m k
[j] [j] (n)
qh,k = ph,k + qh1,k xj ;
Pmk [j]
Qj,k = r=0 ar+k qr,k ;
Pk1
k = (Pk r=1 Qr,k )/Qk,k .
0.7359438 .
per cui
x2 + x 2
R22 (x) = .
x2 + 3x 4
Si noti che, in questo caso particolare, R22 (x) si semplifica nella forma x+2
x+4
.
2m0 + m1 + = 6a
m0 + 4m1 + m2 = 3a
m1 + 2m2 = 9a
ed ha la soluzione
13 1 17
m0 = a, m1 = a, m2 = a.
4 2 4
Esempio 6.8.7 Per la funzione f (x) = sin(2x), sullintervallo [0, 1], sono
assegnate due tabelle di valori che si vogliono interpolare facendo ricorso a
diversi tipi di interpolazione.
6.8. COMPLEMENTI ED ESEMPI 155
3. La spline cubica naturale S3 (x) che interpola i valori della tabella del
punto 1 si ottiene risolvendo il sistema lineare che risulta da (6.13) con
h = 1/4, k = 4,
2m0 + m1 = 12
m0 + 4m1 + m2 = 0
m1 + 4m2 + m3 = 24
m2 + 4m3 + m4 = 0
m3 + 2m4 = 12
la cui soluzione e
m0 = 6, m1 = 0, m2 = 6, m3 = 0, m4 = 6.
156 CAPITOLO 6. INTERPOLAZIONE E APPROSSIMAZIONE
Per questo motivo, quando per approssimare una derivata si usa linter-
polazione parabolica, ci si limita a polinomi di grado non elevato e si stimano
i valori di f (x), f (x), . . ., utilizzando i dati solo in alcuni punti vicini al
punto x.
In quello che segue, si danno le formule piu comuni per la derivata prima
e seconda.
Allo scopo si considerano i polinomi di secondo grado
dove
(x xi )(x xi+1 )
li1 (x) = ,
(xi1 xi )(xi1 xi+1 )
6.8. COMPLEMENTI ED ESEMPI 157
y (x) = ey(x) ,
y(0) = 0 ,
y(1) = 0 ,
Posto y T = (y1 , . . . , yk1 ), tale sistema e della forma g(y) = 0 con g T (y) =
(g1 (y), g2 (y), . . . , gk1 (y)),
0.041404
0.073214
0.095730
0.109159
y (3)
0.113622 ,
0.109159
0.095730
0.073214
0.041404
(3)
dove lerrore max1ik1 | yi y(xi ) | e dellordine di 104 .
f (xi ) mi , i = 0, 1, . . . , k,
f (x0 ) h22 [3(y1 y0 ) h(m1 + 2m0 )] ,
f (xi ) h22 [3(yi1 yi ) + h(2mi + mi1 )] , i = 1, 2, . . . , k.
Nella fattispecie si ha
3
4m1 + m2 = (y
h 2
y0 ) y0
3
m1 + 4m2 = (y
h 3
y1 ) y3 .
Posto h = 0.1, inserendo i dati e arrotondando i calcoli alla sesta cifra dopo
la virgola, si ricava
m1 = 0.196024 , m2 = 0.369750 ,
che possono essere assunti come stime di f (0.1) e f (0.2) rispettivamente.
Le derivate seconde possono essere approssimate con (cfr. 6.4)
2
p2 (x1 ) = h2
[3(y2 y1 ) h(m2 + 2m1 )] ,
2
p2 (x2 ) = h2
[3(y1 y2 ) + h(2m2 + m1 )] .
Sostituendo i valori trovati per m1 ed m2 ed arrotondando i calcoli come
sopra si ottiene
p2 (0.1) = 1.900369, p2 (0.2) = 1.574151,
che si assumono come stime di f (0.1) e f (0.2).
Al fine di evidenziare la bonta delle approssimazioni ottenute, si effettua
il confronto con i valori esatti essendo i dati della tavola quelli della funzione
1
f (x) = 1+x 2 . Si ha:
Ax = b (6.28)
AT Ax = AT b , (6.30)
I valori
singolari
della matrice A, ricavati in base al Teorema 2.9.2, sono
1 = 7 e 2 = 5 ed una decomposizione ai valori singolari e A = U V T
con
3 5 7 3 2 7 0
70
U= 2 5
0 52 , = 0
5 ,
70
5 3 7 2 0 0
!
2 1 1
V = .
2 1 1
La (6.31) fornisce la soluzione del sistema nel senso dei minimi quadrati
T
19 9
c= , .
35 35