Sei sulla pagina 1di 20

INTEGRAZIONE NUMERICA

Francesca Pelosi
Dipartimento di Matematica, Universita` di Roma Tor Vergata

CALCOLO NUMERICO
a.a. 20082009

http://www.mat.uniroma2.it/pelosi/
INTEGRAZIONE NUMERICA p.1/20

INTEGRAZIONE NUMERICA
Data una f integrabile su [a, b] consideriamo
I[f ] :=

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)
ES:

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/20

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 ] '

f (x)dx,

In+1 [f ] :=

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 lerrore di quadratura associato alla formula su n + 1 punti:


En+1 [f ] = I[f ] In+1 [f ].

INTEGRAZIONE NUMERICA p.3/20

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

f (x)dx =
a

(Ln (x) + en (x))dx =


a

Ln (x)dx +
a

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

f (x)dx =
a

Ln (x)dx+
a

n
X
i=0

en (x)dx =

f (xi )

b
a

(n)
`i (x)dx

n
bX

a i=0

(n)
f (xi )`i (x)dx+

en (x)dx
a

en (x)dx
a

INTEGRAZIONE NUMERICA p.4/20

FORMULE INTERPOLATORIE
Da cui si ottiene un approssimazione dellintegrale 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

i=0

i=0

ESEMPIO: 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 =

w1 =

b
a

(1)
`0 (x)dx

b
a

(1)
`1 (x)dx

xb
1 (x b)
dx =
ab
2 ab

b
a

#
2 b

xa
1 (x a)
dx =
ba
2 ba

1 (a b) 2
ba
=
=
2 ab
2

#
2 b

1 (b a) 2
ba
=
=
2 ba
2

Da cui si ottiene la Regola dei Trapezi


Z

f (x)dx ' I2 [f ] =
a

ba
[f (a) + f (b)]
2
INTEGRAZIONE NUMERICA p.5/20

FORMULE INTERPOLATORIE
ESEMPIO: 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 =

(2)
`0 (x)dx

(2)
`1 (x)dx

w2 =

(2)

h
h

`2 (x)dx =
h

h
h

x(x h)
1
dx
=
2h2
2h2

1 3
1
x x2 h
3
2

(x + h)(x h)
1
dx
=
h2
h2

1 3
1
x + x2 h
3
2

x(x + h)
1
dx
=
2h2
2h2

Da cui si ottieneZla Regola di Simpson


h

f (x)dx ' I3 [f ] =

h

1
x3 + h 2 x
3

h

h
3

h

4
h
3

h
3

h
[f (h) + 4f (0) + f (h)]
3

e su un generico
intervallo [a, b]:
Z
b





a+b
ba
f (x)dx ' I3 [f ] =
f (a) + 4f
+ f (b)
6
2

INTEGRAZIONE NUMERICA p.6/20

FORMULE INTERPOLATORIE
TRAPEZI

SIMPSON

f(a)

f(b)

(a+b)/2

INTEGRAZIONE NUMERICA p.7/20

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 e` esatta quando la
funzione integranda e` un polinomio di grado k , ed esiste almeno un polinomio di grado k + 1
per cui lerrore 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 dallespressione dellerrore 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.8/20

Grado di precisione
ES: La formula di Simpson ha grado di precisione 3:
la formula esatta per
f (x) = x0 :
Rh 0
h
0
x
dx
=
x]
h = 2h I3 [x ] =
h
h
[1
3

h
[f (h)
3

+ 4f (0) + f (h)] =

+ 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] =


x3 h
= 23 h3
3
h
h2 ] = 23 h3

f (x) = x3
Rh 3
h x dx =
h
[h3
3


x2 h
2
h


x4 h
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


Rh 4

x5 h
= 25 h5 < I3 [x4 ] = h
[f (h) + 4f (0) + f (h)] =
h x dx = 5
3
h
h
[(h)4
3

+ h4 ] =

2 5
h
3

INTEGRAZIONE NUMERICA p.9/20

Formule di quadratura su nodi equidistanti


NEWTON-COTES (tipo chiuso) :
, consideriamo i punti equispaziati:
Dato [a, b] posto h = ba
n
xi = a + ih,

i = 0, . . . , n

cerchiamo lespressione dei pesi delle formula interpolatoria corrispondente:


n
X

wi f (xi ) :

i=0

wi =

xn
x0

(n)
`i (x)dx

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

n
0

Qn

j=0 (a + th (a + jh))
j6=i

Qn

j=0
j6=i

(a + ih (a + jh))

dt = h

n
0

Qn

j=0
j6=i

Qn

j=0
j6=i

(t j)h
(i j)h

dt = hi

INTEGRAZIONE NUMERICA p.10/20

Formule di quadratura su nodi equidistanti


Quindi una formula di Newton-Cotes su [a, b] generico pu essere scritta nella
forma:
n
X
ba
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 (nelle tabelle si sfutta la simmetria centrale degli i
ovvero i = ni )
n

1
2
1
3
3
8
14
45
95
288

2
3
4
5

Errore
1 3 (2)()
12
h f

4
3
9
8
64
45
375
288

1 5 (4)()
90
h f
3 5 (4)()
80
h f
24
45
250
288

8
945
h7 f (6)()
275
12096
h7 f (6)()

INTEGRAZIONE NUMERICA p.11/20

Errore Formule di quadratura


Per formule di tipo interpolatorio:
En+1 =

(f (x)Ln (x))dx =
a

en (x)dx =
a

Per formule di Newton-Cotes con h =

En+1 =

n
0

b
a

n
Y

b
a

f (n+1) ()
(xx0 ) (xxn )dx
(n + 1)!

ba
:
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
3

ES: per la formula dei trapezi: E2 = h2!


t(1 t) 0in [0, 1].

R1
0

n
0

=
x=a+th
dx=hdt

f (n+1) ()

n
Y

(t j)dt

j=0

f (2) ()t(1 t)dt dove

INTEGRAZIONE NUMERICA p.12/20

Errore Formule di quadratura


Studiando meglio lintegrale 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=

ba
,
n

i = 0, . . . , n, si ha per lerrore le seguenti espressioni

per n pari e f C n+2 [a, b] :

f (n+2) ()hn+3
En+1 [f ] =
(n + 2)!

n
n Y

t(t j)dt

j=0

per n dispari e f C n+1 [a, b] :

f (n+1) ()hn+2
En+1 [f ] =
(n + 1)!

n
n Y

(t j)dt

j=0

dove , [a, b] = [x0 , xn ].

INTEGRAZIONE NUMERICA p.13/20

Errore Formule di quadratura


Le formule di quadratura con n pari (numero dispari di nodi) hanno grado di
precisione n + 1
Es: la formula di Simpson n = 2 ha grado di precisione 3 in quanto lerrore
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
Es: la formula dei Trapezi n = 1 ha grado di precisione 1, in quanto
lerrore coinvolge la derivata f (2) () che nulla per f IP1
pi conveniente usare formule con n pari.

INTEGRAZIONE NUMERICA p.14/20

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 ]

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

P
Per formule interpolatorie si ha n
i=0 wi = b a (essendo esatte su f (x) = 1
R
P
si ha b a = ab dx = I[1] = n
i=0 wi 1)

INTEGRAZIONE NUMERICA p.15/20

Formule Composite (Newton-Cotes)


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)
Per avere la convergenza e contemporaneamente w i 0 conviene
considerare n basso e h piccolo, ossia suddividere [a, b] in N sottointervalli
[zk , zk+1 ], k = 0, . . . , N e su ciascuno applicare una formula di quadratura con
basso grado (di precisione)
Z

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.16/20

Formula Composita dei Trapezi


[zk , zk+1 ] = [a + k ba
, a + (k + 1) ba
]
N
N
Z

f (x)dx '
a

ITN [f ] :=

N
1
X
k=0

(zk+1 zk )
(f (zk+1 f (zk ))
2

"

(b a)
f (a) +
2N

N
1
X
k=1

2f (zk ) + f (b)

INTEGRAZIONE NUMERICA p.17/20

Formula Composita di Simpson


[zk , zk+1 ] = [a + k ba
, a + (k + 1) ba
]
N
N
Z

f (x)dx '
a

k=0

ISN [f ] :=

a=z0

N
1
X

z1

(zk+1 zk )
2

"

(b a)
f (a) +
6N

z2

4
1
f (zk ) + f
3
3

N
1
X

2f (zk ) + 4

k=1

zk+1 + zk
2

N
1
X
k=0

z3

1
+ f (zk+1 )
3

zk+1 + zk
2

+ f (b)

z4=b
INTEGRAZIONE NUMERICA p.18/20

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

ba
N

2

kf (2) k

(b a)
N
|ES
[f ]|
180

ba
2N

4

kf (4) k

Per funzioni sufficientemente regolari si ha quindi


N
lim |En+1
[f ]| = 0

INTEGRAZIONE NUMERICA p.19/20

Implementazione
In pratica importante determinare un valore adeguato del numero di
suddivisioni dellintervallo che bisogna fare.
Si parte da N piccolo e si aumenta iterativamente il numero di suddivisioni,
stimando lerrore 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 dellintervallo 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
Lintervallo 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 dellerrore.
INTEGRAZIONE NUMERICA p.20/20