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