integrazione numerica - Dipartimento di Matematica Tor Vergata
Transcript
integrazione numerica - Dipartimento di Matematica Tor Vergata
INTEGRAZIONE NUMERICA Francesca Pelosi Dipartimento di Matematica, Università di Roma “Tor Vergata” CALCOLO NUMERICO e PROGRAMMAZIONE http://www.mat.uniroma2.it/∼pelosi/ INTEGRAZIONE NUMERICA – p.1/33 INTEGRAZIONE NUMERICA Data una f integrabile su [a, b] consideriamo I[f ] := Z b f (x)dx a In alcuni casi non si conosce la primitiva Anche quando si conosce la primitiva questa può essere troppo complicata (mentre f può essere più semplice) ESEMPIO: R 1 dt 1+t2 = arctan(x) La funzione da integrare può essere data non in forma analitica, ma per punti ⇒ Si cercano metodi numerici in grado di fornire una approssimazione di un integrale in termini di un numero finito di valori della funzione integranda ⇒ FORMULE DI QUADRATURA INTEGRAZIONE NUMERICA – p.2/33 INTEGRAZIONE NUMERICA Supponiamo di conoscere (o di poter valutare) la funzione integranda f (x) in punti distinti {x0 , x1 , . . . , xn } (scelti o prefissati) in [a, b] Costruiamo formule del tipo In+1 [f ] ' Z b f (x)dx, In+1 [f ] := a n X wi f (xi ) i=0 xi , i = 0, 1, . . . , n: nodi della formula di quadratura wi , i = 0, 1, . . . , n: pesi della formula di quadratura Si definisce l’errore di quadratura associato alla formula su n + 1 punti: En+1 [f ] = I[f ] − In+1 [f ]. INTEGRAZIONE NUMERICA – p.3/33 INTEGRAZIONE NUMERICA ⇒ IDEA IMMEDIATA: Approssimare f (x) con il polinomio di grado n interpolante la funzione nei nodi {xi , i = 0, 1, . . . , n} (unico se i nodi sono distinti): Z ⇒ b f (x)dx = a Z b (Ln (x) + en (x))dx = a Z b a Ln (x)dx + Z b en (x)dx a dove Ln (x) è il polinomio inerpolante i punti (x0 , f (x0 )), . . . , (xn , f (xn )), ⇒ Formule interpolatorie Se rappresentiamo Ln (x) nella forma di Lagrange Qn n j=0 (x − xj ) X (n) (n) j6=i Ln (x; f ) = f (xi )`i (x), con `i (x) = Qn , (x − x ) i j j=0 i=0 i = 0, 1, . . . , n j6=i Z b f (x)dx = a = Z b a n X i=0 Ln (x)dx+ f (xi ) Z b a Z b en (x)dx = a (n) `i (x)dx + Z Z n bX a i=0 (n) f (xi )`i (x)dx+ Z b en (x)dx a b en (x)dx a INTEGRAZIONE NUMERICA – p.4/33 FORMULE INTERPOLATORIE Da cui si ottiene un approssimazione dell’integrale con la formula di quadratura: Z b Z b Z b n n X X (n) f (x)dx ' Ln (x)dx = f (xi ) `i (x)dx = wi f (xi ) a a i=0 a i=0 CASO n = 1. Consideriamo i punti (a, f (a)) e (b, f (b)) e sostituiamo alla funzione il polinomio di grado 1 (la retta) che passa per i punti dati w0 = Z w1 = b a Z (1) `0 (x)dx b a = (1) `1 (x)dx Z = b a Z b a x−b 1 (x − b) dx = a−b 2 a−b # 2 b x−a 1 (x − a) dx = b−a 2 b−a a 1 (a − b) 2 b−a =− = 2 a−b 2 # 2 b a 1 (b − a) 2 b−a = = 2 b−a 2 Da cui si ottiene la Regola dei Trapezi Z b a f (x)dx ' I2 [f ] := b−a [f (a) + f (b)] 2 INTEGRAZIONE NUMERICA – p.5/33 FORMULE INTERPOLATORIE ESEMPIO 1: applichiamo la regola dei trapezi per approssimare l’integrale seguente: Z 1 dx I[f ] = = ln(2) ' 0.6931. 0 1+x 1 In questo caso a = 0 e b = 1 e f (x) = 1+x ; applichiamo la formula: I2 [f ] = = b−a 1 [f (a) + f (b)] = [f (0) + f (1)] 2 2 1 1 1 1 3 1 + = 1+ = = 0.75 2 1+0 1+1 2 2 4 f(a) y=f(x) a f(b) b INTEGRAZIONE NUMERICA – p.6/33 FORMULE INTERPOLATORIE CASO n = 2. Consideriamo i punti (−h, f (−h)), (0, f (0)) e (h, f (h)) e sostituiamo alla funzione il polinomio di grado 2 che passa per i punti dati w0 w1 w2 = = = Z Z Z h −h h −h h −h (2) `0 (x)dx = (2) `1 (x)dx (2) `2 (x)dx = = Z Z Z h −h h −h h −h h 1 3 1 2 h = x − x h 3 2 3 −h h 1 3 (x + h)(x − h) 1 4 2 − dx = + h x = x h −h2 h2 3 3 −h h 1 3 x(x + h) 1 1 2 h dx = + h = x x 2h2 2h2 3 2 3 −h x(x − h) 1 dx = 2h2 2h2 Da cui si ottiene la Regola di Simpson Z h h f (x)dx ' I3 [f ] = [f (−h) + 4f (0) + f (h)] 3 −h e su un generico intervallo [a, b]: Z b a+b b−a f (x)dx ' I3 [f ] := f (a) + 4f + f (b) 6 2 a INTEGRAZIONE NUMERICA – p.7/33 FORMULE INTERPOLATORIE ESEMPIO 2: applichiamo la regola di Simpson per approssimare l’integrale seguente: Z 1 dx I[f ] = = ln(2) ' 0.6931. 0 1+x 1 In questo caso a = 0 e b = 1 e f (x) = 1+x da cui I3 [f ] = a+b 1 1 b−a f (a) + 4f + f (b) = f (0) + 4f + f (1) 6 2 6 2 = 1 6 1 1 1 +4 + 1+0 1 + 1/2 1+1 1 = 6 1 8 1+ + = 0.6944 3 2 f(a) y=f(x) f(b) a (a+b)/2 b INTEGRAZIONE NUMERICA – p.8/33 FORMULE INTERPOLATORIE TRAPEZI SIMPSON f(a) f(b) a b a (a+b)/2 b INTEGRAZIONE NUMERICA – p.9/33 GRADO DI PRECISIONE La precisione di una formula di quadratura è legata alla bontà con cui I n+1 [f ] R approssima I[f ] = ab f (x)dx, pertanto in generale è dipendente dalla funzione integranda. Si esamina per quale classe di funzioni è esatta (cioè I n+1 [f ] = I[f ]) DEFINIZIONE: Una formula di quadratura ha grado di precisione k se è esatta quando la funzione integranda è un polinomio di grado k , ed esiste almeno un polinomio di grado k + 1 per cui l’errore risulti non nullo. (Tale definizione è giustificata dal teorema di Weierstrass. ) Vale il teorema seguente TEOREMA: Le formule di quadratura interpolatorie costruite su n + 1 nodi, hanno grado di precisione almeno n. Deriva dall’espressione dell’errore di interpolazione: en (x) = f (x) − Ln (x) = ωn+1 (x)f [x0 , x1 , . . . , xn , x], tenendo presente che f [x0 , x1 , . . . , xn , x] = 0 per f ∈ IPn . INTEGRAZIONE NUMERICA – p.10/33 GRADO DI PRECISIONE ES: La formula di Simpson ha grado di precisione 3: la formula è esatta per f (x) = x0 : Rh 0 h h 0 −h x dx = x]−h = 2h ⇔ I3 [x ] = 3 [f (−h) + 4f (0) + f (h)] = h [1 3 + 4 + 1] = 2h f (x) = x1 Rh 1 −h x dx = f (x) = x2 Rh 2 −h x dx = h [(−h)2 3 + = 0 ⇔ I3 [x] = ih x3 2 3 = h 3 −h 3 h2 ] = 23 h3 f (x) = x3 Rh 3 −h x dx = h [−h3 3 ih x2 2 −h ih x4 4 −h h [f (−h)+4f (0)+f (h)] 3 ⇔ I3 [x2 ] = = 0 ⇔ I3 [x3 ] = h [f (−h) 3 h [f (−h) 3 = h [−h+h] 3 =0 + 4f (0) + f (h)] = + 4f (0) + f (h)] = + h3 ] = 0 mentre non è esatta per f (x) = xr con r ≥ 4 ih Rh 4 x5 = 25 h5 <I3 [x4 ] = h [f (−h) + 4f (0) + f (h)] = −h x dx = 5 3 h [(−h)4 3 + −h h4 ] = 23 h5 INTEGRAZIONE NUMERICA – p.11/33 FORMULE di NEWTON-COTES Si tratta di formule di quadratura di tipo interpolatorio su nodi equidistanti: dato [a, b] posto h = b−a , n consideriamo i punti equispaziati (tipo chiuso): xi = a + ih, i = 0, . . . , n cerchiamo l’espressione dei pesi delle formula interpolatoria corrispondente: n X wi f (xi ) : i=0 wi = Z xn x0 (n) `i (x)dx = Z xn x0 Qn j=0 j6=i Qn j=0 j6=i (x − xj ) (xi − xj ) dx utilizziamo il cambiamento di variabili x = a + th da cui dx = hdt: wi = h Z n 0 Qn j=0 (a + th − (a + jh)) j6=i Qn j=0 j6=i (a + ih − (a + jh)) dt = h Z n 0 Qn j=0 j6=i (t − j)h j=0 j6=i (i − j)h Qn dt = hαi INTEGRAZIONE NUMERICA – p.12/33 FORMULE di NEWTON-COTES Quindi una formula di Newton-Cotes su [a, b] generico può essere scritta nella forma: n X b−a In+1 [f ] = h αi f (xi ), h = n i=0 dove gli αi sono pesi in [0, n]. Poichè gli αi non dipendono da h ma solo da n, sono stati tabulati su delle tabelle al variare di n nella forma αi = cβi . (si noti la simmetria centrale degli αi ovvero αi = αn−i ): n c β0 β1 1 1 2 1 3 3 8 2 45 5 288 1 1 1 4 1 1 3 3 1 7 32 12 32 7 19 75 50 50 75 2 3 4 5 β2 β3 β4 β5 Errore 1 3 (2) − 12 h f (η) 1 5 (4) − 90 h f (η) 3 5 (4) − 80 h f (η) 8 − 945 h7 f (6) (η) 19 275 − 12096 h7 f (6) (η) INTEGRAZIONE NUMERICA – p.13/33 FORMULE di NEWTON-COTES ESEMPIO 3: applichiamo la formula di Newton-Cotes con n = 3 per approssimare l’integrale seguente: I[f ] = Z 1 0 dx = ln(2) ' 0.6931. 1+x Si ha: a = 0 , b = 1 e n = 3 da cui b−a 1 = n 3 1 2 x0 = 0, x1 = , x2 = , x3 = 1 3 3 3 3 3 3 α0 = , α1 = · 3, α2 = · 3, α3 = 8 8 8 8 h[α0 f (x0 ) + α1 f (x1 ) + α2 f (x2 ) + α3 f (x3 )] 1 3 1 2 1f (0) + 3f + 3f + 1f (1) · 3 8 3 3 h := I4 [f ] := = 1 1 1 1 1 11 · = 1+3 +3 + = 8 1 + 1/3 1 + 2/3 2 8 2 0.6938 INTEGRAZIONE NUMERICA – p.14/33 ERRORE FORMULE di QUADRATURA Per formule di tipo interpolatorio: En+1 [f ] = Z b (f (x)−Ln (x))dx = a Z b en (x)dx = a Per formule di Newton-Cotes con h = En+1 [f ] = = Z n 0 Z b a n Y Z b a f (n+1) (η) (x−x0 ) · · · (x−xn )dx (n + 1)! b−a : n n f (n+1) (η) Y (x − (a + jh))dx (n + 1)! j=0 f (n+1) (η) hn+2 (t − j)h hdt = (n + 1)! (n + 1)! j=0 Z n = x=a+th dx=hdt f (n+1) (η) 0 n Y j=0 (t − j)dt ESEMPIO: per la formula dei trapezi: h3 E2 [f ] = − 2! Z 1 0 f (2) (η)t(1 − t)dt dove t(1 − t) ≥ 0 in [0, 1]. INTEGRAZIONE NUMERICA – p.15/33 ERRORE FORMULE di QUADRATURA Studiando meglio l’integrale si può ottenere il seguente (se la funzione non cambia segno si può applicare il teorema della media integrale) TEOREMA: Data una formula di quadratura di Newton-Cotes sui nodi x i = a + ih, con h= b−a , n i = 0, . . . , n, si ha per l’errore le seguenti espressioni per n pari e f ∈ C n+2 [a, b] : f (n+2) (η)hn+3 En+1 [f ] = (n + 2)! Z 0 n n Y j=0 t(t − j)dt per n dispari e f ∈ C n+1 [a, b] : f (n+1) (η)hn+2 En+1 [f ] = (n + 1)! Z 0 n n Y j=0 (t − j)dt dove η, η ∈ [a, b] = [x0 , xn ]. INTEGRAZIONE NUMERICA – p.16/33 ERRORE FORMULE di QUADRATURA Le formule di quadratura con n pari (numero dispari di nodi) hanno grado di precisione n + 1 ESEMPIO: la formula di Simpson n = 2 ha grado di precisione 3 in quanto l’errore coinvolge la derivata f (4) (η) che è nulla per f ∈ IP3 Le formule di quadratura con n dispari (numero pari di nodi) hanno grado di precisione n ESEMPIO: la formula dei Trapezi n = 1 ha grado di precisione 1, in quanto l’errore coinvolge la derivata f (2) (η) che è nulla per f ∈ IP1 ⇒ È più conveniente usare formule con n pari. INTEGRAZIONE NUMERICA – p.17/33 CONVERGENZA Dal teorema di Weierstrass discende anche il seguente TEOREMA: Sia {In+1 [f ]} una successione di formule di quadratura tali che I n+1 [f ] abbia grado di precisione almeno n, ed equilimitate (i.e. ∃C : kI n+1 k < C, ∀n). Allora si ha lim In+1 [f ] = I[f ] n→∞ DIM:Poichè la formula di quadratura ha grado di precisione almeno n si ha che In+1 [p] = I[p], ∀p ∈ IPn , ne segue En+1 [f ] = I[f ] − In+1 [f ] = I[f ] − I[p] + In+1 [p] − In+1 [f ] = I[f −p]−In+1 [f −p] ⇒ |En+1 [f ]| ≤ (kIk+kIn+1 k)kf −pk ≤ (kIk+C)kf −pk Per il Teorema di Weierstrass ∃p ∈ IPn convergente a f ⇒ En+1 [f ] → 0. TEOREMA: Data una famiglia di formule di quadratura interpolatorie I n+1 [f ] tali che ∃H : tale che Pn i=0 |wi | < H . Allora lim En+1 [f ] = 0 n→∞ P Per formule interpolatorie n i=0 wi = b − a : essendo esatte su f (x) = 1 si ha R P b − a = ab 1 · dx = I[1] = n i=0 wi · 1. P Pn ⇒ se wi ≥ 0 si ha i=0 |wi | = n i=0 wi = b − a : convergenza per formule interpolatorie con pesi positivi. INTEGRAZIONE NUMERICA – p.18/33 CONVERGENZA Contrariamente a quanto potrebbe sembrare “a prima vista” non conviene usare formule di Newton-Cotes di grado di precisione via via crescente I pesi tendono a crescere in modulo e ad essere di segno alterno, dando luogo a rilevanti errori di arrotondamento (per es. errori di cancellazione). Ad esempio per n = 10 si ha β0 = β10 = 16067, β1 = β9 = 106300, β2 = β8 = −48525, β3 = β7 = 272400, β4 = β6 = −260550, β5 = 427368. Pertanto un piccolo errore δi nel calcolo di f (xi ) può dar luogo al crescere di n ad un contributo oscillante di ampiezza crescente, rendendo instabile il procedimento numerico. Sia Ien+1 [f ] la formula calcolata in precisione finita: Ien+1 [f ] := n X i=0 wi (f (xi ) + δi ) ⇒ |Ien+1 [f ] − In+1 [f ]| = | n X i=0 wi δ i | < δ n X i=0 |wi | con δ = maxi |δi |. Ne segue che l’errore di arrotandamento accumulato rimane limitato se ad esempio i pesi wi sono a segno costante ed in particolare positivo. ⇒ Si sconsiglia di utilizzare formule di Newton-Cotes di grado elevato. INTEGRAZIONE NUMERICA – p.19/33 FORMULE COMPOSITE (Newton-Cotes) Per avere la convergenza: Pn la stabilità: wi ≥ 0 i=0 |wi | < H conviene considerare n basso e h piccolo, ossia suddividere [a, b] in N sottointervalli [zk , zk+1 ], k = 0, . . . , N su ciascuno applicare una formula di quadratura con basso grado (di precisione) Z b f (x)dx = a N −1 Z z X k+1 k=0 zk f (x)dx ' N −1 X (k) In+1 [f ] k=0 (k) In+1 può essere ad esempio la formula di Newton-Cotes con n + 1 nodi in [zk , zk+1 ] INTEGRAZIONE NUMERICA – p.20/33 FORMULA COMPOSITA dei TRAPEZI [zk , zk+1 ] = [a + k b−a , a + (k + 1) b−a ] N N Z b a f (x)dx ' ⇒ ITN [f ] := N −1 X k=0 (zk+1 − zk ) [f (zk ) + f (zk+1 )] 2 " (b − a) f (a) + 2 2N N −1 X k=1 f (zk ) + f (b) # INTEGRAZIONE NUMERICA – p.21/33 FORMULA COMPOSITA di SIMPSON [zk , zk+1 ] = [a + k b−a , a + (k + 1) b−a ] N N Z b a f (x)dx ' ⇒ ISN [f ] := a=z0 z1 N −1 X k=0 (zk+1 − zk ) zk+1 + zk f (zk ) + 4f + f (zk+1 ) 6 2 " (b − a) f (a) + 4 6N z2 N −1 X k=0 f z3 zk+1 + zk 2 + N −1 X k=1 2f (zk ) + f (b) # z4=b INTEGRAZIONE NUMERICA – p.22/33 FORMULE COMPOSITE ESEMPIO 4: applichiamo la formula dei Trapezi e di Simpson composita su 2 intervalli per approssimare l’integrale seguente: I[f ] = Z 1 0 dx = ln(2) ' 0.6931. 1+x 1 z0 = 0, z1 = , z2 = 1 2 1 b−a 1 [f (z0 ) + 2f (z1 ) + f (z2 )] = f (0) + 2f + f (1) 2N 4 2 a = 0, b = 1, N = 2, IT2 [f ] := 1 1 1 1 17 · = 1+2 + = 4 1 + 1/2 2 4 6 IS2 [f ] := = = 0.7083 z0 + z 1 z1 + z 2 b−a f (z0 ) + 4f + 2f (z1 ) + 4f + f (z2 ) 6N 2 2 1 1 1 3 f (0) + 4f + 2f + 4f + f (1) 12 4 2 4 1 1 1 1 1 1+4 +2 +4 + = 12 1 + 1/4 1 + 1/2 1 + 3/4 2 0.6933 INTEGRAZIONE NUMERICA – p.23/33 GRADO di PRECISIONE (Formule composite) Il grado di precisione delle formule composite è lo stesso delle corrispondenti formule di Newton-Cotes “semplici” Si può facilmente dimostrare che (b − a) |ETN [f ]| ≤ 12 b−a N 2 |f (2) (η)| (b − a) N |ES [f ]| ≤ 180 b−a 2N 4 |f (4) (η)| con η, η ∈ [a, b] Per funzioni sufficientemente regolari, si ha N lim |En+1 [f ]| = 0, N →∞ e quindi si ha la convergenza all’aumentare del numero di suddivisioni N . INTEGRAZIONE NUMERICA – p.24/33 IMPLEMENTAZIONE In pratica è importante determinare un valore adeguato del numero di suddivisioni dell’intervallo che bisogna fare. Si parte da N piccolo e si aumenta iterativamente il numero di suddivisioni, stimando l’errore in modo automatico: N2 N1 |In+1 [f ] − In+1 [f ]| Di solito è conveniente considerare N 2 = 2N 1, per sfruttare le valutazioni di f N 1 [f ] fatte per costruire In+1 Le formule composite con suddivisione uniforme dell’intervallo di integrazione sono ormai superate, tranne in casi particolari (funzioni periodiche). Si usano formule di tipo adattivo: Quando la funzione integranda presenta delle irregolarità c’è la necessità di addensare nodi nelle vicinanze delle irregolarità L’intervallo viene suddiviso in sottointervalli di ampiezza diversa Si usano molti nodi solo dove necessario Per capire dove infittire la sequenza dei nodi si usano stime dell’errore. INTEGRAZIONE NUMERICA – p.25/33 ESERCIZI INTEGRAZIONE NUMERICA – p.26/33 Esecizio 1. Valutare l’errore che si commette approssimando l’integrale Z con la formula di Newton-Cotes su 4 nodi (n 1 ex dx 0 = 3). n = 3, h= b−a 1 = n 3 a = 0, b = 1, E4 [f ] = 3 3 − h5 f (4) (η) = − 80 80 |E4 [f ]| ≤ 1 1 e x 1 −3 max {e } = = e < 0.5 · 10 80 · 34 [0,1] 80 · 81 6480 5 1 eη 3 INTEGRAZIONE NUMERICA – p.27/33 Esecizio 2. Approssimare l’integrale Z 1 2 e−x dx ' 0.7468 0 con la formula di Newton-Cotes su 4 nodi (n a = 0, x0 = 0, α0 = I4 [f ] 3 , 8 = 3). b = 1, n = 3, h = b−a 1 = n 3 1 2 , x2 = , x3 = 1 3 3 3 3 3 α1 = · 3, α2 = · 3, α3 = 8 8 8 x1 = := h[α0 f (x0 ) + α1 f (x1 ) + α2 f (x2 ) + α3 f (x3 )] = 1 3 1 2 · 1f (0) + 3f + 3f + 1f (1) 3 8 3 3 = 1 3 1 3 1 + 1/9 + 4/9 + ' 0.7470 8 e e e INTEGRAZIONE NUMERICA – p.28/33 Esecizio 3. Ricordando che ln(2) = Z 2 1 1 dx ' 0.6931 x approssimare ln(2) con la formula dei trapezi composita scegliendo il numero di intervalli N in modo da commettere un errore di approssimazione minore di 10−4 . |ETN [f ]| = 2 b − a b − a 2 1 1 f 00 (η) ≤ max |f 00 (x)| 12 [1,2] N 12 N f 0 (x) = − 1 2 00 , f (x) = x2 x3 ⇒ max |f 00 (x)| = 2 [1,2] 2 1 102 −4 ≤ = < 10 per N > √ ' 40.82 12N 2 6N 2 6 quindi occorre suddividere l’intervallo [1, 2] in almeno 41 sottointervalli. Con la formula di Simpson |ETN [f ]| composita: N |ES [f ]| = b − a b − a 4 1 (4) f (η) ≤ max |f (4) (x)| 4 180 2N 2880N [1,2] f (3) (x) = − N |ES [f ]| ≤ 6 24 (4) , f (x) = x4 x5 ⇒ max |f (4) (x)| = 24 [1,2] 24 1 104 10 −4 4 √ = < 10 per N > , N > ' 3.0214 4 2880N 4 120N 4 120 120 INTEGRAZIONE NUMERICA – p.29/33 Esecizio 4. Dato Z 1 Z 0 Z 1 1 1 + =1 2 2 −1 −1 0 lo si approssimi con la formula dei trapezi composita scegliendo N = 2 e successivamente N = 3. |x|dx = − xdx + xdx = Si valuti in entrambi i casi l’errore ottenuto e si commentino i risultati. a = −1, b = 1: N =2 ⇒ IT2 [f ] := N =3 ⇒ IT3 [f ] := = z0 = −1, z1 = 0, z2 = 1; b−a 1 [f (z0 ) + 2f (z1 ) + f (z2 )] = [f (−1) + 2f (0) + f (1)] 2N 2 1 [1 + 2 · 0 + 1] = 1 2 1 1 z 0 = −1, z 1 = − , z 2 = , z 3 = 1; 3 3 b−a [f (z 0 ) + 2f (z 1 ) + 2f (z 2 ) + f (z 3 )] 2N 1 1 1 2 2 1 f (−1) + 2f − + 2f + f (1) = 1+ + +1 = 3 3 3 3 3 3 10/9 2 [f ] fornisce il valore esatto dell’integrale, con I 3 [f ] l’approssimazione peggiora. Si nota che mentre IT T INTEGRAZIONE NUMERICA – p.30/33 Esecizio 4 (segue...) Stimiamo adesso l’errore in entrambi i casi. Le derivate della funzione sono: |ET2 [f ]| |ET3 [f ]| −1, 0 f (x) = 1, = = [−1, 0) [0, 1] , f 00 (x) = 0. 2 b − a b − a 2 2 2 1 f 00 (η) ≤ max |f 00 (x)| = max |f 00 (x)| = 0 12 [−1,1] N 12 2 6 [−1,1] 2 b − a b − a 2 2 2 2 f 00 (η) ≤ max |f 00 (x)| = 3 max |f 00 (x)| = 0 12 [−1,1] N 12 3 3 [−1,1] In entrambi i casi si stima una errore nullo, ma di fatto l’approssimazione peggiora passando da 2 a 3 intervalli. Tale risultato è dovuto al fatto che la funzione integranda non è regolare (la derivata prima non è continua). INTEGRAZIONE NUMERICA – p.31/33 Esecizio 5. Si vuol approssimare l’integrale Z 1 0 2 e−x dx ' 0.7468 con un errore in modulo non superiore a 0.5 10−3 . Si determini una stima dell’errore utilizzando formule di Newton-Cotes per diversi valori di n. a = 0, b = 1, h := b−a . Calcoliamo le derivate di n f: 2 2 f 0 (x) = −2xe−x , f 00 (x) = 2(2x2 − 1)e−x , f (3) = 4x(3 − 2x2 )e−x 2 2 2 f (4) = 4(4x4 − 12x2 + 3)e−x , f (5) = 8x(20x2 − 4x4 − 15)e−x , 2 f (6) = 8(8x6 − 60x4 + 90x2 − 15)e−x . 1 3 00 1 1 00 1 n = 1 : h = 1 ⇒ |E2 [f ]| = − h f (η) ≤ max |f 00 (x)| = |f (0)| = 12 12 [0,1] 12 6 1 1 1 1 1 1 (4) (4) max |f (x)| = |f (0)| = n = 2 : h = 12 ⇒ |E3 [f ]| = − h5 f (4) (η) ≤ 90 90 25 [0,1] 90 25 240 8 8 1 8 1 (6) 7 (6) (6) 1 n = 4 : h = 4 ⇒ |E5 [f ]| = − max |f (x)| = |f (0)| h f (η) ≤ 945 945 47 [0,1] 945 47 8 1 −4 = 120 ' 0.6200 10 945 47 INTEGRAZIONE NUMERICA – p.32/33 Esecizio 5 (segue ...) Poichè |E5 [f ]| < 0.5 10−3 , utilizzando la formula di Newton-Cotes con n = 4, si ottiene un valore che approssima l’integrale esatto a meno di 0.5 10−3 . Risulta b−a 1 = n 4 1 1 3 x0 = 0, x1 = , x2 = , x3 = , x4 = 1 4 2 4 2 2 2 2 2 α0 = · 7, α1 = · 32, α2 = · 12, α3 = · 32, α4 = ·7 45 45 45 45 45 h := I5 [f ] := = h[α0 f (x0 ) + α1 f (x1 ) + α2 f (x2 ) + α3 f (x3 ) + α4 f (x4 )] 1 2 1 1 3 · 7f (0) + 32f + 12f + 32f + 7f (1) 4 45 4 2 4 = 1 12 32 7 32 7 + 1/16 + 1/4 + 9/16 + 1 = 90 e e e e e dato che I[f ] 0.74683 = 0.74682, l’errore generato è circa 10−5 . INTEGRAZIONE NUMERICA – p.33/33