You are on page 1of 27

Integracio numerica 141

Captol 6 Integracio numerica

6.1 Formules de Newton-Cotes

Aquestes formules s'obtenen en substituir la funcio a integrar per un polinomi


p(x) queR la interpoli en un conjunt de punts equiespaiats de l'interval base, i prenent
el valor ab p(x)dx com una aproximacio a ab f (x)dx.
R

Per calcular aquestes formules, considerem la particio de l'interval [a; b] donada


per xi = a + ih, i = 0; 1; : : : ; n amb h = b ,n a , n > 0. Ara busquem el polinomi
d'interpolacio Pn que compleix Pn (xi ) = f (xi) = fi, i = 0; 1; : : : ; n. La formula
d'interpolacio de Lagrange ens diu quin es aquest polinomi:
Xn Yn x , xk :
Pn (x) = fiLi (x) ; amb Li (x) =
i=0 k=0 xi , xk
k 6=i

Ara, prenent Pn com una aproximacio de f , obtenim


Z b Z b n Z b
f (x) dx  Li (x) dx = () :
X
Pn(x) dx = fi
a a i=0 a

Fent el canvi de variable x = a + ht, tenim que Li (x) = 'i (t) =


n
Q t , k i, per tant,
=0 i , k
k
6=
k i

n Z n
() = h
X
fi 'i (t) dt :
i=0 0

© Els autors, 1998; © Edicions UPC, 1998.


142 Calcul numeric

Si escrivim i = 0n 'i (t) dt, obtenim la formula d'aproximacio seguent:


R

Z b n
f (x) dx  h
X
i fi :
a i=0

Aquestes son les formules de Newton-Cotes. Notem que els coe cients i no
depenen ni de l'interval [a; b] ni de f , nomes depenen de n i, a mes, son racionals.
Calculem ara els valors de les i per a alguns valors de n.
Per a n = 1,
" #
t ,
0 = 0 , 1 dt = (1 , t) dt = t , t2 = 12
1Z 1 Z 1 2

0 0
" #

=
Z 1
t , 0 Z 1

dt = t dt = t 2
= 1:
1
0 1,0 0 2 2

Per tant,
f (x) dx  h2 (f0 + f1 ) = h2 (f (a) + f (b)) ;
Z b
a
que es la coneguda formula dels trapezis.
Per a n = 2,

0 =
Z 2
t , 1 t , 2 dt = 1 Z 2 (t2 , 3t + 2) dt = 1 ;
0,1 0,2
0 2 Z0 3
t , 0
Z 2
t , 2 2
4
1 = 1 , 0 1 , 2 dt = , (t2 , 2t) dt = 3 ;
0 0
Z 2
t , 0 t ,
2 = 2 , 0 2 , 1 dt = 2 (t2 , t) dt = 31 ;
1 1 Z 2

0 0

d'on Z b h h 
a + b 

f (x) dx  3 (f0 + 4f1 + f2 ) = 3 (f (a) + 4f 2 + f (b)) ;


a
que es l'anomenada formula de Simpson.
Els valors de les i per a valors de n mes grans estan ja tabulats i els donarem
mes endavant.
Per tar l'error en el cas dels trapezis podem aplicar la proposicio seguent:

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 143

Proposicio. Si f 2 C ([a; b]), es te


2

E = 2 (f (a) + f (b)) , f (x) dx = h12 f 00 (c) c 2]a; b[ ;


h Z b 3

a
on h = b , a.
 Sigui y = p(x) la recta que passa pels punts (a; f (a)) i (b; f (b)).
DEMOSTRACIO.
Llavors,
E = h2 (f (a) + f (b)) , f (x) dx = p(x) dx , f (x) dx = (p(x) , f (x)) dx:
Z b Z b Z b Z b

a a a a

Per la formula de l'error en la interpolacio sabem que


00
f (x) , p(x) = f 2!(x ) (x , a)(x , b)
i, per tant,
00 00 Z b
E = , f 2!(x) (x , a)(x , b) dx = , f 2(c) (x , a)(x , b) dx
Z b

a a
per a algun c 2]a; b[ Per fer la integral fem el canvi x = a + ht:
ht(a , b + ht)h dt = , h6
Z b Z 1 3
(x , a)(x , b) dt =
a 0

i, per tant,
E = h12 f 00 (c) ;
3

com volem demostrar.


En el cas general tenim la formula seguent per a l'error.
Proposicio. Si f 2 C p([a; b]), es te
n Z b
i fi , f (x) dx = hp+1 Kf (p)(c) ; c 2]a; b[ ;
X
h
i=0 a

on h = b ,n a . A mes, p i K nomes depenen de n.

No demostrarem aquesta formula, pero precisarem els valors de p i K en casos


concrets. Per aixo xem un valor de n i diem s al comu denominador de les i , i

© Els autors, 1998; © Edicions UPC, 1998.


144 Calcul numeric

de nim i com i = s i , i = 0; 1; : : : ; n. (Observeu que els i son enters.) Amb


aquesta notacio, la formula d'integracio queda
,a n
f (x) dx  b ns
Z b X
i fi :
a i=0
A continuacio donem una taula que conte els casos mes importants de Newton-Cotes.

n nom i ns error

1 trapezis 1 1 2 h3 121 f (2) (c)


2 Simpson 1 4 1 6 h5 901 f (4) (c)
3 regla 3/8 1 3 3 1 8 h5 803 f (4) (c)
4 Milne 7 32 12 32 7 90 h7 945
8
f (6) (c)
5 | 19 75 50 50 75 19 288 h7 12096
275
f (6)(c)
6 Weddle 41 216 27 272 27 216 41 840 h9 1400
9
f (8) (c)

Hi ha dos motius per no donar les formules amb valors de n mes grans:

i) Com s'ha vist al tema d'interpolacio, el fet d'usar polinomis interpoladors de grau
alt pot ser contraproduent (fenomen de Runge).
ii) Per a n gran, algunes i son negatives i les formules obtingudes no son adequades
per a un metode numeric, perque hi ha cancellacions en calcular i fi, que fan
que creixi molt l'error.
Aixo dona una restriccio molt forta a aquest metode: si n es petit, tenim un gran
error en la formula d'interpolacio i, si n es gran, tambe podem tenir aquest error a
mes de la cancellacio abans esmentada.

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 145

6.2 Formules compostes

Una manera de resoldre les di cultats anteriors son les formules de Newton-Cotes
compostes. La idea es dividir l'interval [a; b] en intervals mes petits i aplicar les regles
anteriors a aquests subintervals. Farem aixo en un parell d'exemples.
, a . La regla
Considerem n = 1 i la particio xi = a + ih, i = 0; 1; : : : ; N , h = b N
dels trapezis a cada subinterval [xi ; xi+1 ] dona
Ii = h2 [f (xi) + f (xi+1)] :
Per tant, per a tot l'interval [a; b] tenim que
b PN ,1 h [f (a) + 2f (a + h) + 2f (a + 2h) +   
a f (x) dx  i=0 Ii =
R

2
   + 2f (b , h) + f (b)] = TN (f ) :

Com que l'error en un subinterval [xi ; xi+1 ] es

f (x) dx = h12 f (2) (ci ) ; ci 2]xi; xi+1 [ ;


Z xi+1 3
Ii ,
xi
sumant aquests errors i tenint en compte que f es C 2 a [a; b], obtindrem l'error global
3 N ,1 ,1
, a NX
f (x) dx = h12 f (2) (ci ) = h12 b N
Z b 2
TN (f ) ,
X
f (2) (ci ) :
a i=0 i=0

Com que
,1
1 NX
min
i
f (2)
( ci )  N f (2) (ci )  max
i
f (2) (ci )
i=0
i f (2) es contnua, existeix c 2 [min ci ; max ci ] ]a; b[, tal que
,1
NX
f (2) (c) = N1 f (2)(ci )
i=0
i, per tant,
TN (f ) ,
Z b , a h2f (2) (c) ; c 2]a; b[ :
f (x) dx = b 12
a

© Els autors, 1998; © Edicions UPC, 1998.


146 Calcul numeric

Com que f (2) es contnua a [a; b], es tada; per tant, fent disminuir h (fent creixer N )
, podrem aconseguir, en principi, errors tan petits com vulguem.
Es pot fer el mateix per la regla de Simpson. Suposem ara que N es parell
i apliquem Simpson a cada subinterval [x2i ; x2i+1 ; x2i+2 ], i = 0; 1; : : : ; N2 , 1,
obtenim l'aproximacio (h=3)(f (x2i ) + 4f (x2i+1 ) + f (x2i+2 )). Sumant aquestes N2
aproximacions, tindrem la regla de Simpson composta
b h [f (a) + 4f (a + h) + 2f (a + 2h) + 4f (a + 3h) + 2f (a + 4h) +   
a f (x) dx 
R

3
   + 2f (b , 2h) + 4f (b , h) + f (b)] = SN (f ) :

Igual que abans, l'error es la suma dels N2 errors de cada interval

5 (N= 2),1

f (x) dx = h90
Z b
SN (f ) ,
X
f (4) (ci ) =
a i=0
(N=2),1
h 4
b
= 90 2 N, a 2 X
f (4)(ci ) ;
i=0
per tant,
SN (f ) ,
Z b , a h4 f (4)(c) ; c 2]a; b[ :
f (x) dx = b180
a

Nota: obviament, cal suposar que f 2 C 4 ([a; b])), igual que abans, aix es pot obtenir
una precisio considerable escollint un nombre de punts N (aqu N ha de ser parell)
prou gran.
Podrem fer el mateix per a les altres formules, pero per les raons comentades
abans (possible comportament dels polinomis d'interpolacio d'ordre alt) les formules
obtingudes no son gaire usades. Per tant, en lloc de fer aixo, donarem maneres de
millorar encara mes la precisio de la regla de trapezis composta.
Vegem ara uns quants exemples d'aplicacio d'aquestes formules.
e,x2 dx amb un error mes petit que 10,4 .
R1
Exemple. Calculeu 0

Ho farem aplicant les dues formules compostes que hem vist abans: trapezis i
Simpson. Apliquem primer la de trapezis.

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 147

En primer lloc, ens cal determinar amb quin pas h hem de fer la integral. Sabem
, a h2f 00(c). En el nostre cas, h2 f 00(c). Com que no tenim cap manera
que l'error es b 12 12
de calcular el valor c 2]0; 1[, trobarem una ta de f 00 sobre [0; 1]: derivant s'obte
f (x) = e,x2 =) f 0(x) = ,2xe,x2 =) f 00(x) = (4x2 , 2)e,x2
j f 00(x) j=j 4x2 , 2 jj e,x2 jj 4x2 , 2 j= 2 j 2x2 , 1 j 2 ; per a x 2 [0; 1] :
Per tant,

h2 f 00(c) = h2 j f 00(c) j h2 2 = h2 :

12 12 12 6

p
Si fem que h6 < 10,4 , obtenim h < 6  10,2 . Agafem h = 2  10,2 , es a dir,
2

N = 50.
Aplicant la regla dels trapezis, amb aquestes dades i l'ajut d'unR ordinador,
s'obte 01 e,x2 dx  0:7467996 : : : ; Si comparem amb el valor exacte 01 e,x2 dx 
R

0:74682413 : : : veiem que l'error es 2:4  10,5 < 10,4 , com havem demanat.
Ara aplicarem el metode de Simpson. Com que l'error en aquest metode es
b , a h4 f (4) (c), en primer lloc ens cal obtenir una ta per a f (4) a [0; 1]. Derivant
180
l'expressio de f 00 obtinguda abans:
f (3) (x) = (,8x3 + 12x)e,x2 =) f (4)(x) = (16x4 , 48x2 + 12)e,x2
j f (4) (x) j=j 16x4 , 48x2 + 12 jj e,x2 jj 16x4 , 48x2 + 12 j 20 ; x 2 [0; 1]

Per tant, imposant la condicio que l'error sigui mes petit que 10,4



b , a h4 f (4) (c) = h4 j f (4) (c) j h4  20 < 10,4 =) h4 < 9  10,4 ;

180
180 180
p p
d'on h < 3  10,1 ; agafem N = 6, que dona h = 0:166 : : : < 3  10,1 = 0:17 : : :.
Aplicant ara la formula de Simpson composta (ho podem fer perque N = 6 es parell)
surt 0 e x2 dx  0:74683039 : : : . Es comprova que l'error es 6  10,6 , menys del
,
R1

que havem demanat. Aixo passa perque la tacio de f (4) (c) que hem fet es massa
pessimista.
En aquest exemple es veu un avantatge del metode de Simpson sobre el dels
trapezis, i es que h pot ser molt mes gran en el de Simpson, i per tant, amb menys

© Els autors, 1998; © Edicions UPC, 1998.


148 Calcul numeric

operacions obtenim la mateixa precisio. Hom pot pensar que, quan es treballa amb un
ordinador, el nombre d'operacions que es fan es poc important. Aixo no es del tot cert,
perque quan es fan moltes operacions es propaguen molt els errors d'arrodoniment.
Per illustrar-ho, vegem la taula 1.
TRAPEZIS
N Valor Error Error
calculat real predit
2 0.73137021 0.15E-01 0.42E-01
4 0.74298406 0.38E-02 0.10E-01
8 0.74586558 0.96E-03 0.26E-02
16 0.74658459 0.24E-03 0.65E-03
32 0.74676436 0.60E-04 0.16E-03
64 0.74680907 0.15E-04 0.41E-04
128 0.74682051 0.36E-05 0.10E-04
256 0.74682313 0.10E-05 0.25E-05
512 0.74682385 0.30E-06 0.64E-06
1024 0.74682355 0.60E-06 0.16E-06
2048 0.74682522 0.11E-05 0.40E-07
SIMPSON
N Valor Error Error
calculat real predit
2 0.74718046 0.36E-03 0.69E-02
4 0.74685544 0.31E-04 0.43E-03
8 0.74682617 0.20E-05 0.27E-04
16 0.74682426 0.12E-06 0.17E-05
32 0.74682403 0.12E-06 0.11E-06
64 0.74682420 0.60E-07 0.66E-08
128 0.74682403 0.12E-06 0.41E-09
256 0.74682444 0.30E-06 0.26E-10
512 0.74682403 0.12E-06 0.16E-11
1024 0.74682474 0.60E-06 0.10E-12
2048 0.74682325 0.89E-06 0.63E-14
La integral amb 8 xifres exactes es: 0.74682413
Taula 1

Taula 1. Aixo son diverses aproximacions al valor 01 e,x2 dx pel metode dels
R

trapezis i pel de Simpson. Notem com a trapezis, en passar de 512 a 1024 punts,
hi ha una perdua de precisio deguda als errors d'arrodoniment. Aixo mateix s'observa
per al metode de Simpson en passar de 64 a 128 punts. Notem tambe que per a 32

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 149

punts, l'error real del de Simpson es mes gran que l'error predit. Aquest ultim s'ha
calculat amb les formules que hem usat a l'exemple: E  h6 per al dels trapezis i
2

E  h9 per al de Simpson.
4

(Nota: tots els calculs s'han fet amb precisio simple.)


Per tant, ara buscarem formules per augmentar la precisio sense augmentar gaire
el nombre d'operacions.

6.3 Formula d'Euler-Maclaurin

De nirem els nombres de Bernouilli com els nombres Bn que compleixen


x =X1 B
n n
ex , 1 n! x : n=0

Els primers nombres son B0 = 1, B1 = , 12 , B2 = 61 , B3 = 0, B4 = , 30


1 , B = 0,
5

1 1 5
B6 = 42 , B7 = 0, B8 = , 30 , B9 = 0, B10 = 66 .

TEOREMA. Sigui f 2 C k ([a; b]), N 2 N i diguem que h = b N, a . Igual que


2 +2

abans, notem
TN (f ) = h2 [f (a) + 2f (a + h) +    + 2f (b , h) + f (b)] :
Llavors,

f (x) dx = B2!2 h2 [f 0(b) , f 0 (a)] + B4!4 h4 [f 000 (b) , f 000 (a)] +   


Z b
TN (f ) ,
a
   + (2Bkk)! h k [f
2 2 (2k,1) (b) , f (2k,1) (a)] + B2k+2
(2k + 2)! h
k
2 +2
(b , a)f (2k+2) (c) ; c 2]a; b[ :

(Formula d'Euler-Maclaurin)

No donarem la demostracio d'aquesta formula.

© Els autors, 1998; © Edicions UPC, 1998.


150 Calcul numeric

Farem aplicacions importants d'aquest teorema. La primera sera afegir termes a


la regla dels trapezis per obtenir metodes mes precisos. Per exemple, considerem

f (x) dx  TN (f ) , B2!2 h2(f 0 (b) , f 0 (a)) = TN (f ) , h12 (f 0(b) , f 0(a)) :


Z b 2

Aquesta regla de trapezis corregida es mes precisa que la de trapezis normal. Agafant
k = 1 a la formula d'Euler-Maclaurin, tenim

TN (f ) , h12 (f 0 (b) , f 0(a)) , f (x) dx = B4!4 h4 (b , a)f (4) (c) :


2 Z b

Per tant, aquest metode te unRordre de convergencia similar al de Simpson. Com a
exemple, calculem un cop mes 01 e,x2 dx amb un error < 10,4 . Com hem vist abans,
j f (4) (c) j 20, c 2]0; 1[ i B4 = , 301 . Per tant,



B4 h4 (b , a)f (4) (c)  1 h4
 20 = h4 < 10,4 =) h < p6  10,1 = 0:24 : : : :

4!
30  24 36

Agafant N = 5, tenim que h = 0:2. Aplicant trapezis, per a N = 5, tenim


T5 (f ) = 0:74436834 : : : . Com que f 0 (x) = ,2xe,x2 , f 0(0) = 0 i f 0 (1) = ,2e,1 , d'on
h2 (f 0(b) , f 0(a)) = 1=25 ,2 1  = , 1 :
12 12 e 150e
Restant aquests factors, obtenim
Z 1

e,x2 dx  0:74682087 : : : ;
0

que te un error de 3  10,6 .


Es poden obtenir metodes amb ordres de precisio mes alts incorporant mes termes
de la formula d'Euler-Maclaurin a la regla dels trapezis de la manera que hem fet
aqu.

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 151

6.4 Extrapolacio de Richardson

Un altre us molt important de la formula d'Euler-Maclaurin es l'extrapolacio.


Aquest metode es pot aplicar sempre que l'error del metode s'expressi com a serie de
potencies de h. En el nostre cas,
Z b
f (x) dx = Th(f ) + a2 h2 + a4 h4 +    :
a

Si fem aixo, per a h2 , tenim

f (x) dx = Th=2 (f ) + a42 h2 + 16


a4 h4 +    :
Z b
a
Combinant aquestes dues formules tenim
Z b
4T (f ) , T (f )
f (x) dx = h=2 3 h + b4 h4 + b6 h6 +    ;
a
amb la qual cosa tenim una formula d'ordre mes alt. Aquest proces es pot anar
repetint ns a obtenir un ordre tan gran com vulguem.
La manera de dur-lo a terme es en una taula:
Th
4T(h=2) , Th
3 = T(1h=2)
16T(1h=4) , T(1h=2)
T(h=2) 15 = T(2h=4)
4T(h=4) , T(h=2) .
3 = T(1h=4) ..
T(h=4) ...
16T(1h=2 ) , T(1h=2 ,1 )
T(h=2 ,1 ) = T(2h=2
n n
n
15 n)

4T(h=2 ) , T(h=2 ,1 )
= T(1h=2
n n

3 n)

T(h=2 n)

4k T(kh=,21 ) , T(kh=,21 ,1 )
El pas generic es T(kh=2i ) = .
i i

4k , 1

© Els autors, 1998; © Edicions UPC, 1998.


152 Calcul numeric

Usem com a exemple la taula 1. Agafant els 3 primers valors de la taula de


trapezis, tenim
N trapezis extrap.1a extrap.2a
2 0:73137021
0:74685534 Z 1

4 0:74298406 0:74682414  e,x2 dx


0
0:74682609
8 0:74586558
Observem que aquest metode es el que ens ha donat mes precisio i, a mes, necessita
molt poques operacions. Per aquest motiu es un dels metodes mes usats en la
integracio numerica de funcions.
Per acabar aquesta seccio, considerem una funcio f 2 C 4 ([a; b]) que compleix
que f 0 (a) = f 0 (b). Llavors, de la formula d'Euler-Maclaurin es despren que l'error de
trapezis ja no es d'ordre h2 , sino d'ordre h4 . Si f es C 6 i a mes f 000 (a) = f 000 (b), l'error
es d'ordre h6 , etc. Per a aquest tipus de funcions, es molt avantatjosa la regla dels
trapezis, encara que s'ha d'anar amb compte en aplicar l'extrapolacio. Per exemple,
si f 0 (a) = f 0(b) i f 000(a) 6= f 000(b), el metode d'extrapolacio ha de comencar pel segon
pas.
Un cas especial d'aixo son les funcions C 1([a; b]) i periodiques de perode b , a.
Sigui f una d'aquestes funcions. De la formula d'Euler-Maclaurin es despren que
l'error comes en avaluar ab f (x) dx pel metode de trapezis es d'ordre mes petit que
R

hk per a tot k. Es pot provar (no ho farem) que l'error decreix com una exponencial.
Aixo fa que en aquests casos el metode de trapezis doni resultats extremadament bons.
Exemple. Calculeu 02 esin x dx.
R

Com que f (x) = esin x es una funcio periodica de perode 2, apliquem el metode
de trapezis i obtenim la taula 2.

N trapezis Simpson
2 6.28318548 6.28318548
4 7.98932362 8.55803585
6 7.95464373 7.95464420
8 7.95492887 7.94346285
10 7.95492601 7.95492744
12 7.95492697 7.95502138
Taula 2.

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 153

El valor exacte es 7:95492649 : : :


Aqu es veu la millor convergencia de trapezis enfront de Simpson. A partir de
N = 10, les dues ultimes xifres s'emmascaren per errors d'arrodoniment.
Finalment, remarquem que l'extrapolacio en aquest ultim exemple no funciona.
(Per que?)

6.5 Integracio gaussiana

Considerem ara integrals del tipus ab f (x)w(x) dx, on w(x) es una funcio positiva
R

m
a [a; b]. Agafem x0 ; : : : ; xm punts diferents de [a; b], i sigui pm (x) = fi Li (x) el
P

i=0
polinomi d'interpolacio en aquest punts (la notacio es la mateixa que abans, es a dir,
fi = f (xi) i Li (x) = Q xx ,, xxk ).
m
=0 i
k k
6=i
k

Aproximant f per pm , tenim


b f (x)w(x) dx  R b p (x)w(x) dx =
R
a aP m R 
= mi=0 ab fi Li (x)w(x) dx = mi=0 ab Li (x)w(x) dx fi :
P R

Dient Ai = ab Li (x)w(x) dx, tenim que


R

Z b m
f (x)w(x) dx 
X
Ai fi :
a i=0

Observeu que, si w(x)  1 i els punts xi estan equiespaiats, el que obtindrem


seran les formules de Newton-Cotes. Tambe es remarca el fet que aquesta formula
d'aproximacio obtinguda es exacta si f es un polinomi de grau mes petit o igual que
m (aixo es perque en aquest cas f  pm ). En aquesta seccio intentarem millorar el grau
d'exactitud d'aquestes formules, escollint de manera optima els punts x0 ; x1 ; : : : ; xm .

TEOREMA. Sigui w(x) una funcio positiva sobre [a; bb]. Direm 'm al polinomi de
grau m ortogonal respecte al producte escalar (g1 ; g2 ) = a g1 (x)g2 (x)w(x) dx. Llavors,
R

'm te m zeros simples dins l'interval [a; b].

© Els autors, 1998; © Edicions UPC, 1998.


154 Calcul numeric

 Com que el polinomi 'm es ortogonal al polinomi constant '0 = 1,


DEMOSTRACIO.
tenim que Z b

< 'm ; '0 >= 0 =) 'm (x)w(x) dx = 0


a
i com que w(x) > 0 sobre [a; b], cal que 'm (x) presenti un canvi de signe (i, per tant,
un zero) en aquest interval.
Suposem ara que 'm te n zeros dins de [a; b], es a dir,
'm (x) = (x , x0 )    (x , xn )Qm,n (x)
on Qm,n (x) no presenta cap canvi de signe a [a; b]. Llavors, si n < m tenim que
Z b
0 =< 'm ; (x , x0 )    (x , xn ) >= (x , x0 )2    (x , xn )2 Qm,n (x) dx ;
a
cosa que es absurda. Per tant, cal que n = m. Finalment, veiem que aquests zeros
son simples. Suposem que n'existeix un de doble, es a dir, 'm (x) = (x , a)2 Qm,2 (x).
Llavors, Z b

0 =< 'm ; Qm,2 >= (x , a)2 Q2m,2 (x) dx ;


a
la qual cosa es absurda.
TEOREMA. Sigui w(x) una funcio positiva sobre [a; b]. Diremb 'm al polinomi +1
de grau m+1 ortogonal respecte del producte escalar (g1 ; g2 ) = a g1 (x)g2 (x)w(x) dx.
R

Siguin x0 ; x1 ; : : : ; xm els zeros de 'm+1 . Llavors, la formula d'aproximacio


Z b m
f (x)w(x) dx 
X
Ai fi ;
a i=0
Z b
Ai = Li (x)w(x) dx ;
a
m
Li (x) = xx ,, xxk ;
Y

=0 i kk
k 6=i

es exacta per a tots els polinomis de grau 2m + 1 (o menys).


DEMOSTRACIO.  Suposem que f (x) es un polinomi de grau 2m+1. Direm q(x) i r(x)
al quocient i al residu de la divisio f (x)='m+1 (x). E s a dir, f (x) = q(x)'m+1 (x)+ r(x).
Notem que q(x) i r(x) son polinomis de grau mes petit o igual que m
Z b Z b Z b Z b
f (x)w(x)d x = q(x)'m+1 (x)w(x) dx + r(x)w(x) dx = r(x)w(x) dx :
a a a a

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 155

perque q(x) es de grau  m i 'm+1 (x) es ortogonal a tots els polinomis de grau  m.
D'altra banda,
m
X Xm Xm m
X
Aifi = Ai q(xi )'m+1 (xi ) + Ai r(xi) = Ai r(xi ) ;
i=0 i=0 i=0 i=0
perque xi son els zeros de 'm+1 (x).
Com que r(x) es un polinomi de grau  m, tenim
Z b Xm
r(x)w(x) dx = Ai r(xi )
a i=0
i per tant, hem demostrat que
Z b Xm
f (x)w(x) dx = Ai fi ;
a i=0
que es el que volem provar.
Anomenarem formules gaussianes les formules d'integracio numerica descrites en
aquest ultim teorema.
Proposicio. Els coe cients Aj que apareixen a les formules gaussianes son positius.
DEMOSTRACIO.  Com que la formula es exacta per a f (x) = [Lj (x)]2 (polinomi de
grau 2m), tenim que
Z b Xm
[Lj (x)]2 w(x) dx = Ai [Lj (xi )]2 = Aj :
a i=0

Per tant, com que [Lj (x)]2  0 i w(x)  0, tenim que ab (Li (x))2 w(x) dx > 0 i,
R

per tant, Aj > 0.


Cal remarcar que si les Aj no fossin sempre positives, tindrem problemes numerics
a causa de la cancellacio de xifres signi catives.
TEOREMA. L'error a les formules gaussianes es
Z b m
f (2m+2)
(c ) Z b

f (x)w(x) dx , Ai fi = (2m + 2)! [(x)]2 w(x) dx = cm f (2m+2) (c) ;


X

a i=0 a

© Els autors, 1998; © Edicions UPC, 1998.


156 Calcul numeric

m
on (x) = (x , xi ).
Q

i=0

DEMOSTRACIO.  Sigui Q(x) el polinomi de grau 2m +1 que compleix Q(xi ) = f (xi),


0 0
Q (xi ) = f (xi ), i = 0; 1; : : : ; m. La formula gaussiana es exacta per a aquest polinomi
Z b Xm m
X
Q(x)w(x) dx = Ai Q(xi ) = Aifi :
a i=0 i=0

Per tant,
m Z b Z b
Ai fi , (Q(x) , f (x))w(x) dx :
X
f (x)w(x) dx =
i=0 a a

Recordem que l'error de la formula d'interpolacio d'Hermite es

m+2)(x )
f (x) , Q(x) = f(2m + 2)! [(x)]2 ;
(2

d'on, aplicant el teorema del valor mitja per a integrals, s'obte el resultat demanat.
Vegem ara uns casos particulars (els mes importants) de formules gaussianes.
D'ara endavant, i per simpli car la notacio, direm n al nombre de punts de la
formula gaussiana, es a dir, n = m + 1 segons la notacio anterior.

1. Formules de Gauss-Legendre
Tenen lloc quan w(x)  1 i [a; b] = [,1; 1]. Els polinomis ortogonals son
llavors els polinomis de Legendre Pn (x), que es poden generar com:

dn (x2 , 1)n ;
Pn(x) = 2n1n! dx n

amb P0 (x) = 1.
Els zeros xk d'aquests polinomis i els pesos Ak es troben a la taula seguent:

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 157

n xk Ak n xk Ak
2 0; 57735027 1; 00000000 14 0; 08628381 0; 03511946
4 0; 86113631 0; 34785485 0; 92843488 0; 08015809
0; 33998104 0; 65214515 0; 82720132 0; 12151857
6 0; 93246951 0; 17132449 0; 68729290 0; 15720317
0; 66120939 0; 36076157 0; 51524864 0; 18553840
0; 23861919 0; 46791393 0; 31911237 0; 20519846
8 0; 96028986 0; 10122854 0; 10805495 0; 21526385
0; 79666648 0; 22381034 16 0; 98940093 0; 02715246
0; 52553241 0; 31370665 0; 94457502 0; 06225352
0; 18343464 0; 36268378 0; 86563120 0; 09515851
10 0; 97390653 0; 06667134 0; 75540441 0; 12462897
0; 86506337 0; 14945135 0; 61787624 0; 14959599
0; 67940957 0; 21908636 0; 45801678 0; 16915652
0; 43339539 0; 26926672 0; 28160355 0; 18260342
0; 14887434 0; 29552422 0; 09501251 0; 18945061
12 0; 98156063 0; 04717534
0; 90411725 0; 10693933
0; 76990267 0; 16007833
0; 58731795 0; 20316743
0; 36783150 0; 23349254
0; 12533341 0; 24914705
En aquest cas particular, l'error es
2n+1
(n!)4 f (2n) (c) ; c 2] , 1; 1[ :
E = (2n2 + 1)[(2n)!]3

2. Formules de Gauss-Laguerre
Corresponen a w(x) = e,x i [a; b] = [0; +1[. La famlia de polinomis
ortogonals son els polinomis de Laguerre, de nits per
dn (e,xxn ) :
Ln (x) = ex dx n

© Els autors, 1998; © Edicions UPC, 1998.


158 Calcul numeric

Els zeros xk d'aquest polinomi i els coe cients Ak venen donats per

n xk Ak n xk Ak
2 0; 58578644 0; 85355339 12 0; 11572212 0; 26473137
3; 41421356 0; 14644661 0; 61175748 0; 37775928
4 0; 32254769 0; 60315410 1; 51261027 0; 24408201
1; 74576110 0; 35741869 2; 83375134 0; 09044922
4; 53662030 0; 03888791 4; 59922764 0; 02010238
9; 39507091 0; 00053929 6; 84452545 0; 00266397
6 0; 22284660 0; 45896467 9; 62131684 0; 00020323
1; 18893210 0; 41700083 13; 00605499 0; 00000837
2; 99273633 0; 11337338 17; 11685519 0; 00000017
5; 77514357 0; 01039920 22; 15109038 0; 00000000
9; 83746742 0; 00026102 28; 48796725 0; 00000000
15; 98287398 0; 00000090 37; 09912104 0; 00000000
8 0; 17027963 0; 36918859 14 0; 09974751 0; 23181558
0; 90370178 0; 41878678 0; 52685765 0; 35378469
2; 25108663 0; 17579499 1; 30062912 0; 25873461
4; 26670017 0; 03334349 2; 43080108 0; 11548289
7; 04590540 0; 00279454 3; 93210282 0; 03319209
10; 75851601 0; 00009077 5; 82553622 0; 00619287
15; 74067864 0; 00000085 8; 14024014 0; 00073989
22; 86313174 0; 00000000 10; 91649951 0; 00005491
10 0; 13779347 0; 30844112 14; 21080501 0; 00000241
0; 72945455 0; 40111993 18; 10489222 0; 00000006
1; 80834290 0; 21806829 22; 72338163 0; 00000000
3; 40143370 0; 06208746 28; 27298172 0; 00000000
5; 55249614 0; 00950152 35; 14944366 0; 00000000
8; 33015275 0; 00075301 44; 36608171 0; 00000000
11; 84378584 0; 00002826
16; 27925783 0; 00000042
21; 99658581 0; 00000000
29; 92069701 0; 00000000
En aquest cas concret, l'error es

(n!)2 f (2n) (c) ; c 2 [0; +1[ :


E = (2n)!

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 159

3. Formules de Gauss-Hermite
Son les que tenen w(x) = e,x2 i [a; b] =] , 1; +1[. Els polinomis ortogonals
son els polinomis d'Hermite
Hn(x) = (,1)n ex2 dx dn e,x2  :
n

Els valors dels zeros xk de Hn i dels pesos Ak son:


n xk Ak n xk Ak
2 0; 70710678 0; 88622693 12 0; 31424038 0; 57013524
4 0; 52464762 0; 80491409 0; 94778839 0; 26049231
1; 65068012 0; 08131284 1; 59768264 0; 05160799
6 0; 43607741 0; 72462960 2; 27950708 0; 00390539
1; 33584907 0; 15706732 3; 02063703 0; 00008574
2; 35060497 0; 00453001 3; 88972490 0; 00000027
8 0; 38118699 0; 66114701 14 0; 29174551 0; 53640591
1; 15719371 0; 20780233 0; 87871379 0; 27310561
1; 98165676 0; 01707798 1; 47668273 0; 06850553
2; 93063742 0; 00019960 2; 09518326 0; 00785005
10 0; 34290133 0; 61086263 2; 74847072 0; 00035509
1; 03661083 0; 24013861 3; 46265693 0; 00000472
1; 75668365 0; 03387439 4; 30444857 0; 00000001
2; 53273167 0; 00134365
3; 43615912 0; 00000764
Aqu, l'error de truncament es
n !
p
E = 2n (2n)! f (2n)(c) ; c 2] , 1; +1[ :

4. Formules de Gauss-Txebixev
Corresponen a w(x) = p 1 2 amb [a; b] = [,1; 1]. Els polinomis
1,x
ortogonals son Tn (x) = cos(n arccos x). Els zeros d'aquest polinomi son
xk = cos (2k 2,n1) i tots els coe cients son Ak = n . L'error es
E = 22n2(2n)! f (2n)(c) ; c 2 [,1; 1] :

© Els autors, 1998; © Edicions UPC, 1998.


160 Calcul numeric

Vegem ara uns exemples d'aquest tipus d'integracio.


sin x dx amb un error < 10,6 .
R1
Exemple. Calculeu 0

Intentarem aplicar Gauss-Legendre. Per aixo hem de convertir l'interval


d'integracio en l'interval [,1; 1], per tant, fem el canvi t = 2x , 1

x = t +2 1 ; dx = 12 dt

sin t +2 1 dt2 =
1 sin t + 1 dt :
Z 1 Z 1 Z 1

sin x dx =
0 ,1 ,1 2 2
Ara ja hem reduit la integral al tipus de Gauss-Legendre. Busquem quants punts hem
d'agafar:
- si n = 2, com que j f (2n) (x) j 2,2n,1 , tenim que E  5  16 ,4
(4!)3 = 2:36  10 .
(24)4 = 5:6  10,10 .
- si n = 4, E = 9(8!) 3

Per tant, agafem n = 4. Ara fem


Z 1
1 sin  t + 1  dt  1 X A sin  xk + 1  :
,1 2 2 2 k k 1
Treient els valors Ak i xk de les taules tenim
1 Z 1 sin  t + 1  dt  0:459697695 : : : :
2 ,1 2
El valor exacte es Z 1

sin(x) dx = 0:45969769413 : : : :
0

Exemple. Calculeu 01 sin xe,x dx, amb dues xifres correctes.


R

Aplicarem Gauss-Laguerre. Aqu f (x) = sin x i, per tant, j f (2n) (x) j 1. La


(n!)2 .
formula de l'error queda E  (2 n)!
4 = 1.
n = 2 =) E  24 6

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 161

n = 4 =) E  (24)
2
,2
8! = 1:4  10 .
n = 6 =) E  (720)
2
,3
12! = 1:08  10 .
Llavors, agafem n = 6.
Per tant, fem 01 sin xe,x dx = Ak sin xk . Agafant els Ak i xk de les taules surt
R P

0:500049 : : : . Compareu aixo amb el valor exacte, que es 0.5.


1 ex,x2 dx amb 5 xifres correctes.
Exemple. Calculeu ,1
R

Com que ,1 1 ex,x2 dx = 1 ex e,x2 dx, ho farem per Gauss-Hermite. En aquest


R R
,1
cas, com que f (2n) (x) = ex , que no es tada a R, la formula d'estimacio de l'error no
ens serveix de res. Per tant, farem la integral per a diversos valors de n

n Integral
2 2.2343408649
4 2.2758016999
6 2.2758757541
8 2.2758757036
10 2.2758757983

D'aquesta successio de valors, podem donar una aproximacio heurstica de la


integral
Z 1 x ,x2
e e dx  2:27587 : : :
,1

Encara que aquest tipus de criteri no dona cap seguretat en el resultat, s'acostuma
ap usar en la practica, quan no hi ha res millor (el valor exacte d'aquesta integral es
e1=4 ).

Exemple. Calculeu ,1 1 pcos x 2 dx amb un error mes petit que 10,6 .


R

1,x
Aqu aplicarem Gauss-Txebixev. Com que f (x) = cos x, tenim que j f (2k) (x) j 1,

© Els autors, 1998; © Edicions UPC, 1998.


162 Calcul numeric

per tant, E  22n2(2n)! . Avaluant aixo per a diversos valors de n tenim

n = 2 =) E  2424! = 0:016 : : :

n = 3 =) E  262 6! = 1:3 : : :  10,4

n = 4 =) E  282 8! = 6:08 : : :  10,7 .

Per tant, farem el calcul amb n = 4. Agafant xk = cos (2k 2,n 1) , Ak = n ,
 

tenim

pcos x dx 
Z 1
X
Ak cos(xk ) = 2:4039388386 : : : :
,1 1,x 2
k

Compareu-ho amb el valor exacte 2:40393943 : : : .

6.6 Derivacio numerica

Aqu veurem uns algorismes que ens permetran avaluar f (k)(x) quan nomes
coneixem o be una taula de valors de f , o be un algorisme per calcular f (x).
Vegem primer un exemple del que pot passar si s'intenta calcular directament les
derivades a partir de la seva de nicio.

Recordem que f 0 (a) = hlim f (a + h) , f (a) . Si s'intenta calcular el valor


!0 h
f (a + h) , f (a) directament, per a una h petita, i donar-lo com a aproximacio de
h
f 0 (a), passa el seguent: com que f (a + h) i f (a) son dos nombres propers, en restar-los
hi ha una important cancellacio de xifres i en dividir per h (que es petit) aquest error
s'ampli ca molt.
Vegem-ne un exemple: suposem que volem calcular numericament la derivada de
f (x) = ln x en el punt x = 7 (analticament sabem que aquesta derivada val 71 ).

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 163

Apliquem la formula f (a + hh) , f (a) per a diversos valors de h. Treballant amb 7


xifres decimals, obtenim la taula seguent:

h Derivada aproximada
0.2 0.14085464
0.1 0.14184688
0.05 0.14235042
0.01 0.14276049
0.005 0.14281672
0.001 0.14289983
0.0005 0.14295782
0.0001 0.14338499
0.00005 0.14391437
0.00001 0.14814572
0.000005 0.15343446
0.000001 0.19574393

El valor exacte es 17 = 0:142857142 : : : . Observeu que la millor aproximacio es


l'obtinguda per h = 0:005 i que aixo no es pot deduir veient tan sols la taula.
Tot seguit veurem millors maneres de fer-ho. En primer lloc de nim l'operador
diferencia centrada com
k k  
k
!
 
k i
 f (a) = (,1) i f a + 2 , i h :
X

i=0

Per a k = 1, tenim
f (a) = f a + h2 , f a , h2 ;
   

i, per a k = 2,
2 f (a) = f (a + h) , 2f (a) + f (a , h) :
TEOREMA. Si f 2 C 1, tenim que
f (k)(a) = h,k k f (a) + c1 h2 f (k+2)(a) + c2 h4 f (k+4)(a) +   
on els coe cients cj depenen unicament de k.

DEMOSTRACIO.  Nomes la farem per a k = 1 i per a k = 2. Per la formula de


Taylor, sabem que

© Els autors, 1998; © Edicions UPC, 1998.


164 Calcul numeric

f (a + t) , f (a) = tf 0(a) + t2! f 00(a) + t3! f (3) (a) + t4! f (4) (a) +   
2 3 4
(6.6.1)

f (a , t) , f (a) = ,tf 0(a) + t2! f 00(a) , t3! f (3) (a) + t4! f (4) (a) +   
2 3 4
(6.6.2)

per a k = 1, restem l'equacio (6.6.2) de la (6.6.1):

f (a + t) , f (a , t) = 2tf 0(a) + 2 t3! f (3) (a) + 2 t5! f (5) (a) +   


3 5

Dividim per 2t i diem que h = 2t


1 0 1 2 (3) 1 4 (5)
h f (a) = f (a) + 24 h f (a) + 1920 h f (a) +   
d'on facilment surt la formula demanada. Per a k = 2, sumem les equacions (6.6.1) i
(6.6.2)
!

f (a + t) , 2f (a) + f (a , t) = 2 t2! f 00(a) + t4! f (4) (a) + t6! f (6) (a) +   


2 2 6

dividint per t2 i dient que t = h


1 2 00 1 2 (4) 1 4 (6)
h2  f (a) = f (a) + 12 h f (a) + 360 h f (a) +   
com volem demostrar.
La utilitat d'aquest metode es que permet extrapolar, de la mateixa manera que
ho feiem amb la formula d'Euler-Maclaurin.
Exemple. Calculeu f 0 (7) i f 00(7), amb f (x) = ln x.
Fem primer f 0(7)
h = 0:4 =) h1 f (7) = 01:4 (f (7:2) , f (6:8)) = 0:142896035

h = 0:2 =) h1 f (7) = 01:2 (f (7:1) , f (6:9)) = 0:14286686


Extrapolant amb aquests dos valors
4(0:14286686) , 0:142896035 = 0:142857135 :
3

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 165

Donem com a aproximacio f 0(7) = 0:142857135. Si comparem amb el valor exacte


f 0 (7) = 71 = 0:142857142, es veu que el resultat es molt bo.
Calculem ara f 00 (7)
h = 0:4 =) h12 2 f (7) = (0:14)2 (f (7:4) , 2f (7) + f (6:6)) = ,0:020441555,

h = 0:2 =) h12 2 f (7) = (0:12)2 (f (7:2) , 2f (7) + f (6:8)) = ,0:0204165.


Extrapolant,
4(,0:0204165) , (,0:020441555) = ,0:020408148
3
i l'aproximacio que donem es f 00 (7) = ,0:020408148. El valor exacte es f 00 (7) =
, 491 = ,0:020408163.
Tambe aqu es veu l'augment de precisio que proporciona l'extrapolacio.
L'inconvenient que te aquest metode es que no proporciona tes precises de l'error
comes. E s possible trobar formules que tin l'error en funcio de f (k) (c), pero a efectes
practics no les podem utilitzar perque no coneixerem aquesta derivada ni cap ta seva.
Introduirem ara un altre metode per calcular derivades numericament, basat en
taules de diferencies.
f a + h2 + f a , h2
   

De nim f (a) = 2 , que en direm operador mitja.

TEOREMA. Si f 2 C 1, tenim
hf 0(a) = f (a) , 61 3 f (a) + 30
1 5 f (a) , 1 7 f (a) +   
140
1 4 f (a) + 1 6 f (a) , 1 8 f (a) +   
h2 f 00(a) = 2 f (a) , 12 90 560

 E s excessivament complicada i no aporta res, per tant, no la farem.


DEMOSTRACIO.
La manera d'aplicar aquestes formules es amb una taula de diferencies. Aquestes
es construeixen aix:

© Els autors, 1998; © Edicions UPC, 1998.


166 Calcul numeric

x f  2 3 4
x,2 f,2
f,1 , f,2 = ,1:5
x,1 f,1 ,0:5 , ,1:5 = ,2 1
f0 , f,1 = ,0:5 02 , ,2 1 = ,3 0:5
x0 f0 0:5 , ,0:5 =  2
0 03:5 , ,3 0:5 = 04
f1 , f0 = 0:5  , = :
2
1
2
0
3
05
x1 f1 1:5 , 0:5 = 12
f2 , f1 = 1:5
x2 f2

Vegem-ne un exemple numeric. Agafem f (x) = ln x, h = 0:2

x f  2 3 4
6.6 1.887069649
0.029852963
6.8 1.916922612 ,8:65426  10, 5

0.028987537 4:8766  10,5


7.0 1.945910149 ,8:1666  10,5 ,4:009  10, 5

0.028170877 4:4757  10,5


7.2 1.974081026 ,7:71903  10,5
0.027398974
7.4 2.001480000

Calculem f 0 (7). Pel teorema anterior,


f (7) = 0:028987537 +2 0:028170877 = 0:028579207
,5 ,5
3 f (7) = 4:8766  10 +2 4:4757  10 = 4:67615  10,5 :

Observem ara que hf 0(7) sembla estar de nit per una serie rapidament decreixent
en valor absolut. A partir d'aqu, es poden donar estimacions heurstiques de l'error.
Per exemple, en aquest cas, podem donar l'aproximacio
1 4 : 67615  10 ,5 !
0
f (7) = 0:2 0:028579207 , = 0:142857067 ;
6

© Els autors, 1998; © Edicions UPC, 1998.


Integracio numerica 167

i una ta aproximada de l'error seria l'ultim terme de la serie que hem considerat:

E  6 10:2  4:67615e , 5 = 3:89679e , 5 :

Notem que l'error real es E = 7:57e , 8, que es mes petit de l'error predit.
Es deixa com a exercici per al lector fer el mateix per a f 00 (7).
Nota. En construir aquestes taules de diferencies, s'ha d'anar amb molt de compte
amb com es propaguen els errors d'arrodoniment, perque contnuament s'estan restant
nombres propers. Per exemple, si repetssim l'ultima taula que hem fet treballant amb
6 xifres signi catives, el valor 4 f (7) quedaria determinat pels errors d'arrodoniment
i no tindria cap xifra bona. Per tant, si volguessim incloure mes termes de l'ultima
serie en el calcul de f 0 (7) (o f 00 (7)) per tenir mes precisio, haurem de refer tambe els
calculs treballant amb mes xifres signi catives.

© Els autors, 1998; © Edicions UPC, 1998.

You might also like