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