Interpolazione

Transcript

Interpolazione
Interpolazione
12 marzo 2007
Indice
1
Formula di Taylor
1
2
Interpolazione polinomiale
2.1 Polinomi di Lagrange . . . . . . . . . . . . . . . . . . . .
2.2 Polinomi di Chebyschev . . . . . . . . . . . . . . . . . .
2.3 Programmi relativi . . . . . . . . . . . . . . . . . . . . .
2
2
4
5
1
Formula di Taylor
Data una funzione y = f (x), definita entro un intervallo [a, b] ci poniamo
il problema di approssimarla mediante un polinomio.
f¯(x) = Pn (x) = a0 + a1 x + a2 x2 + . . . + an xn
(1)
{ERT3}
Se la funzione fosse continua e avesse derivate continue fino all’ordine
n, indicato con x0 un punto interno all’intervallo, una approssimazione
sarebbe quella ottenuta dalla formula di Taylor
1
1
f¯(x) = f (x0 ) + (x − x0 ) f 0 (x0 ) + (x − x0 )2 f 00 (x0 ) + . . . (x − x0 )n f n (x0 )
2!
n!
(2) {ERT2}
In questo modo la funzione approssimante approssima bene la funzione
data nell’intorno del punto x0 , mentre l’approssimazione peggiora allontanandosi dal punto.
1
Come esempio consideriamo la funzione f (x) = sin(x) nell’intervallo
[0, 2π] e scegliamo il valore x0 = π per fare lo sviluppo in serie di Taylor.
Come mostra la figura (Fig. 1), con i primi 7 termini della formula di Taylor si ottiene una buona approssimazione in corrispondenza di x = π ma
l’approssimazione peggiora verso gli esptremi dell’intervallo.
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
1
2
3
4
5
6
Figura 1. Approssimazione della funzione sin(x) con i primi 7 termini
della formula di Taylor (ottenuto col programma TaylorMio.m
{TaylorMio}
Possiamo dire che la formula di Taylor fornisce una approssimazione
estrapolante.
2
Interpolazione polinomiale
Cerchiamo ora una approssimazione interpolante. Con questo intendiamo
che i valori del polinomio interpolante coincidano in un certo numero di
punti con i valori della funzione.
2.1
Polinomi di Lagrange
Scegliamo nell’intervallo [a, b] n valori della ascissa x1 , x2 , . . . xn che siano
equidistanti1 . Consideriamo n polinomi ciascuno dei quali assuma valore
1 in corrispondenza ad una ascissa e zero negli altri punti, come mostra la
figura (Fig. 2).
1
L’equidistanza non è necessaria: la scegliamo per semplicità. Del resto questa è la
scelta più comune.
2
1
0.5
0
-0.5
0
0.5
1
1.5
2
2.5
3
Figura 2. I primi 5 polinomi di Lagrange.
{Lagrange}
Lagrange ha trovato una formula generale che fornisce questi polinomi:
Ln, j (x) =
(x − x1 )(x − x2 ) . . . (x − x j−1 )(x − x j+1 ) . . . (x − xn )
(x j − x1 )(x j − x2 ) . . . (x j − x j−1 )(x j − x j+1 ) . . . (x j − xn )
(3)
{YP89}
Si osservi che nella formula al n umeratore manca il termine x − x j .
Fissato un grado n, per ciascun punto x j esiste un polinomio che assume il valore 1 in corrispondenza ad x j mentre assume valore zero nei
rimanenti punti. Cosı̀ L3,2 (x) è un polinomio di terzo grado, tale che
L3,2 (x1 ) = 0
L3,2 (x2 ) = 1
L3,2 (x3 ) = 0
(4)
{TW73}
come si constata facilmente. Una volta introdotti questi polinomi è immediato fare l’approssimazione di una funzione f (x) in modo che in n
punti x1 , x2 , . . . xn la funzione approssimante e quella data coincidano. La
funzione approssimante è data da
X
f (x) =
f (xi ) Ln,i (x)
(5) {UT81}
i=1,n
3
2
1.5
1
0.5
0
-0.5
-1
-1.5
-2
0
1
2
3
4
5
6
Figura 3. Approssimazione della funzione sin(x) con i primi 4 polinomi
di Lagrange (ottenuto col programma interpolaLagrangeN.m)
{interpolaSeno}
L’approssimazione con polinomi di Lagrange non richiede che a funzione sia derivabile fino all’ordine n: è valida per qualsiasi funzione continua. Infatti un teorema di Weirstrass afferma che ogni funzione continua
può essere approssimata con una successione uniformemente convergente
di polinomi. I polinomi di Lagrange ne costituiscono un esempio.
2.2
Polinomi di Chebyschev
Considerazioni che non stiamo a riportare portano a considerare particolari
polinomi, detti di Chebyschev2 dati dalla formula ricorrente3
T n+1 (x) = 2xT n (x) − T n−1 (x)
T 1 (x) = x
T 0 (x) = 1
(6) {PT12}
Fata una funzione y = f (x) definita nell’intervallo [−1, +1] essa si può
approssimare con la funzione4
1
f¯(x) = c0 + c1 T 1 (x) + . . . cn T n (x)
2
essendo i coefficienti cn dati dagli integrali
Z
2 π
cn =
f (cos(t)) cos(nt)dt
π 0
2
Si pronuncia cebicev.
Si veda Atkinson [1, p. 211] ; Lanczos [2, p. 455]
4
Lanczos [2, p. 454]
3
4
(n = 0, 1, . . . n)
(7)
{UE23}
(8)
{UE45}
nei quali la variabile x della f (x) è sostituita dalla funzione cos(t).
Il calcolo dei coefficienti è particolarmente semplice in quanto per calcolare gli integrali si può usare il metodo detto del punto medio.
1.2
1
0.8
0.6
0.4
0.2
0
-0.2
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Figura 4. Interpolazione di una funzione con un punto angoloso (ma
continua) con 10 polinomi di Chebyshev.
2.3
%
%
%
%
%
Programmi relativi
========================================
integrale Definito Punto Medio.m
========================================
Calcolo dell’integrale definito di una funzione
con il metodo dei punti medi a ciascun intervallo.
a = 0; b= pi; % estremi intervallo
N = 100; % numero di intervallini
p= (b-a)/N; % passo intervallini
%
%
s=0; % valore iniziale integrale
for k = 1 : N
x(k) = a + (k-0.5)*p;
y(k) = exp(cos(x(k)));
s = s + y(k)*p;
end
fprintf(’integrale in [0 , pi] =%18.14f
Atkinson 262
=========================================
5
\n’,s)
{angoloso}
integraleDefinitoPuntoMedio.m
sviluppo di Taylor
TaylorMio.m
TaylorSeno.m
Polinomi di Lagrange
Lagrange1
Lagrange3
Lagrange3bis
LagrangeN.m
InterpolaLagrange2.m
interpolaLagrangeC0.m
InterpolaLagrangeN.m
Polinomi di Chebyshev
Chebyshev.m
InterpolaChebyshev.m
interpola sin(x) in [0, π]
interpola sin(x) in [0, 2π]
i primi 3 polinomi di Lagrange ricavati direttamente
i primi 4 polinomi di Lagrange ricavati direttamente
i primi 4 polinomi di Lagrange ricavati con function
mostra i primi 5 polinomi di Lagrange
interpola la funzione sin(x)
interpola una funzione con tangente discontinua
interpola alcune funzioni
mostra i primi 10 polinomi di Chebyshev
interpola alcune funzioni
Riferimenti bibliografici
[1] Atkinson K.E., An Introduction to Numerical Analysis, Wiley &
Sons, 1989.
[2] Lanczos C., Applied Analysis , Dover, 1988.
6