Anda di halaman 1dari 99

1. ERRORS.

REPRESENTACIÓ DELS NÚMEROS

1.1. Problemes i fonts d'error

La solu ió de gairebé tots els problemes prà ti s passa per la utilitza ió de models
matemàti s adients. Però, moltes vegades, no es pot o no és onvenient resoldre
exa tament els problemes matemàti s que es plantegen aleshores. Cal aproximar-
los per problemes numèri s.
Un problema numèri és una des rip ió lara i sense ap ambigüitat de
la onnexió fun ional existent entre dos onjunts nits de números: les dades
(entrada) i els resultats (sortida).
Donat un problema numèri , un algorisme és una su essió ompleta d'ope-
ra ions ben denides a través de les quals ada ve tor admissible de dades es
transforma en un ve tor de resultats. Aquí, per opera ions entenem les opera-
ions aritmètiques i lògiques que un ordinador pot fer, juntament amb referèn ies
a algorismes denits prèviament.

Exemple: Trobar l'arrel real més gran, α, de l'equa ió úbi a

x3 + a1 x2 + a2 x + a3 = 0

amb oe ients reals, és un problema numèri . El ve tor de dades és (a1 , a2 , a3 ) i


el resultat és α. La rela ió fun ional entre ells ve donada en forma implí ita.
Un algorisme per aquest problema pot basar-se en el mètode de Newton-
Raphson, suplementat amb regles per es ollir la llavor i per a abar la itera ió.
Un altre es pot basar en la fórmula de Cardano que dóna la solu ió exa ta de
l'equa ió úbi a. Com que aquesta fórmula usa arrels quadrades i úbiques, ne-
essitarem tenir denits prèviament algorismes per al àl ul d'aquestes fun ions.

Un mètode numèri és un pro ediment que serveix o bé per aproximar


un problema matemàti mitjançant un problema numèri , o bé per resoldre o,
almenys, simpli ar un problema numèri . Entenem que un mètode numèri és
apli able amb més generalitat que un algorisme i, per tant, no posem tant d'èmfasi
en els detalls de àl ul.

Exemple: El mètode de Newton-Raphson és un mètode numèri que ser-


veix per trobar la solu ió de gairebé qualsevol equa ió. Però, per tal de fabri ar
un algorisme que resolgui una equa ió donada, haurem d'afegir ondi ions (que
dependran de l'equa ió i del seu ontexte) per engegar i aturar la itera ió.
En tot el pro és que ens porta des del plantejament del problema original ns
la solu ió numèri a que som apaços de al ular, fem un munt d'aproxima ions.
Tota aproxima ió omporta un error. Així don s, l'error és onsubstan ial amb
el Càl ul Numèri . Cal tenir això sempre present.
Les diverses lasses d'errors són més o menys ontrolables. És a dir, n'hi ha
que es poden reduir i ns i tot eliminar, però amb d'altres no s'hi pot fer res.
Convé, almenys, tenir una idea de la seva magnitud i, sempre, adonar-se de la
seva presèn ia. Les fonts d'error més importants són les següents:

• Errors en les dades d'entrada, deguts a mesures o àl uls in orre tes o


impre isos. Aquests tipus d'errors poden ser sistemàti s o a identals.

• Errors d'arrodoniment, deguts a la representa ió dels números amb una


quantitat nita de xifres. Aquests errors es presenten tant en les dades om
en els resultats de àl uls intermedis. I es van a umulant al llarg dels àl uls.

• Errors propis del mètode, produïts en trun ar un pro és innit (de pas al
límit). Per exemple, quan substituïm una integral o una sèrie per una suma
error de trun ament ),
nita ( o quan fem una aproxima ió lineal o dis reta
error de dis retitza ió ).
(

• Altres tipus d'errors, es deuen a la simpli a ió del model o a errors humans


i de la màquina (normalment molt menys d'aquests que dels anteriors).

En aquest apítol ens o uparem dels errors d'arrodoniment. Després, amb


ada mètode, del seu error de trun ament o de dis retitza ió. No onsiderarem
en aquest urs errors dels tipus primer i últim.

Exemple: Lord Kelvin deia que un matemàti és aquell per qui la igualtat
∞ √
π
Z
−x2
e dx =
0 2
és tan òbvia om per vostè que dos i dos p
són quatre. Nosaltres ens onformarem
amb al ular el resultat en la forma r= π/4, amb aritmèti a de 5 xifres. Per
al ular l'arrel usarem l'aproxima ió

√ x
1+x≈1+ (1.1)
2

2

que s'obté trun ant el desenvolupament de Ma -Laurin de la fun ió 1 + x (el
que fem geomètri ament és aproximar la fun ió per la seva tangent al punt (0, 1)).
Aquesta aproxima ió no és espe ialment bona, però és molt fà il de al ular. De
fet, l'error de trun ament en (1.1) ve donat per

√  x 1 x2
R(x) = 1+x− 1+ =
2 8 (1 + t)3/2
on t
és un número que no oneixem, però que sabem que està entre 0 i x. Tenint
3
en ompte que, en el nostre as,
4
< 1 + x, és fà il veure que |R(x)| pot ser tan
−1
gran om 0,12 × 10 .
Així, podem des riure el nostre senzillíssim algorisme de la següent manera:

1. r := π
2. r := r/4
3. r := 1 + 0.5*(r-1)
Observem que l'úni error d'arrodoniment que es produeix en tot el pro és es
dóna en el primer pas, en representar π per 3,1416. Aquest error és més petit que
0,5 × 10−4 i no s'ampli a amb els àl uls posteriors, ans al ontrari, disminueix.
És a dir, la part més important de l'error en el resultat, r = 0,89270, és la
orresponent a l'error de trun ament, om es pot omprovar omparant el resultat

amb el veritable valor de π/2, que és 0,886226925452758 . . .

1.2. Errors

1.2.1. Error absolut i error relatiu

Si ã és un número que prenem om a aproxima ió de a, denim:

• L'error absolut de ã és
∆ = ã − a .
Si ∆ > 0, diem que l'aproxima ió és per ex és, i si ∆ < 0, per defe te.
• L'error relatiu de ã, si a 6= 0, és

ã − a ∆
r= = .
a a
Usarem sovint la rela ió ã = a(1 + r). També és freqüent expressar r en
tant per ent; p. e.: r = 0,1 = 10 %.

3
Normalment només oneixem tes d'aquestes magnituds. Llavors, per tal
d'expressar que |∆| = |ã − a| ≤ δ , es rivim

a = ã ± δ , (1.2)

és a dir, això signi a que ã − δ ≤ a ≤ ã + δ (i també que a − δ ≤ ã ≤ a + δ ).


De vegades és onvenient usar les següents rela ions aproximades. Com que
r ≈ ∆/ã, si |∆| ≤ δ , llavors |r| . δ/|ã| (això vol dir que δ/|ã| és una ta
aproximada de |r|). I si |r| ≤ ε, és a dir, |∆| ≤ |a|ε, podem prendre δ ≈ |ã|ε, la
qual osa ens porta a la rela ió a ≈ ã(1 ± ε), substituint a (1.2).

Exemple: Els xinesos de nals del segle V (Zu Chongzhi) ja oneixien l'apro-
xima ió
355
.
π≈
113
L'error absolut és ∆ = 0,00000026676418906 . . . > 0, don s l'aproxima ió és per
−6
ex és. Una ta d'aquest error és 0,3 × 10 . Així podem assegurar que

3,1415926 ≤ π ≤ 3,1415932 .
L'error relatiu és r ≈ 0,85 × 10−7 = 0,85 × 10−5 % i una ta seva, 10−5 %.

1.2.2. Propaga ió de l'error

Si les dades d'un àl ul porten quel om d'error, aquest error també es va trans-
formant a través de les opera ions. De vegades es pot produir una ampli a ió
realment espe ta ular, que al evitar si és possible. Començarem l'anàlisi per les
opera ions aritmètiques.

Addi ió i subtra ió Les tes dels errors absoluts es sumen: om que

a = ã ± δa ã − δa ≤ a ≤ ã + δa
vol dir que
b = b̃ ± δb b̃ − δb ≤ b ≤ b̃ + δb ,
sumant i restant membre a membre aquestes desigualtats, obtenim

ã + b̃ − (δa + δb ) ≤ a + b ≤ ã + b̃ + (δa + δb ) i

ã − b̃ − (δa + δb ) ≤ a − b ≤ ã − b̃ + (δa + δb ),
és a dir, a ± b = (ã ± b̃) ± (δa + δb ) om volíem veure.

Exemple: Si a = 3,28 ± 0,03 i b = 2,14 ± 0,02, llavors a − b = 1,14 ± 0,05.

4
Produ te i divisió En aquest as, són els errors relatius els més fà ils d'estu-

diar. Usem les rela ions ã = a(1+r) i r = −1, que són equivalents a la deni ió.
a
De ã = a(1 + ra ) i b̃ = b(1 + rb ) resulta:

ã a 1 + ra
ãb̃ = ab(1 + ra )(1 + rb ) i = .
b̃ b 1 + rb
Llavors, l'error relatiu de ãb̃ és

(1 + ra )(1 + rb ) − 1 = ra + rb + ra rb ≈ ra + rb ,
si |ra | ≪ 1 i |rb | ≪ 1. En el produ te els errors relatius se sumen.
Quant a l'error relatiu de la divisió, tenim:

1 + ra ra − rb
−1= ≈ ra − rb
1 + rb 1 + rb
si |rb | ≪ 1. En la divisió els errors relatius es resten.

Exemple: Si ra = 2 % i rb = −1 %, llavors l'error relatiu real del produ te


és0,02 − 0,01 − 0,0002 = 0,0098 ≈ 0,01, que és l'aproxima ió que hem donat.
0,02 + 0,01 1
Anàlogament, per a la divisió, l'error relatiu és = ≈ 0,03.
1 − 0,01 33
Ara bé, en ambdós asos, si només oneixem tes dels errors relatius de les
dades, |ra | ≤ εa i |rb | ≤ εb , llavors la millor ta (aproximada) que podem donar del
error relatiu del resultat és la suma εa + εb perquè, per la desigualtat triangular,

|ra ± rb | ≤ |ra | + |rb |.


Si, om en el as de l'addi ió i la subtra ió, volem tenir en ompte que nor-
malment no oneixem els números a i b, ans úni ament unes aproxima ions i unes
tes de l'error absolut, només podrem obtenir tes aproximades de l'error relatiu
del produ te i la divisió (denotat r∗ en ambdós asos). En efe te, si a = ã ± δa i
b = b̃ ± δb , tenim les tes aproximades

δa δb
|ra | . i |rb | .
|ã| |b̃|
que ens donen la ta aproximada

δa δb
|r∗ | ≤ |ra | + |rb | . + .
|ã| |b̃|

5
Altres opera ions Si volem al ular f (x), pero només tenim una aproxima ió
x̃ de x, i realment al ulem f (x̃), podem estimar l'error absolut omès mitjançant
la diferen ial: si ∆x = x̃ − x i f és diferen iable amb ontinuïtat,

∆f (x) = f (x̃) − f (x) ≈ f ′ (x̃) · ∆x .



El número f (x̃) a tua om un fa tor d'ampli a ió de l'error i la seva grandària,

|f (x̃)|, s'anomena de vegades número de ondi ió. Com que normalment tampo
oneixem ∆x sinó alguna ta seva, δ, usarem l'aproxima ió anterior per donar la
ta ió aproximada

|∆f (x)| . |f ′ (x̃)| · δ , és a dir, f (x) ≈ f (x̃) ± |f ′(x̃)| · δ .

Exemple: Sigui f (x) = x2 . Llavors, f (x̃) = (x + ∆x)2 = x2 + 2x∆x + (∆x)2


i l'error absolut és

∆f (x) = 2x∆x + (∆x)2 ≈ 2(x + ∆x)∆x = f ′ (x̃) · ∆x .

Si, per exemple, mesurem el ostat d'un quadrat amb un regle dividit en mil-
límetres, tenim que |∆x| ≤ 0.5 mm i, si la mesura del ostat és x̃ mm, podem dir
que l'àrea del quadrat és x̃2 ± x̃ mm2 .

En el as de diverses variables, si

x̃ = (x̃1 , x̃2 , . . . , x̃n ) ≈ x = (x1 , x2 , . . . , xn ),

i posem ∆xi = x̃i −xi per a i = 1, 2, . . . , n, podem aproximar ∆f (x) = f (x̃)−f (x)
per la diferen ial total:
n
X ∂f
∆f (x) ≈ (x̃) · ∆xi .
i=1
∂xi

Així, podem onsiderar la següent ta aproximada de l'error absolut:

n
X ∂f
|∆f (x)| . ∂xi · |∆xi |.
(x̃)
i=1

Exemples: Apli arem aquesta fórmula per tar l'error absolut en el produ te
i el quo ient.

6
• Fita de l'error absolut en el produ te:

∂f ∂f
Aquí f (a, b) = ab, = b, =a i tenim
∂a ∂b
|ãb̃ − ab| ≈ |b̃ · ∆a + ã · ∆b| ≤ |ã|δb + |b̃|δa .

• Fita de l'error absolut en el quo ient:

a ∂f 1 ∂f a
Ara f (a, b) = , = , = − 2 i tenim
b ∂a b ∂b b

ã a 1
− ≈ · ∆a − · ∆b ≤ 1 δa + |ã| δb .

b̃ b b̃ b̃2 |b̃| b̃2

Comproveu que aquestes tes són onsistents amb les tes aproximades de l'error
relatiu obtingudes abans.

1.3. Representa ió dels números

La matèria primera del àl ul numèri són, evidentment, els números. Però una
osa es un número i una altra la seva representa ió. La història de les ivilitza ions
ha vist diverses maneres de representar els números, si bé fa ja molt de temps que
l'expressió de imal s'ha imposat om parti ularment adequada per a la majoria
dels àl uls fets per humans. Re ordem que els seus més grans avantatges es
deriven del fet que és un sistema posi ional (de base 10):
1789 = 1 × 103 + 7 × 102 + 8 × 10 + 9 × 100
π/2 = 1,57079632 . . .
= 1 × 100 + 5 × 10−1 + 7 × 10−2 + 0 × 10−3 + 7 × 10−4
+ 9 × 10−5 + 6 × 10−6 + 3 × 10−7 + 2 × 10−8 + · · ·
Ara bé, el gran èxit de les màquines es basa en que representen els números
i, és lar, fan els àl uls, en el sistema binari (de base 2) o en algun dels seus
derivats: o tal (de base 8) i hexade imal (de base 16). Tots aquests també són
sistemes posi ionals.
Com que les prin ipals ara terístiques que ens interesen de la representa ió
numèri a no depenen de la base, estudiarem els sistemes de numera ió en una
base qualsevol. Cal tenir present, però, que les dues bases més usades són 10 i 2
i, per això, gairebé tots els exemples seràn d'aquestes bases.

7
1.3.1. Sistemes de numera ió posi ionals

Qualsevol número natural B≥2 serveix om a base d'un sistema de numera ió


posi ional. Com sabem, per tal de representar els números en un d'aquests siste-
mes, ne essitem un onjunt C de B símbols, anomenats xifres, que representen
els números 0, 1, . . . , B − 1. Llavors, si ai , dj ∈ C , l'expressió

N = an an−1 . . . a2 a1 a0 , d1 d2 d3 . . .(B

és una abreviatura de

N = an B n + an−1 B n−1 + · · · + a2 B 2 + a1 B + a0 + d1 B −1 + d2 B −2 + d3 B −3 + · · ·
Xn ∞
X
i
= ai B + dj B −j .
i=0 j=1

Si B ≤ 10, s'utilitzen les mateixes xifres del sistema de imal (de 0 a B − 1)


i, si B > 10, aquestes xifres es ompleten amb lletres. Per exemple, en binari,
C = {0, 1}, i en hexade imal, C = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}. Si no
s'indi a la base, s'entén que B = 10.
La oma fra ionària (de imal si B = 10 o binària si B = 2) separa la part
entera de N , [N] = an an−1 . . . a1 a0(B , de la part fra ionària, (N) = N −[N] =
0,d1 d2 . . .(B . Quan N és un enter, no al posar la part fra ionària ni la oma.

Exemple: L'avantatge d'utilitzar una base més petita és que ne essitem


menys xifres i que, onseqüentment, les taules de sumar i multipli ar són més
fà ils, però l'in onvenient és que la representa ió d'un número és més llarga:

9876543210 = 1001001100101100000001011011101010(2 = 24CB016EA(16

Si existeix un k ≥ 0 tal que dj = 0 per a j > k, diem que la representa ió


és nita. Llavors no al posar les xifres des de dk+1 en endavant, ni els punts
suspensius. De vegades s'utilitza la nota ió

(an an−1 . . . a2 a1 a0 , d1d2 . . . dk )B .

Si la representa ió no és nita, pot passar que un grup de xifres de la part


fra ionària es repeteixi a partir d'un ert llo . És a dir, que existeixin k≥0 i
p≥1 tals que

dk+j = dk+ip+j per a tot i≥1 i 1 ≤ j ≤ p.

8
Llavors diem que la representa ió és periòdi a, que dk+1 . . . dk+p és el període,
que p és la seva longitud i marquem d'alguna manera espe ial el període, per
exemple:

!
an an−1 . . . a1 a0 , . . . (dk+1 . . . dk+p )(B o bé an an−1 . . . a1 a0 , . . . dk+1 . . . dk+p(B .
Tota representa ió nita es pot onvertir en una de innita (periòdi a). En
efe te, si β és la xifra que representa el número B − 1 en la base B , llavors
 B−1 1
)

0,β (B = (B − 1)B −1 1 + B −1 + B −2 + · · · = = 1.
B 1 − B −1
Exemple:

1/8 = 0,125 = 0,124999999999 . . .


= 0,001(2 = 0,000111111111 . . .(2
= 0,2(16 = 0,1FFFFFFFFF . . .(16

1.3.2. Canvis de base

Començarem veient el as dels enters. Si ens adonem que la representa ió

N = an an−1 . . . a2 a1 a0(B
no és més que una abreviatura per expressar el valor del polinomi

P (x) = an xn + an−1 xn−1 + · · · + a2 x2 + a1 x + a0


al punt x = B, i es rivim això en forma de multipli a ions en aixades,

P (B) = (((· · · ((an )B + an−1 )B + · · · )B + a2 )B + a1 )B + a0 , (1.3)

és fà il donar un algorisme, basat en el mètode de Horner, per passar d'una base


B a una altra B ′ .
Fent tots els àl uls en la base B ′ :
1. bn := an
2. per a k = n − 1, n − 2, . . . , 2, 1, 0: bk := bk+1 B + ak
3. N := b0
Si bé aquest és un algorisme general, que ns i tot podria ser programat per que
una màquina ho exe utés, om que nosaltres habitualment al ulem en de imal,
només l'usarem per passar de una base B a base 10 o, om també s'en diu, per
al ular N oneixent la seva representa ió en la base B.

9
Exemple: Cal ulem 101101(2. Per omoditat, disposem els àl uls així:

1 0 1 1 0 1
2 2 4 10 22 44
1 2 5 11 22 45
Per tant 101101(2 = 45.

És lar que aquest pro ediment ens serveix també si el número té una re-
presenta ió nita en la base B. Només tenim que órrer la oma ns la dreta,
multipli ant per una potèn ia adequada de B, fer el anvi del enter resultant a la
nova base, i després dividir (en la base nova) per la mateixa potèn ia de B.
13
Exemple: 0,1101(2 = 1101(2 × 0,0001(2 = 13 · 2−4 = = 0,8125.
16
La oneguda regla per transformar un número amb representa ió de imal pe-
riòdi a en un quo ient d'enters (la seva fra ió generatriu), serveix en qualsevol
base B, anviant la xifra 9 per la xifra β que representa el número B−1 en
aquesta base:
!

d1 . . . dk+p(B − d1 . . . dk(B
0, . . . dk+1 . . . dk+p(B =
β . p. .β0. k. .0(B

(si k = 0, llavors d1 . . . dk(B no és res i, per tant, no s'ha de restar al numerador).


Una vegada fet això, passem numerador i denominador (que són enters) a la base
nova (10) i dividim.
!

11(2 3


Exemple: 1011,011(2 = 1011(2 + = 11 + = 11,428571.


111(2 7

11(2 − 0(2


3
101,000011(2 = 101(2 + =5+ = 5,05.
111100(2 60

Ara ne essitem un pro ediment per passar de base 10 a una base qualsevol, B .
Començarem una altra vegada pel as dels enters. Si tornem a mirar la fórmula
(1.3), veiem que a0 és el residu de la divisió del número N per la base. El quo ient
d'aquesta divisió té la mateixa estru tura: si el dividim per la base, ens dóna om
a residu la xifra a1 . I així su essivament.

10
N B
a0 b1 B
a1 b2
..
.
bn−2 B
an−2 bn−1 B
an−1 an
Observem que aquest pro ediment no és més que l'apli a ió dire ta (en qual-
sevol base) de la idea que serveix de fonament al sistema de imal: per expressar
en aquest sistema la quantitat d'obje tes que hi ha en una erta ol.le ió, els
agrupem en desenes i apuntem els que sobren om la xifra de les unitats. Després
agrupem les desenes de deu en deu (en entenes) i les que sobren ens donen la xifra
de les desenes. Fem grups de deu entenes (milers) i, omptant les que sobren,
tenim la xifra de les entenes. Seguim així ns a onseguir uns grups tan grans
que la seva quantitat no arribi a deu. Llavors apuntem aquesta quantitat om
primera xifra per l'esquerra del número i hem a abat.

Exemple: Si B = 2, om que la divisió per 2 es pot fer mentalment amb fa i-


litat, podem disposar els àl uls de forma que o upin menys. Posem els su essius
quo ients/dividends a sota un de l'altre i, al seu ostat (separats per una ratlla
verti al) el residu de la seva divisió per 2: un 0 si és parell o un 1 si és imparell.
Cal ulem quant val 43 en base 2:
43 1
21 1
10 0
5 1
2 0
1 1
Així don s, 43 = 101011(2.
Considerem ara el as dels números no enters, és a dir, amb part fra ionària
.
no nul la. Evidentment, només ens hem d'o upar d'aquesta, perquè amb la part
entera ja sabem què al fer. Després posarem adas una al seu ostat de la oma
i ja està.
Sigui don s x ∈ (0, 1) un número del qual volem onèixer la seva representa ió
en la base B,
x = 0,d1 d2 d3 . . .(B .

11
La idea és, om abans, obtenir les xifres d'una en una, passant-les a l'altre ostat
de la oma. Si, per fer això, abans dividíem, ara multipliquem per la base, la qual
osa és equivalent a órrer la oma un llo ap a la dreta. O sigui, multipli ant
per B, tenim
Bx = [Bx] + (Bx) = d1 ,d2 d3 . . .(B .
Per tant, d1 = [Bx] i (Bx) = 0,d2 d3 . . .(B . Repetint el pro és amb aquesta darrera
rela ió, obtenim d2 i el número 0,d3 . . .(B ∈ (0, 1), et ètera.
Aquest pro ediment termina si la representa ió de x és nita, quan una de
.
les parts fra ionàries que trobem és nul la, o bé si és periòdi a, quan ens trobem
amb una part fra ionària que ja ha sortit abans.

Exemple: Volem expressar el número x = 1/5 en binari, és a dir,

1
x= = 0,d1 d2 d3 . . .(2 .
5
Multipli ant aquesta rela ió per 2,
2
= d1 ,d2 d3 . . .(2 ,
5
   
2 2 2 2
i ara sabem que d1 = =0i = − 0 = = 0,d2 d3 . . .(2 ; podem repetir
5 5 5 5
la jugada:
4
= d2 ,d3 d4 . . .(2 ,
5
   
4 4 4 4
on veiem que d2 = =0i = − 0 = = 0,d3 d4 . . .(2 ; perseverem:
5 5 5 5
8
= d3 ,d4 d5 . . .(2 .
5
   
8 8 8 3
Aquí d3 = =1i = − 1 = = 0,d4 d5 . . .(2 . Multipli ant per 2 resulta
5 5 5 5
6
= d4 ,d5 d6 . . .(2 ,
5
   
6 6 6 1
on veiem que d4 = =1i = − 1 = = 0,d5 d6 . . .(2 .
5 5 5 5

12
Ara podem veure que estem om al omençament; per tant la representa ió
binària serà periòdi a


x = 0,001100110011 . . .(2 = 0,0011(2 .

En anvi, per x = 2,625 tenim que [x] = 2 = 10(2 i (x) = 0,625 = 0,d1 d2 d3 . . .(2 .
Multipli ant aquesta rela ió per 2,

1,25 = d1 ,d2 d3 . . .(2 ,

d'on traiem que d1 = 1 i 0,25 = 0,d2 d3 . . .(2 . Multipli ant per 2 obtenim que d2 = 0
i0,5 = 0,d3 d4 . . .(2 . Aquí ja veiem que la pròxima multipli a ió serà l'última i que
ens donarà d3 = [1] = 1 i (1) = 0 = 0,d4 . . .(2 . O sigui, que x té representa ió
binària nita,
x = 10,101(2 .

1.3.3. Coma xa i oma otant

Quan representem un número en la forma

an an−1 . . . a2 a1 a0 , d1 d2 d3 . . .(B ,

podem dir que hem utilitzat una representa ió en oma xa: la oma o upa
pre isament la posi ió que li to a per separar les parts entera i fra ionària.
Ara bé, moltes vegades aquesta representa ió és in òmoda. Sobre tot quan
el número és molt gran o molt petit. Llavors podem desplaçar la oma ns un
llo més onvenient multipli ant per una potèn ia adequada de la base. Una
representa ió en oma otant d'un número és una expressió del tipus

(−1)s · m · B q ,

on s ∈ {0, 1} representa el signe, m ≥ 0 s'anomena mantissa (es rita en oma


xa) i q ∈ Z és l'exponent.

Exemple: Els números 3,1416 o 11,0010010001(2 i les quantitats 49,95 e


o 0,000125 g, utilitzen la representa ió en oma xa. En anvi, les onstants
c = 2,99792458 · 108 m/s, N = 6,0221367 · 1023 , ~ = 6,6262 · 10−27 erg·s o me =
9,108 · 10−28 g estan es rites en oma otant (nota ió ientí a ).

13
N'hi ha innites representa ions d'un número en oma otant. Anomenarem
normalitzada a la que ompleix que

0,1(B = B −1 ≤ m < 1 .

Així, en aquest as, la part entera de la mantissa és 0 però la primera xifra


després de la oma ha de ser diferent de 0 i, per tant, totes les xifres fra ionàries
de la mantissa són signi atives. Dit d'una altra manera, orrem la oma ns
posar-la just davant de la primera xifra signi ativa. Evidentment, el 0 no es pot
representar així.

Exemple: π ≈ 0,31416 · 101 ≈ 0,110010010001(2 · 22 .

1.3.4. Xifres exa tes i arrodoniments

En representar un número en una base, són xifres signi atives (o dígits signi-
 atius ) totes llevat dels zeros que no serveixen més que per situar la oma. És
a dir, són les que van darrera la oma a la mantissa de la representa ió en oma
otant normalitzada.

Exemple: 299.790.000 m/s té in xifres signi atives i 0,001250 g en té


quatre.

Sigui ã una aproxima ió del número a. Diem que la representa ió de ã en la


base B té t xifres fra ionàries (de imals) exa tes (o orre tes ) si
1
|ã − a| ≤ B −t .
2
Això no vol dir que les xifres de ã oin ideixin amb les de a ns la posi ió t
després de la oma, tot i que normalment oin ideixen ns el llo t − 1.

Exemple: 3,1416, 0,99997 i 15,64998 són aproxima ions amb quatre de imals
exa tes de π , 1 i 15,65, respe tivament. Compteu quantes xifres oin ideixen.

Suposem ara que alguna de les t xifres exa tes de ã és signi ativa. Llavors
|ã| B t ≥ 1 (re ordeu que multipli ar per B t vol dir órrer la oma t llo s) i podem
denir el número s de xifres signi atives exa tes de ã om la quantitat de
xifres que té la part entera de |ã| B t .

14
De la rela ió a = ã ± 12 B −t obtenim aB t = ãB t ± 12 i, om que |ã| B t ≥ 1,
t
també |a| B = |ã| B
t
± 21 . Així normalment resulta que |a| B t ≥ B s−1 i podem
armar que
1 −t
|ã − a| B 1 1
|r| = ≤ 2 = t
≤ B 1−s .
|a| |a| 2 |a| B 2
t
(Observeu que si la desigualtat |a| B ≥ B s−1 no és erta, llavors tenim que
t t s−1
|ã| B ≥ [|ã| B ] ≥ B t
> |a| B ≥ |ã| B t − 12 , és a dir, |a| B t ≈ B s−1 éssent
l'aproxima ió millor om més gran sigui s.)
Així don s, t dóna una ta de l'error absolut de ã i s dóna una estima ió de
l'error relatiu.

Exemple: Com que 3,1416 és una aproxima ió de π amb in xifres signi a-


tives exa tes, podem assegurar que la grandària de l'error relatiu serà més petita
1 −4
que 10 = 0,005%.
2

Molt sovint, la representa ió d'un nombre real en una base donada requereix
més llo s dels que podem manejar. Llavors hem d' arrodonir el número. És a
dir, onformar-nos amb aproxima ions que tinguin representa ió nita i prede-
terminada. Considerarem dues maneres d'arrodonir a t xifres fra ionàries un
número x:
Tall, es apçament o trun ament: Es pres indeix de les xifres que o upen llo s
a la dreta de la posi ió fra ionària t, en la representa ió de x.
Arrodoniment ( orre te): Es tria el número més proper a x, entre els que es
representen amb t xifres fra ionàries exa tament.

Suposem que la representa ió de x en la base B és ±an . . . a1 a0 , d1 d2 d3 . . .(B .


Llavors és lar que quan trunquem ens quedem simplement amb

x̃ = ±(an . . . a0 , d1d2 . . . dt )B .

També és fà il donar una fórmula independent de les xifres de la representa ió:

x̃ = Tt (x) := sgn(x) |x|B t B −t


 

(on sgn(x) = 1 si x ≥ 0 i sgn(x) = −1 si x < 0). Aquesta fórmula pot ser molt
útil, per exemple, si hem de programar aquest tipus d'arrodoniment.
Els prin ipals in onvenients del trun ament són que l'error absolut és sempre
del signe ontrari al del número (això provo a que en àl uls amb números del

15
mateix signe els errors s'a umulin en un sol sentit) i que pot arribar a ser de la
−t
mida de B . En anvi, és l'arrodoniment més fà il d'efe tuar tè ni ament, i és
per això que en ara moltes màquines l'utilitzen.

Exemple: Si trunquem π
a quatre xifres de imals obtenim l'aproxima ió per
−4
defe te 3,1415, amb un error més gran que 0,9 · 10 en grandària.

És lar que, de tots els números que es representen exa tament amb t xifres
fra ionàries i estan entre 0 i x, el que més a prop queda de x és Tt (x). Allunyant-
nos del 0,el següent número que trobem representat exa tament amb t xifres
−t
fra ionàries és el Tt (x) + sgn(x)B . Per tant, x està entre

x′ = Tt (x) i x′′ = Tt (x) + sgn(x)B −t ,

anomenats de vegades arrodoniments a t xifres per ex és (el més gran) i per defe te
(el més petit), perquè són els números de t xifres fra ionàries més propers a x,
adas un pel seu ostat.

x′′ x x′ 0 0 x′ x x′′

És a dir, són els dos números entre els que hem de triar per tal d'obtenir l'arro-
−t
doniment orre te. Com que la distàn ia entre ells és B , triarem el que estigui
1 −t
a una distàn ia de x menor o igual que B . Per tal d'esbrinar això, només al
2

mirar la grandària del que hem eliminat en trun ar x, |x − x |, que és la distàn ia
′ 1 −t
de x a x: si és més petita que
2
B , prenem x′ , i si no, x′′ . Queda lar, en
parti ular, que l'arrodoniment orre te té t xifres fra ionàries orre tes.

Exemple: Hem vist a l'exemple anterior que T4 (π) = 3,1415 està a una
−4
distàn ia de π més gran que 0,5 · 10 . L'arrodoniment orre te de π a quatre
xifres de imals serà, don s, T4 (π) + 10−4 = 3,1416, om tots sabem.

Observeu que tot aquest pro és es pot dur a terme més òmodament arrodonint
primer el valor absolut de x, i posant al resultat el signe de x. Noteu també que,
′ 1 −t ′
quan |x − x | és exa tament igual a B , qualsevol de les dues aproxima ions, x
2
′′
o x , és un arrodoniment orre te. Si bé de vegades es donen regles per aquest
′′
as, nosaltres triarem x , per tal de simpli ar.
Quan disposem de la representa ió de x en la base B , ±an . . . a1 a0 , d1 d2 d3 . . .(B ,
l'ele ió de l'arrodoniment orre te de x a t xifres fra ionàries, x̃, es pot fer així:

16
1
Si 0, dt+1 dt+2 . . . < , prenem x̃ = x′ , si no, x̃ = x′′ .
2
En el as de les bases usuals, aquesta ondi ió es pot omprovar mirant només la
primera xifra que negligim en trun ar x. Per a B = 10, si 0 ≤ dt+1 ≤ 4, llavors
x̃ = x′ , ′′
i si 5 ≤ dt+1 ≤ 9, x̃ = x . Per a B = 2 en ara és més fà il, don s només
′ ′′
tenim dues xifres: si dt+1 = 0, llavors x̃ = x , i si dt+1 = 1, x̃ = x .
Com abans, donarem una fórmula independent de les xifres de la representa ió:

x̃ = Rt (x) := sgn(x) |x|B t + 1/2 B −t .


 

!
Exemple: L'arrodoniment orre te del número x = 11,100111(2 a sis xifres
fra ionàries és x̃ = 11,101000(2 .

1.4. Els números i les màquines

En intentar representar els números en una màquina, ens trobem que només dis-
posem d'una quantitat nita i prexada, n, de posi ions (bits) per emmagatzemar
les xifres. Podem repartir-les de diverses maneres:

• Coma xa: n1 posi ions per la part entera i n2 llo s per la part fra ionària,
de manera que n1 + n2 = n, o bé n1 + n2 = n − 1, si al guardar un llo per
el signe.

Aquest format és utilitzat a la prà ti a només amb n2 = 0, és a dir, per tal


de representar números enters.

• Coma otant: S'usa sobretot la forma normalitzada per aprotar millor


l'espai. Es distribueix la longitud de paraula, n, en tres amps:

 1 posi ió per al signe

 e posi ions per a l'exponent

 t posi ions per a la mantissa

Els números de la màquina són els que es poden es riure amb aquestes limi-
ta ions. En oma xa són equidistants. En oma otant, en anvi, estan més
apilotats om més a prop del 0. Com diuen els informàti s, es guanya rang a
osta de resolu ió.

17
A la prà ti a, B = 2, les xifres són bits (0 o 1) i les paraules on es guarden
els números estan formades per una quantitat xa de bytes, o sigui que n és un
múltiple de 8.
Per exemple, la norma IEEE 754 espe i a per als números reals ( oats ) amb
pre isió simple que n = 32 i e = 8, don s t = 23. El signe es posa en el bit més
signi atiu (el 31), l'exponent en els vuit següents (del 30 al 23) i la mantissa en
els 23 últims (del 22 al 0):

31 30 23 22 0

L'exponent q ∈ Z es representa amb els seus e bits en ex és a M (també


es diu amb desplaçament o biaix M ), éssent M aproximadament la meitat de la
quantitat d'enters representables amb e bits, és a dir,2e−1 o, millor, 2e−1 − 1.
Aixó vol dir que si E és l'enter no negatiu representat per aquests e bits en binari,
llavors q = E − M.
El bit més signi atiu de la mantissa és sempre 1 i no al apuntar-lo. Llavors
es diu que fem una representa ió amb bit implí it, i la mantissa té realment
una pre isió de p=t+1 bits.

Exemple: Per poder veure grà ament la distribu ió dels números de la mà-
quina, onsiderarem un as molt senzill: p = 4, e = 3 i M = 3. És lar que aquests
números aben en un sol byte, sense que algui representar la mantissa amb bit
implí it. Per exemple, seguint l'ordre signe-exponent-mantissa, el byte 10101001
orrespon al número −9/32 = −0,28125 i el byte 01011100 al 3,0. Llavors en el
diagrama següent veiem alguns números de la màquina positius.

0 1/2 1 2 4 8

Amb un traç més gruixut estan mar ades totes les potèn ies positives de 2
(de mantissa 0,1000(2 ). Hem posat el 0 (que no és ni positiu ni un oat en forma
normalitzada) sols om a referèn ia.

Exemple: Presentem una hipotèti a al uladora que anomenarem MD-32,


que segueix la norma IEEE 754 per a pre isió simple, representant l'exponent en
ex és a 127 i la mantissa amb bit implí it.

18
Tot i que l'estàndard IEEE 754 reserva els valors extrems de l'exponent per a
representar dades espe ials (per exemple, el 0), nosaltres simpli arem el mo-
8
del suposant que, a la MD-32, les 2 = 256 possibles ombina ions de bits
que orresponen a l'exponent efe tivament representen un exponent. És a dir,
−127 ≤ q ≤ 128 en aquesta màquina.
Llavors és fà il al ular quants números màquina en pre isió simple hi ha a la
MD-32. Atès que un número de la màquina queda determinat per la sele ió de
32
adas un dels 32 bits, n'hi haurà 2 = 4.294.967.296.
23
Anàlogament veiem que tenim 2 = 8.388.608 mantisses possibles, éssent la
(24 −24
més petita 0,1(2 = 1/2, i la més gran, 0,11 . . . 1(2 = 1 − 2 . Per tant, per a ada
23 q−1
exponent q , hi ha 2 números de la màquina x tals que 2 ≤ x < 2q .
Així don s, el número de la màquina més petit positiu de la MD-32 és el

1
× 2−127 = 2−128 ≈ 2,938735877 × 10−39 ,
2
representat amb els 32 bits iguals a 0. I el més gran serà

 1 
1 − 24 × 2128 = 2128 − 2104
2
= 340.282.346.638.528.859.811.704.183.484.516.925.440
≈ 3,4 × 1038 ,

representat per 01111111 11111111 11111111 11111111.


Exer i i: En la MD-32, quants números de la màquina x satisfan 0 < x < 1?
23
Solu ió: 128 × 2 = 1.073.741.824.

1.4.1. Pre isió de la màquina i desbordaments

En intentar representar un número a en un ordenador que utilitza el format de


oma otant normalitzada, ens podem trobar amb dos tipus de problemes, de-
guts a la limita ió del número de xifres disponibles per a la mantissa, t, i per a
l'exponent, e, respe tivament.
Una manera natural d'aproximar a
per un número de la màquina seria la
s q
següent: Primer s'expressa en la forma normalitzada, a = (−1) · m · B . Després
s q
s'arrodoneix la mantissa m a t xifres, obtenint mt . Si rd(a) = (−1) · mt · B és
un número de la màquina, és el que prenem om a representa ió de a.

19
Quan l'arrodoniment es fa orre tament, l'error relatiu d'aquesta aproxima ió
es pot tar així:

1 −t
| rd(a) − a| |mt − m|B q B 1
= q
≤ 2
= B 1−t .
|a| mB B −1 2

Si l'arrodoniment es fa trun ant, la ta que s'obté és B 1−t .


Aquesta ta, que és independent de a, s'anomena error d'arrodoniment
unitari o pre isió de la màquina i es representa per eps (épsilon de la mà-
quina). Tenim don s que rd(a) = a(1 + r) amb |r| ≤ eps.

Exemple: A la MD-32 podem representar mantisses de 24 bits i així, si


−24 −23
arrodonim orre tament, eps = 2 , i si trunquem, eps = 2 .

El número e de posi ions dedi ades a representar l'exponent afe ta a la gran-


dària dels números de la màquina i, per tant, juntament amb B, determina el
rang dels números representables.
Si Emin i Emax són els valors mínim i màxim, respe tivament, que pot as-

solir l'exponent, és
 lar que els números de la màquina positius estan a l'interval
B Emin−1 , B Emax .

Exer i i: Podeu pre isar (per dalt) una mi a més aquest interval? Useu el
número de xifres de la mantissa.

Els números a representables són els que ompleixen que rd(a) és un número
de la màquina. És a dir, si la expressió de rd(a) en forma normalitzada és


rd(a) = (−1)s · m′ · B q ,

llavors a és representable si Emin ≤ q ′ ≤ Emax.


Quan no es dóna aquesta ondi ió, diem que es produeix un desbordament
per ex és (overow) siEmax < q ′ , o per defe te (underow) si q ′ < Emin.
I què fa la màquina llavors? Don s això depèn de la màquina. Normalment, en
as d'overow, s'atura el àl ul i ens dóna un missatge d'error. Però, en el as
d'underow, moltes vegades el valor es substitueix per zero i el àl ul ontinua. . .

Exemple: Si B = 10, t = 4, e = 2 i la màquina arrodoneix orre tament, els


números 0,31794 · 10110 , 0,99997 · 1099 , 0,012345 · 10−99 i 0,54321 · 10−110 no són

20
representables. En efe te:

rd(0,31794 · 10110 ) = 0,3179 · 10110 ,


rd(0,99997 · 1099 ) = 0,1000 · 10100 ,
rd(0,012345 · 10−99 ) = 0,1235 · 10−100 ,
rd(0,54321 · 10−110 ) = 0,5432 · 10−110 .

Els dos primers provoquen desbordament per ex és i els altres dos, per defe te.

1.4.2. Aritmèti a de oma otant

És fà il veure que el resultat exa te de qualsevol opera ió aritmèti a amb dos


números de la màquina molt sovint no és un número de la màquina.

Exemple: Si B = 10, t = 5 i e = 3, siguin x = 0,31426 · 103 i y = 0,92577 · 105


dos números de la màquina. Llavors

x+y = 0,9289126 · 105 ,


x−y = −0,9226274 · 105 ,
x·y = 0,2909324802 · 108 ,
x/y = 0,339457964721259 . . . · 10−2

i ap d'aquests resultats no és un número de la màquina.

S'a epta usualment que el resultat obtingut per la màquina oin ideix amb
l'arrodoniment del resultat exa te. De fet, moltes màquines al ulen primer el
resultat amb més xifres (per exemple, el doble) que les que utilitzen després per
emmagatzemar-lo.
És a dir, onsiderarem que la màquina efe tua uns simula res de les opera ions
aritmètiques, anomenats opera ions de oma otant, que es poden denir així:
Si ∗ representa qualsevol de les opera ions +, −, ×, / i x i y són números de la
màquina,
x ⊛ y = rd(x ∗ y) .
Això ens garanteix que x ⊛ y = (x ∗ y)(1 + r∗ ) amb |r∗ | ≤ eps, rela ió molt útil
per a fer l'anàlisi de l'error.

21
Exemple: Si la màquina de l'exemple anterior arrodoneix orre tament, per
als mateixos números xiy tenim:

x⊕y = 0,92891 · 105 ,


x⊖y = −0,92263 · 105 ,
x⊗y = 0,29093 · 108 ,
x⊘y = 0,33946 · 10−2 .

No podem esperar que aquestes opera ions onservin les propietats formals de
les opera ions aritmètiques. Per exemple, moltes vegades (x ⊕ y) ⊕ z 6= x ⊕ (y ⊕ z)
o bé x ⊗ (y ⊕ z) 6= (x ⊗ y) ⊕ (x ⊗ z).

Exemple: Usarem una altra vegada la màquina dels exemples anteriors. Si-
guin x = 0,12345 · 100 , y = 0,56789 · 103 i z = −y . Llavors

x ⊕ y = rd(0,00012345 · 103 + 0,56789 · 103) = rd(0,56801345 · 103) = 0,56801 · 103.

Observeu que, en alinear la oma per fer aquesta suma (igualant els exponents al
més gran), l'arrodoniment posterior fa que es desaprotin els últims dígits de x.
Així resulta que

(x ⊕ y) ⊕ z = rd(0,56801 · 103 − 0,56789 · 103 ) = rd(0,00012 · 103 ) = 0,12000 · 100 .

En anvi, x ⊕ (y ⊕ z) = x ⊕ 0 = x = 0,12345 · 100 , que no és igual a (x ⊕ y) ⊕ z .

Si us xeu bé en el que ha passat amb la primera suma de l'exemple, no


us estranyarà que x⊕y = x quan y 6= 0 sigui prou petit en rela ió a x. En
efe te, siguin xiy
números d'una màquina que treballa amb mantisses de t xifres
q
i arrodoneix orre tament. Si |x| = m · B en forma normalitzada, és su ient
1 q−t
que |y| < B per que, en alinear la oma per fer la suma, la mantissa (no
2
1 −t
normalitzada) de y quedi més petita que B . Així don s, en arrodonir la suma
2
d'aquesta mantissa amb m, resulta m.

Exer i i: Què passa si la màquina trun a? (Indi a ió: Cal onsiderar també
els signes d'ambdós números.)

En parti ular, si eps és un número de la màquina (que és lo normal), llavors


és el menor número de la màquina positiu tal que 1 ⊕ eps > 1.

22
Una altra onseqüèn ia molesta de la limita ió del número de xifres de la
mantissa és la pèrdua de xifres signi atives per an el.la ió, que es produeix
en restar dos números molt propers i pot provo ar un augment inesperat de l'error
relatiu.

Exemple: Siguin x = 0,5764 ± 21 10−4 y = 0,5763 ± 12 10−4 dos valors apro-


i
−4
ximats amb quatre xifres signi atives exa tes. Llavors x − y = 0,0001 ± 10 té
tres de imals orre tes però ap dígit signi atiu exa te. L'error absolut és tan
gran om el resultat i el relatiu, del 100%.

Aquesta disminu ió de pre isió, que és inherent a la subtra ió de números


aproximats propers, es pot expli ar analitzant l'error relatiu. Quan és una mà-
quina qui efe tua la opera ió, farem aquesta anàlisi així:
Posem fl(x − y) = rd(x) ⊖ rd(y). Observeu que, en aquest as, rd(x) ⊖ rd(y) =
rd(x) − rd(y). Com que rd(x) = x(1 + rx ) i rd(y) = y(1 + ry ) amb |rx | , |ry | ≤ eps,
tenim que
fl(x − y) − (x − y) xrx − yry |x| + |y|
=
x − y ≤ |x − y| eps ,

x−y
o sia, l'error relatiu pot esdevenir molt més gran que eps, quan |x − y| ≪ |x| + |y|.
Per tant, ada fórmula que ontingui alguna subtra ió pot ésser la ausa
d'aquest problema. Moltes vegades és possible evitar-lo anviant l'algorisme per
un altre d'equivalent. El as més típi és el de les fórmules

√ √
−b + b2 − 4ac −b − b2 − 4ac
x1 = i x2 = ,
2a 2a
que donen les solu ions de la equa ió de segon grau,
√ ax2 + bx + c = 0, quan
b2 ≫ 4ac. Llavors b2 − 4ac ≈ |b| i, atès el signe de b, una de les dues arrels
així al ulades tindrà po a pre isió, mentre que l'altra onservarà la pre isió de
les dades. Rees rivint les fórmules en la forma

2c 2c
x1 = √ i x2 = √ ,
−b − b2 − 4ac −b + b2 − 4ac

veiem que, en anviar el signe de l'arrel quadrada, s'ha apgirat la situa ió. És
a dir, podem triar l'expressió més adient per a ada valor. En aquest as en ara
tenim un altre algorisme: una vegada al ulada una de les solu ions amb la pre isió
més gran possible, al ulem l'altra usant la rela ió x1 x2 = c/a.

23
Exemple: Si al ulem les solu ions de l'equa ió x2 − 56x + 1 = 0 amb les
fórmules usuals i amb tres de imals exa tes, obtenim

√ 1
x1 = 28 − 783 ≈ 28 − 27,982 = 0,018 ± · 10−3 ,
2
√ 1
x2 = 28 + 783 = 55,982 ± · 10−3 .
2
Malgrat hem al ulat l'arrel quadrada amb in xifres signi atives exa tes, el
−5
valor de x1 només en té dos, mentre que l'error relatiu en x2 és menor que 10 .
Com que x1 x2 = 1, podem al ular x1 = 1/55,982 = 0,01786288 amb un error
−5 −6
relatiu menor que 10 . Així, x1 = 0,01786288 ± 0,2 · 10 , és a dir, obtenim
també in xifres signi atives exa tes.

Altres rela ions útils per eliminar subtra ions dels àl uls són, per exemple
(amb |δ| ≪ x),
√ √ δ
x+δ− x= √ √ ,
x+δ+ x
δ δ
cos(x + δ) − cos x = −2 sin( ) sin(x + ) .
2 2
Si no som apaços de trobar una rela ió exa ta per substituir f (x + δ) − f (x),
sovint és onvenient usar una rela ió aproximada, prenent un o més termes de la
sèrie de Taylor,

1
f (x + δ) − f (x) = f ′ (x)δ + f ′′ (x)δ 2 + · · ·
2

1.5. Algorismes, inestabilitat, problemes mal ondi ionats.

En triar un algorisme per tal de resoldre un problema numèri , al onsiderar


alguns aspe tes que ens ajudaran a fer l'ele ió més adient. No entrarem en una
anàlisi detallada d'aquestes ara terístiques, sinó que en farem esment per sobre,
.
il lustrant-les amb exemples.
Un primer riteri pot ser la grandària dels errors. Sembla natural es ollir
el mètode i l'algorisme que fa in els errors més petits. Però n'hi ha un riteri
millor: ens quedarem amb el que, donant errors dins d'uns límits predeterminats,
requereixi menys feina. L'e ièn ia d'un algorisme depèn tant de la grandària
dels errors om del ost operatiu, és a dir, del nombre d'opera ions a efe tuar.

24
Aquesta preo upa ió per l'e ièn ia no és una qüestió de mandra (al ap i a la
 qui fa els àl uls és la màquina), sinó que té la seva importàn ia, don s el nombre
d'opera ions inueix no només en el temps de àl ul, amb el orresponent ost
e onòmi , ans també en la genera ió, propaga ió i ampli a ió dels errors. De fet,
les tasques per les quals no disposem en un moment determinat d'un algorisme
a eptablement e ient, no es poden dur a terme.

Exemple: La manera més e ient de al ular el valor d'un polinomi P (x) =


a0 xn + a1 xn−1 + · · · + an−1 x + an en el punt x = a, és usar l'expressió de P (x) en
forma de multipli a ions en aixades :
P (x) = ((· · · ((a0 x + a1 )x + a2 )x + · · · )x + an−1 )x + an .

El pro ediment queda des rit re ursivament mitjançant l' algorisme de Horner :
si posem bi pels valors dels su essius parèntesis (de dintre a fora), tenim

b0 = a0 , bi = ai + a bi−1 (i = 1, 2, . . . , n) i P (a) = bn .

Quan fem aquests àl uls a mà, els disposem amb el onegut esquema

a0 a1 a2 · · · an−1 an
a a b0 a b1 · · · a bn−2 a bn−1
b0 b1 b2 · · · bn−1 bn

Pel polinomi P (x) = 3x3 − x + 1, obtenim P (2) així:

3 0 −1 1
2 6 12 22
3 6 11 23

Si només volem el valor de P (a), en programar aquest algorisme no al usar


una variable indexada per tal de guardar els diferents bi , sinó que podem emma-
gatzemar el valor ini ial, els valors intermedis i el resultat nal, su essivament,
a la mateixa variable.
Però tots sabem que els bi tenen interès quan dividim P (x) pel polinomi x − a,

P (x) = (x − a)Q(x) + R(x).

La regla de Runi ens diu que els polinomis quo ient i residu són, pre isament,

Q(x) = b0 xn−1 + b1 xn−2 + · · · + bn−2 x + bn−1 i R(x) = bn .

25
Pel polinomi d'abans tenim que P (x) = (x − 2)(3x2 + 6x + 11) + 23.

Exer i i: Expliqueu perquè, si apliquem aquest algorisme al polinomi Q(x),


obtenim P (a). (Indi a ió:

Es riviu Q(x) = P (x)−P (a)
x−a
.)

Una altra ara terísti a qualitativa dels algorismes que al tenir en ompte
estabilitat numèri a.
és l' Aquest és un on epte un tant borrós, del qual s'han
proposat diverses deni ions, no totes equivalents. Per això nosaltres només direm
que té a veure amb la genera ió i propaga ió dels errors d'arrodoniment al llarg
dels àl uls intermedis.
Les auses d'inestabilitat d'un algorisme són, normalment, an ela ions, am-
pli a ions de l'error repetides o desmesurades, substitu ió per 0 de valors que
provoquen desbordament per defe te, et .
Davant d'un algorisme inestable només podem intentar dues oses: anviar
d'algorisme per un de més estable o augmentar la pre isió. En aquest últim as
en realitat no eliminem el problema, sinó que només retardem l'apari ió dels seus
efe tes no ius.
Vegem un exemple d'un algorisme matemàti ament orre te però numèri a-
ment inestable.

Exemple: Volem al ular

1
xn
Z
yn = dx per a n = 8,
0 x+5

usant la fórmula de re urrèn ia yn + 5yn−1 = 1/n, que surt de


1 1 1
xn + 5xn−1 xn−1 (x + 5) 1
Z Z Z
yn + 5yn−1 = dx = dx = xn−1 dx = .
0 x+5 0 x+5 0 n
Farem els àl uls només amb tres de imals. La llavor és y0 = ln 6 − ln 5 ≈ 0,182.

y1 = 1 − 5y0 ≈ 1 − 0,910 = 0,090


1
y2 = − 5y1 ≈ 0,5 − 0,450 = 0,050
2
1
y3 = − 5y2 ≈ 0,333 − 0,250 = 0,083 (?)
3
1
y4 = − 5y3 ≈ 0,25 − 0,415 = −0,165 (??)
4

26
L'error d'arrodoniment e en la llavor pot ser tan gran om 0,5×10−3 = 5×10−4 .
Aquest error produeix un error de −5e a y1 , de 25e a y2 , de −125e a y3 i de 625e
−4
a y4 , que pot arribar a tenir una grandària de 625 × 5 × 10 = 0,3125. Els errors
a tuen en ontra nostre i si usem més de imals el fenomen apareixerà a un estadi
més tardà.
Aquesta inestabilitat és un problema de l'algorisme i, en aquest as, es pot
resoldre anviant l'algorisme, usant la fórmula de re urrèn ia a l'inrevés:

1 yn
yn−1 = − .
5n 5
Així l'error serà dividit per −5
a ada pas. Però ne essitem un punt de partida.
n
És lar que les integrals de reixen quan n reix (les fun ions x són, entre 0 i 1,
ada op més planes). Llavors podem partir, per exemple, de les dues hipòtesis
següents:

1. y10 ≈ y9 , que ondueix a y0 = 0,182 ( orre te).

2. y10 ≈ 0, que oin ideix amb l'anterior a partir de y7 .

Hi ha altres tipus d'inestabilitat que són atribuïbles al problema i ja no a


l'algorisme emprat. És a dir, que petites pertorba ions (errors) en les dades
produeixen grans varia ions als resultats, en ara que els àl uls es fa in amb tota
pre isió.

Exemple: Considerem el sistema lineal



2x+6y =8
2 x + 6,00001 y = 8,00001

que té per solu ió exa ta x = y = 1. En anvi, el sistema



2x+6y =8
2 x + 5,99999 y = 8,00002

té per solu ió exa ta x = 10, y = −2.

Llavors no parlem d'estabilitat sinó de ondi ionament. Aquesta és, don s, una
ara terísti a qualitativa de ada problema numèri que des riu la sensibilitat del

27
resultat envers els errors en les dades. Si passa om a l'exemple, direm que el
problema està mal ondi ionat.
De vegades és possible estimar aquesta qualitat mitjançant uns nombres de
ondi ió, denits de manera adient amb el tipus de problema, i que a tuen om a
fa tors d'ampli a ió dels errors d'entrada en onvertir-se en els errors de sortida.
A í ens referim, normalment, als errors relatius.

Exemple: Si el problema onsisteix simplement en avaluar la fun ió diferen-


iable f al punt x, podem onsiderar que

f (x + ∆x) − f (x) f ′ (x)∆x xf ′ (x) ∆x

f (x) = f (x) x

f (x)

i prendrem |xf ′ (x)/f (x)| om a nombre de ondi ió.

Observeu que els nombres de ondi ió depenen de les dades. És a dir, un


problema pot estar mal ondi ionat per a uns valors i bé per a d'altres. Per

exemple, el àl ul de e és un problema ben ondi ionat, però el de e100 , en
anvi, és mal ondi ionat.

28
2. EQUACIONS NO LINEALS

Disposem de fórmules per trobar arrels de polinomis ns a grau 4 però si tenim un
polinomi de grau 5 o superior, no només no tenim fórmula, ans Abel va demostrar
que no se'n pot trobar. Per tant al desenvolupar mètodes numèri s per trobar
les arrels de polinomis de grau 5 o més gran.
Els mètodes que desenvoluparem en aquest apítol també resolen (aproxima-
dament) equa ions de la forma f (x) = 0 om ara:
x − cos x = 0
cos x − sin x = 0
x − tan x = 0
x − a sin x = 0

2.1. Bise ió

Aquest mètode té per fonament el següent resultat:

Teorema (Bolzano): Si
f : [a, b] → R és ontínua i
f (a)f (b) < 0 (i.e.: f (a) i f (b) tenen diferent signe),

aleshores hi ha un punt α ∈ (a, b) tal que f (α) = 0.

El mètode de bise ió onsisteix a dividir [a, b] en dos subintervals d'igual


longitud i a determinar l'existèn ia d'un zero a un o a l'altre usant el resultat
pre edent.
a+b
Posem a0 = a, b0 = b, c0 = ; tenim:
2
• Si f (a0 )f (c0 ) = 0, c0 és un zero de f i hem a abat.

29
• Si f (a0 )f (c0 ) < 0 hi ha un zero a [a0 , c0 ]; posem a1 = a0 , b1 = c0 .

• Si f (a0 )f (c0 ) > 0 hi ha un zero a [c0 , b0 ]; posem a1 = c0 , b1 = b0 .

Si en aquesta etapa no hem trobat el zero, podem tornar a apli ar el pro ediment
a l'interval I1 = [a1 , b1 ] i així su essivament.

Questió: Aquest mètode lo alitza la primera arrel omençant per l'esquerra, la


primera arrel omençant per la dreta o ap de les dues ?

Exemple: Volem resoldre l'equa ió

x − cos x = 0 .

Considerem la fun ió f (x) = x − cos x; primer trobem un interval que ontingui


un zero:
f (0) = 0 − cos 0 = −1 < 0,
i si cos b < 0 per algun b > 0, serà f (b) > 0; prenem b = 3.
Ara apliquem el pro ediment que hem des rit:
I0 = [0, 3], c0 = 1.5, f (1.5) = 1. 4293 > 0 ⇒ I1 = [0, 1.5]
I1 = [0, 1.5], c1 = 0.75, f (0.75) = 1. 8311 × 10−2 > 0 ⇒ I2 = [0, 0.75]
I2 = [0, 0.75], c2 = 0.375, f (0.375) = −. 55551 < 0 ⇒ I3 = [0.375, 0.75]
I3 = [0.375, 0.75], . . .
...
I12 = [0.73901, 0.73975]
I13 = [0.73901, 0.73938]
Si volem parar el pro ediment en aquest punt, l'aproxima ió de la solu ió és:

α ≈ 0.739,

amb tres de imals orre tes. També podem donar om a aproxima ió de la solu ió
el punt mig de l'interval on parem el pro ediment:

α ≈ 0.739185 .

Si tenim en ompte que, a ada pas del pro ediment, la longitud de l'interval és
dividida per dos i que l'ele ió del punt mig és una subdivisió més, l'error absolut
satisfà
3
|e13 | ≤ = 1. 83 × 10−4
213+1

30
que torna a donar 3 de imals orre tes. Aquest error absolut s'anomena error de
trun ament:
b0 − a0
|en | < .
2n+1

Aquest tipus de pro ediment repetit s'anomena un pro ediment iteratiu. A tot
pro ediment iteratiu hem de

1. Determinar un interval on hi ha una solu ió.

Per això podem usar el teorema de Bolzano i el reixement o de reixement


de la fun ió per saber si la solu ió és úni a dins de l'interval.

2. Examinar la onvergèn ia i la rapidesa de la onvergèn ia.

3. Determinar el nombre d'opera ions per a ada pas de l'itera ió.

Usualment hi ha un ompromís entre els punts 2 i 3. Si un mètode iteratiu


demana massa àl uls a ada pas, pot resultar en un algorisme lent.

El mètode de bise ió és òbviament sempre onvergent; a ada itera ió al u-


lem el punt mitjà i omparem el signe de la fun ió a dos punts (és a dir poques
opera ions), però té l'in onvenient que és lent degut a què obtenim només un nou
dígit binari a ada pas (ja que subdividim en dos els intervals).

Exer i i: Quants passos hem de fer per obtenir ada dígit de imal?

Exer i i: Usant el mètode de bise ió a l'interval [10, 30], quants passos hem de
fer per per tenir un error relatiu menor que 10 −7
Solu ió: n ≥ 24.)
? (

Exer i i: Determineu el nombre de solu ions de l'equa ió xex − 1 = 0 i useu el


mètode de bise ió per al ular-les amb un de imal exa te. Quantes itera ions
alen? (Solu ió: Una, x = 0.6, 4 itera ions partint de I = [0, 1].)

2.2. Mètode de la regula falsi

També s'anomena de les ordes o de les parts propor ionals, don s és una variant
del mètode de bise ió que onsisteix a dividir l'interval[a, b] en dos subintervals,
[a, c] i [c, b], de longituds propor ionals respe tivament a |f (a)| i |f (b)|, i això
s'a onsegueix mitjançant la orda que uneix els extrems de la grà a de f a
l'interval [a, b].

31
a
α c a+b b
2
f (a)(b − a) f (b)(b − a)
És fà il veure que c=a− o bé c=b− .
f (b) − f (a) f (b) − f (a)
Esperem que aquest mètode sigui més ràpid que el de bisse ió, però de vegades
no és així, i llavors al fer alguna modi a ió.

2.3. Mètode de Newton

Sigui α una solu ió de l'equa ió f (x) = 0 i sigui x0 una aproxima ió d'aquesta


solu ió. La fórmula de Taylor ens permet avaluar aproximadament l'error. Posem
α = x0 + h i es rivim la fórmula de Taylor a x0 :
f ′ (x0 ) f ′′ (c) 2
0 = f (α) = f (x0 + h) = f (x0 ) + h+ h .
1! 2!
f (x0 )
Menyspreant el darrer terme, podem aïllar h= − ′ ; esperem que
f (x0 )
f (x0 )
x1 = x0 −
f ′ (x0 )
serà una millor aproxima ió que x0 . Llavors podem repetir el pro ediment partint
de x1 per obtenir x2 , et . Arribem al següent pro ediment iteratiu:

f (xn )
xn+1 = xn − (n = 0, 1, . . .)
f ′ (xn )

anomenat mètode de Newton-Raphson. És onvenient es ollir la llavor x0 a prop


de la solu ió α.
Geomètri ament, aquest mètode onsisteix a substituir l'equa ió f (x) = 0 per

l'equa ió f (x0 ) + f (x0 )(x − x0 ) = 0. És a dir en llo de mirar on talla la grà a
de f mirem on talla la re ta tangent a la grà a y prenem aquest punt om a nou
punt de partida.

32
Exemple: Resolem cos x = x (quantes solu ions té?).
Per usar el mètode de Newton onvertim l'equa ió donada en l'equa ió equi-

valent cos x − x = 0. Posem f (x) = cos x − x, f (x) = − sin x − 1 i les itera ions
venen donades per la fórmula:

cos xn − xn
xn+1 = xn + .
sin xn + 1
x0 = 0.7 obtenim:
Partint de la llavor
x1 = 0.739436497, amb 3 de imals orre tes,
x2 = 0.739085160, amb 6 de imals orre tes,
x3 = 0.739085133, amb tots els de imals orre tes.

Exemple: Un mètode
√ intuïtiu (i iteratiu) per a al ular arrels quadrades.
Anem a al ular 2. Geomètri ament la solu ió és el ostat d'un quadrat
d'àrea 2. Comen em amb un re tangle d'àrea 2 i l'anirem quadrant.

Per quadrar-lo prenem om a nova base el promig de base i alçada, és a dir,


1+2 2
= 1.5. Si hem de mantenir àrea 2, prendrem l'alçada ≈ 1.33.
2 1.5

33
El següent pas de la quadratura es fa de la mateixa forma: la base serà
1.5 + 1.33 2
= 1.415 i l'alçada = 1.4134
2 1.415

1.415 + 1.4134 √
Un pas més ens ondueix a una base = 1.4142 et voilà! 2
2
amb quatre de imals orre tes. Millor que l'algorisme tradi ional, oi?

Què s'amaga darrera aquest mètode iteratiu de onvergèn ia tan ràpida? Si


posem ai per designar les su essives bases i bi per designar les alçades su essives,
tenim
2 a0 + b0 a2 + 2
b0 = , a1 = = 0
a0 2 2a0
i, en general, per a al ular l'arrel quadrada de p > 0, l'n-èssima itera ió és

a2n + p
an+1 = .
2an
Si usem el mètode de Newton per a al ular l'arrel quadrada de p, en realitat
resolem l'equa ió
x2 = p o bé x2 − p = 0.
La itera ió de Newton és:

x2n − p x2 + p
xn+1 = xn − = n
2xn 2xn

34
que és, pre isament, el mètode que hem emprat. De fet aquest mètode iteratiu
de àl ul d'una arrel quadrada ja era onegut per Heron d'Alexandria (100 dC).

Exer i i: Usant idees geomètriques semblants a les de l'exemple anterior, doneu


un algorisme que permeti al ular arrels úbiques i mireu si és un des endent del
mètode de Newton.
.
Indi a ió: ara hem de  ubar un paral lelepípede que podem prendre amb
base quadrada.

Exer i i: Podem estendre el mètode al àl ul d'arrels quartes? Segueix essent


un amuatge del mètode de Newton?

Hem de dir que el mètode de Newton no sempre és onvergent però podem


donar els enun iats de dos teoremes rellevants:

Teorema 1: Sigui f de lasse C2 (i. e. f ′′ és ontínua) i α un zero de f (x) tal que



f (α) 6= 0. Aleshores hi ha un veïnatge de α i una onstant C tals que si prenem
la llavor en aquest veïnatge la su essió d'itera ions és onvergent i

|xn+1 − α| ≤ C|xn − α|2 .

De vegades hi ha garantia de onvergèn ia sense ne essitat de que la llavor es


trobi a prop de l'arrel:

Teorema 2: Sigui f ∈ C 2 ([a, b]) i tal que

1. f (a) ·f (b) < 0 (és a dir, f té una arrel α ∈ (a, b))

2. f ′ (x) 6= 0 per a ada x ∈ [a, b] (és a dir, f és monòtona i l'arrel α és úni a)

3. f ′′ (x) 6= 0 per a ada x ∈ [a, b] (és a dir, f manté la onvexitat)

Sigui x0 ∈ [a, b] la llavor del mètode. Si es ompleix alguna de les dues ondi ions
següents:
n o
• max ff′(a)
f (b)
, < b−a (l'interval és prou gran), o bé

(a) f ′ (b)

• f (x0 ) · f ′′ (x) > 0 per a ada x ∈ [a, b] (x0 està al ostat bo d'α),

35
aleshores el mètode de Newton onvergeix.
′ ′′
A més, si |f (x)| ≥ m > 0 i |f (x)| ≤ M per a ada x ∈ [a, b], llavors

M
|xn+1 − α| ≤ |xn − α|2 (n ≥ 0).
2m
| f(b)/f’(b)|

a α b

| f(a)/f’(a)|

2.4. Mètode de la se ant

Un in onvenient del mètode de Newton és que hem d'avaluar la derivada a ada


itera ió. Per evitar aquest in onvenient en llo de traçar la tangent pel punt
(xn , f (xn )), podem traçar una se ant (i així substituïm la derivada pel quo ient
in remental). Es ollim la se ant que passa també pel punt (xn−1 , f (xn−1 )):

36
a x2 x3 x5
α x4 b

És fà il veure que la se ant talla l'eix d'abs isses al punt

xn − xn−1
xn+1 = xn − f (xn ) (n = 1, 2, . . .),
f (xn ) − f (xn−1 )

fórmula que ens dóna el mètode iteratiu. Observem que al partir de dues llavors,
que normalment seràn x0 = a i x1 = b.

Exemple: Per a resoldre l'equa ió f (x) = cos x − x = 0, partim de les llavors


x0 = 0.7, x1 = 0.8. Obtenim x4 = 0.739085134, x5 = 0.739085133; un àl ul dóna
f (x4 ) < 0, f (x5 ) > 0 i per tant hi ha una solu ió entre x4 i x5 . Observem que al
fer la omprova ió dels signes perquè el mètode no garanteix que la solu ió estigui
entre xn i xn+1 . Hem obtingut 8 de imals orre tes en només in itera ions.

En general, si el mètode onvergeix, ho fa més ràpid que el de bise ió. D'altra


banda el nombre d'opera ions a ada itera ió ha augmentat. A més la onvergèn-
ia no està garantida.

37
2.5. Mètode del punt x

Un punt x d'una fun ió g és un punt α tal que g(α) = α. És a dir, un punt x


de g és una solu ió de l'equa ió g(x) = x.
Grà ament, això vol dir que la grà a de g talla la re ta y=x (anomenada
la diagonal), que és la grà a de la fun ió identitat, en els punts xos.
x
No totes les fun ions tenen punts xos, per exemple g(x) = e no en té ap.
Però, en determinades ir umstàn ies podem assegurar que sí:

a b

Teorema (del punt x). Si g : [a, b] → [a, b] és ontínua, llavors té almenys un


punt x en [a, b].
Prova: Com que a ≤ g(x) ≤ b, la fun ió h(x) = g(x) − x, que és ontínua en [a, b],
veri a que
h(a) = g(a) − a ≥ 0 i h(b) = g(b) − b ≤ 0.
El teorema de Bolzano ens permet armar que existeix un punt c ∈ [a, b] tal que
h(c) = 0. Així tenim que g(c) = c.
Els mètodes per trobar punts xos serveixen per resoldre equa ions de la forma
f (x) = 0, perquè aquestes es poden rees riure de la forma equivalent g(x) = x.
Això vol dir que podem onstruir una fun ió g de manera que els zeros de f
siguin els punts xos de g i re ípro ament. Això es pot fer de moltes maneres
(per exemple, g(x) = x + λf (x) amb λ 6= 0), si bé no totes són útils.
Ara veurem un mètode per resoldre problemes de punt x, així om les on-
di ions en què fun iona.

38
2.5.1. Itera ions d'una fun ió

Sigui g :I →I una fun ió d'un interval (que pot ser innit) en ell mateix. Si
prenem una llavor x0 ∈ I , les itera ions de x0 per g són els termes de la su essió

x0 , x1 = g(x0 ), x2 = g(x1 ), . . . , xn+1 = g(xn ), . . .

anomenada òrbita de x0 per g. Observeu que xn = g n (x0 ) per a n ≥ 0, on g n és la


omposi ió de g amb sí mateixa n vegades. (Aten ió: no és la potèn ia n-èssima.)


Exer i is: Trobeu les itera ions de x0 ∈ (0, 1) per g(x) = x; feu el mateix
per x0 = 0 i x0 = 1.
Trobeu les itera ions de x0 ∈ R per g(x) = sin x.

Podem veure grà ament la primera itera ió de x0 : partint de x0 obtenim


g(x0 ); llavors usem la diagonal om a transbordador de l'eix y a l'eix x on hi
posem x1 = g(x0 ).

y=x

g(x0) g

x0 x1

I també podem veure les su essives itera ions seguint el amí

v h v h v
−→ G −→ D −→ G −→ D −→ · · ·

on G vol dir grà a, D, diagonal, v, verti al i h, horitzontal. Observeu els quatre


asos típi s.

39
x0 x0

x0 x0

Potser la interpreta ió grà a és més lara si identiquem l'interval I amb el


segment orresponent de la diagonal, {(x, x) | x ∈ I}, en omptes de fer-ho amb
un segment de l'eix horitzontal o del verti al.

Exer i i: Expliqueu grà ament el omportament de les itera ions de x i
de sin x.
La raó per la qual parlem ara d'itera ions és que, si l'òrbita onvergeix a un
límit αig és ontínua, llavors

g(α) = lim g(xn ) = lim xn+1 = α,


n→∞ n→∞

és a dir, α és un punt x de g . Per tant, podem intentar trobar punts xos iterant
les fun ions. Això és el que anomenarem mètode d'itera ió. Només ens falta
saber quan fun iona.

40
2.5.2. Contra ions

Una fun ió g és ontra tiva (o és una ontra ió ) si existeix un K ∈ (0, 1) tal que,
per a qualssevol xiy del domini de g,
|g(x) − g(y)| ≤ K|x − y|.

g(y)
g(x)

x y

El segment [x, y] es transforma en el segment [g(x), g(y)] de longitud estri ta-


ment menor: s'ha produït una ontra ió. Així la ontinuïtat de les ontra ions
és gairebé evident. En efe te, donat ε > 0, prenent δ = ε/K tenim que

si |x − y| < δ, llavors |g(x) − g(y)| ≤ K|x − y| < Kδ = ε.


Les ontra ions són importants degut al següent resultat:

Teorema (de ontra ió). Si g : [a, b] → [a, b] és ontra tiva, aleshores té un


úni punt x α ∈ [a, b] i, per a qualsevol x0 ∈ [a, b], la su essió d'itera ions
xn+1 = g(xn ) (n ≥ 0) onvergeix a α.
Prova: Com que g és ontínua, té un punt x α ∈ [a, b], pel teorema del punt x.
Aquest punt x és úni , ja que, si hi hagués un altre, β 6= α, tindríem que

|α − β| = |g(α) − g(β)| ≤ K|α − β| < |α − β|,


que és una ontradi ió. A més, la su essió d'itera ions onvergeix a α perquè
de la rela ió
|xn − α| = |g(xn−1) − g(α)| ≤ K|xn−1 − α|
obtenim, per indu ió, que

|xn − α| ≤ K n |x0 − α|
i om que K n → 0, resulta que |xn − α| → 0.

41
En aquesta demostra ió hem obtingut, de pas, la ta ió de l'error absolut
|xn − α| ≤ K n |x0 − α|. Però aquesta ta no és massa útil perquè depèn de
|x0 − α|, que no oneixem i també haurem de tar. Per això sovint s'utilitza
aquesta altra ta de l'error absolut de trun ament:

Kn
|xn − α| ≤ |x0 − x1 |.
1−K
Tot això està molt bé, però om podem saber que g és una ontra ió? Tenim
la següent ondi ió su ient:

Proposi ió. Si g : I → R té derivada primera i |g ′(x)| ≤ K < 1 per a tot x ∈ I ,


aleshores g és ontra tiva.
Prova: Pel teorema del valor mitjà, |g(x) − g(y)| = |g ′(c)||x − y| ≤ K|x − y|.
Exemple: Trobem un punt x de g(x) = 4 + 13 sin 2x.
1 1 ′
Observem que g transforma [4− , 4+ ] en ell mateix. D'altra banda |g (x)| =
3 3
2
3
| cos 2x| ≤ 2/3 < 1 i g és una ontra ió. Per obtenir un punt x basta iterar
qualsevol llavor en aquest interval:
x0 = 4
x1 = 4.3297861
x2 = 4.2308951
···
x19 = 4.2614837 amb set de imals exa tes.

Exemple: Volem resoldre l'equa ió x3 − 2x + 2 = 0. Dibuixant la grà a


de f (x) = x3 − 2x + 2 podem veure que té un zero a [−2, −1]. Transformem el
problema en un problema de punt x:
3
i) L'equa ió equivalent x /2+1 = x ens ondueix a onsiderar la fun ió g(x) =
x3 /2 + 1; si mirem la derivada
 q q 
3
|g (x)| = x2 < 1

només si x ∈ − 23 , 23
2

i no podem garantir que f sigui ontra tiva a [−2, −1].


3
ii) x − x + 2 = x demana onsiderar la fun ió g(x) = x3 − x + 2 que té per
derivada  q q 
|g ′(x)| = |3x2 − 1| < 1 només si x ∈ − 23 , 23

42
i, om abans, no podem garantir que
√ g sigui ontra tiva a
√ [−2, −1].
3 3
iii) 2x − 2 = x ondueix a l'estudi de g(x) = 2x − 2; la derivada és

1 2 1 2
|g ′(x)| = 2/3
≤ < 1, atès que |2x − 2| ≥ 4.
3 (2x − 2) 3 42/3

A més om que g(−2) i g(−1) pertanyen a [−2, −1] i g(x) és reixent en aquest
interval, tenim que g([−2, −1]) està ontingut a [−2, −1]. Amb tot això ja veiem
que podem apli ar el teorema de ontra ió a g . Prenent x0 = −1 om a llavor
tenim:
x0 = −1
x1 = −1.5874
x2 = −1.7297
x3 = −1.7608
···
x7 = −1.7693
x8 = −1.7693

Exer i i: Demostreu que f (x) = x no és ontra tiva a [0, 1].
Solu ió: No ho pot ser perquè té dos punts xos, α = 0 i β = 1 (feu un
dibuix).

2.6. Ordre de onvergèn ia

Diem d'una su essió x0 , x1 , · · · → α que té ordre de onvergèn ia almenys p, si


hi ha una onstant C , un número p > 0 i un índex n0 tals que

|xn+1 − α| ≤ C|xn − α|p per n ≥ n0 .

Observem que si |xn − α| < 1 aleshores |xn − α|p ≪ 1 si p > 1. Tenim

|xn+1 − α|
≤C
|xn − α|p

que ens diu que |xn+1 − α| és petit ns i tot en ompara ió amb el número petit
|xn − α|p .
Examinem l'ordre de onvergèn ia de les su essions produïdes per alguns dels
mètodes que hem vist en aquest apítol.

43
1. Mètode de bise ió

Es pot demostrar que el mètode té ordre de onvergèn ia almenys 1.

2. Mètode de la regula falsi

Es pot veure que té ordre de onvergèn ia almenys 1 si f ′′ (α) 6= 0.

3. Mètode de Newton

De fet busquem, pel mètode d'itera ió, un punt x de la fun ió

f (x)
g(x) = x − .
f ′ (x)

Desenvolupant per Taylor al punt x α tenim:

g ′ (α) g ′′ (c)
g(x) = g(α) + (x − α) + (x − α)2 .
1! 2!
Cal ulem g ′ (α):
[f ′ (x)]2 − f (x)f ′′ (x)
g ′(x) = 1 −
[f ′ (x)]2
g ′ (α) = 0 (atès que f (α) = 0) .
Portant aquest valor en el desenvolupament de Taylor anterior tenim:

|g ′′(c)|
|xn+1 − α| = |g(xn ) − g(α)| = (xn − α)2 ≤ C(xn − α)2 ,
2!
on 2C és una ta de |g ′′(x)| a un entorn de α. Això ens diu que si f ′′′
existeix, l'ordre de onvergèn ia és almenys 2.

4. Mètode del punt x

Suposada g ontra tiva tenim |xn+1 − α| ≤ K|xn − α| que ens diu que el
mètode té ordre de onvergèn ia almenys 1. Per un pro ediment anàleg al
′ ′′ (m)
del punt anterior es pot veure que si g (α) = g (α) = · · · = g (α) = 0, el
mètode té ordre de onvergèn ia almenys m + 1.

5. Mètode de la se ant

1+ 5
Es pot veure que té ordre de onvergèn ia almenys si f ′ (α) 6= 0.
2

44
3. INTERPOLACIÓ

Un pol és un punt distingit per algun motiu (perquè són distingits els pols Nord
i Sud de la terra?). Interpolar vol dir omplir l'espai que hi ha entre els pols.
Con retament, si tenim una taula om ara

x x0 x1 · · · xn
y y0 y1 · · · yn
que podem veure grà ament

es tra ta de onstruir un polinomi P de grau més petit o igual que n tal que

P (x0 ) = y0 , P (x1 ) = y1 , P (x2) = y2 , . . . , P (xn ) = yn ,

és a dir tal que la seva grà a passi pels extrems de les barretes del dibuix:

45
Cal advertir que això s'anomena interpola ió polinomial, però que també es
pot interpolar mitjançant altres tipus de fun ions (trigonomètriques, splines et .)
Exemple: El valor de la gravetat a nivell del mar depèn de la latitud. Les
mesures són:
ϕ (graus)| g(m/s2 )
0 |9.780350
30 |9.793235
45 |9.806154
60 |9.819099
90 |9.832072
◦ ′
El problema és trobar el valor de g a Bar elona (ϕ = 41 25 ). Trobarem un
polinomi de grau 4, P4 (ϕ) que per a ada ϕ prengui els valors que tenim tabulats;
◦ ′
després al ularem P4 (41 25 ) i tindrem una aproxima ió a la solu ió del problema.

En aquest as les dades de la taula provenen de mesures experimentals; altres


ops poden ser valors d'una fun ió a determinats punts (valors anomenats mostres
de la fun ió ):
x| x0 x1 x2 ... xn
,
f | f0 f1 f2 ... fn
i en aquest as voldrem avaluar l'error e = max |p(x) − f (x)|, x ∈ I (un ert
interval).

3.1. Tres mètodes d'interpola ió

Proposi ió: El problema anterior té solu ió úni a.

Prova: Sigui P (x) = a0 + a1 x + a2 x2 + · · · + an xn el polinomi interpolador de la


taula
x x0 x1 · · · xn
y y0 y1 · · · yn
en la que suposem que els punts x0 x1 . . . xn anomenats nodes, són tots
diferents.
Llavors P (x) ha de omplir

P (x0 ) = a0 + a1 x0 + a2 x20 + · · · + an xn0 = y0


P (x1 ) = a0 + a1 x1 + a2 x21 + · · · + an xn1 = y1
···
P (xn ) = a0 + a1 xn + a2 x2n + · · · + an xnn = yn

46
és a dir que tenim un sistema lineal de n+1 equa ions en n+1 in ògnites.
La matriu del sistema és

xn0
 
1 x0 ···
 1 x1 ··· xn1 
M =
 ···
,
··· ··· ··· 
1 xn ··· xnn

anomenada matriu de Van der Monde que té per determinant


Y
det M = (xj − xi ) =
1≤i<j≤n
= (x1 − x0 )(x2 − x0 ) · · · (xn − x0 )(x2 − x1 ) · · · (xn − xn−1 ) 6= 0

Així és que el sistema té solu ió úni a; a més tenim un Mètode algebrai que ens
permet al ular el polinomi interpolador.

Exemple: Construïm el polinomi interpolador de la següent taula amb tres


nodes
x| 0 0.5 1
y | 1 e0.5 e
Sigui P (x) = a + bx + cx2 el polinomi que erquem; hem de al ular a, b, c. El
sistema que aquests números han de satisfer és:

a + b(0) + c(0)2 = 1
1 1
a + b( ) + c( )2 = e0.5
2 2
a + b(1) + c(1)2 = e

amb solu ió a = 1, b = 4e0.5 − e − 3, c = −4e0.5 + 2e − 2 i el polinomi interpolador


és:
P (x) = 1 + (4e0.5 − e − 3)x + (−4e0.5 + 2e + 2)x2

Anem a veure dos altres mètodes de onstru ió del polinomi interpolador.


Mètode de Lagrange
Construïm primer un polinomi que valgui 0 a tots els nodes ex epte a x0 ; això
és fà il:
l0 (x) = (x − x1 )(x − x2 ) · · · (x − xn )

47
aquest polinomi a x0 pren el valor

l0 (x0 ) = (x0 − x1 )(x0 − x2 ) · · · (x0 − xn )

i per tant el polinomi


l0 (x)
L0 (x) =
l0 (x0 )
és un polinomi que val 0 als nodes x1 , x2 , . . . , xn i val 1 a x0 . Podem fer el
mateix per adas un dels altres nodes i tindrem polinomis

L0 (x), L1 (x), L2 (x), . . . , Ln (x)

anomenats fa tors de Lagrange que satisfan



1 si j=i
Li (xj ) =
0 si j 6= i

Observem que els fa tors de Lagrange només depenen dels nodes de la taula i
no depenen dels valors a ada node.
Llavors
P (x) = y0 L0 (x) + ... + yn Ln (x)
és el polinomi interpolador er at perquè

P (xi ) = y0 L0 (xi ) + ... + yi Li (xi ) + · · · + yn Ln (xi ) =


= 0 + · · · + yi · 1 + · · · + 0 = yi i = 0, . . . , n

Exemple: Construïm el polinomi interpolador de la següent taula amb tres


nodes tot usant el mètode de Lagrange

x| 0 0.5 1
y | 1 e0.5 e

(x − 0.5)(x − 1)
L0 (x) = = 2x2 − 3x + 1
(0 − 0.5)(0 − 1)
(x − 0)(x − 1)
L1 (x) = = −4x2 + 4x
(0.5 − 0)(0.5 − 1)
(x − 0)(x − 0.5)
L2 (x) = = 2x2 − x
(1 − 0)(1 − 0.5)

48
i el polinomi interpolador en la forma de Lagrange és:

P (x) = 1(2x2 − 3x + 1) + e0.5 (−4x2 + 4x) + e(2x2 − x)

que és el polinomi que ja havíem al ulat. Això ha de ser així per la uni itat del
polinomi interpolador.

Mètode de Newton
Si hem d'interpolar només a un node tenim P0 (x) = c0 = y0 ; suposem que hem
onstruït un polinomi Pk−1 (x) que interpola a k nodes x0 , x1 , . . . , xk−1 . Llavors
denim

Pk (x) = Pk−1 (x) + c(x − x0 )(x − x1 ) · · · (x − xk−1 )


que automàti ament interpola en els punts x0 , x1 , ..., xk−1 ; la onstant c es al ula
a partir de

yk = Pk (xk ) = Pk−1(xk ) + c(xk − x0 )(xk − x1 ) · · · (xk − xk−1 )

és a dir
yk − Pk−1(xk )
c=
(xk − x0 )(xk − x1 ) · · · (xk − xk−1 )
Pel que hem dit el polinomi interpolador és de la forma

Pk (x) = c0 + c1 (x − x0 ) + c2 (x − x0 )(x − x1 ) + · · · + c(x − x0 )(x − x1 ) · · · (x − xk−1 )

on les onstants ci es al ulen su essivament tal om hem indi at a la onstru ió.


Exemple: Construïm el polinomi interpolador de la següent taula amb tres
nodes tot usant el mètode de Newton

x| 0 0.5 1
y | 1 e0.5 e

P0 (x) = c0 = 1
P1 (x) = 1 + c1 (x − 0) amb P1 (x1 ) = e0.5 ; 1 + c1 (0.5) = e0.5 ⇒ c1 = 2(e0.5 − 1)
P2 (x) = 1 + 2x(e0.5 − 1) + c(x − 0)(x − 0.5) amb P2 (x2 ) = e;
1 + 2(e0.5 − 1) + c(1)(1 − 0.5) = e

49
Obtenim

P (x) = 1 + 2(e0.5 − 1)(x − 0) + (−4e0.5 + 2e + 2)(x − 0)(x − 0.5)

que, altra op és el mateix polinomi interpolador, però es rit aquest op en la


forma de Newton.

Suposem ara que la taula que volem interpolar són els valors d'una fun ió f
als nodes {x0 , x1 , ..., xn } i que hem onstruït el polinomi interpolador p(x), que és
una fun ió denida a tots els punts.

Teorema: si f és una fun ió amb n + 1 derivades ontínues, per a ada x hi ha


un punt cx de int(x0 , x1 , ..., xn , x) (:= el menor interval que onté x i els nodes)
tal que
f (n+1) (cx )
f (x) − p(x) = (x − x0 )(x − x1 )...(x − xn )
(n + 1)!
Prova (resumida i optativa): denim la fun ió G(z) per

(z − x0 )...(z − xn )
G(z) = f (z) − p(z) − [f (x) − p(x)]
(x − x0 )...(x − xn )
.
que és nul la als n+2 punts {x0 , x1 , ..., xn , x}. Usant el teorema de Rolle n+1
vegades resulta que la fun ió G(n+1) (z) s'anul.la a un punt cx :
(n + 1)!
G(n+1) (z) = f (n+1) (z) − [f (x) − p(x)]
(x − x0 )...(x − xn )
.
s'anul la a cx //

Exemple: Si els nodes són {0, 1} i prenem la fun ió f (x) = ex , el polinomi


x
interpolador és la re ta p(x) = 1 − (e − 1)x. A l'interval [0, 1], f ”(x) = e < e;
2
d'altra banda |(x − x0 )(x − x1 )| = |x(x − 1)| = |x − x| té el màxim a x = 0.5, i
prèn un valor màxim de 0.25. Llavors

e
|f (x) − p(x)| <
8
Exer i i: Feu el mateix prenent els nodes {0, 0.5, 1}.

Observa ió: en la fórmula de l'error, la fun ió f intervé a través de la seva


derivada, però l'expressió

50
(x − x0 )(x − x1 )...(x − xn )
només depèn dels punts d'interpola ió. és natural mirar d'es ollir aquests punts a
 que aquesta expressió sigui (en mòdul) el més petit possible. Això s'a onsegueix
en erta mesura prenent om a xi els zeros del polinomi de Txebixev de grau
n + 1, Tn+1(x).

3.2. Polinomis de Txebixev

Anem a veure que cos nϕ = polinomi(cos ϕ); onsiderem les fórmules trigonomè-
triques

cos(a + b) = cos a cos b − sin a sin b


cos(a − b) = cos a cos b + sin a sin b
cos(a + b) + cos(a − b) = 2 cos a cos b
i, posant a = nϕ, b = ϕ obtenim cos(n + 1)ϕ + cos(n − 1)ϕ = 2 cos nϕ cos ϕ, n ≥1,
o bé

cos(n + 1)ϕ = 2 cos ϕ cos nϕ − cos(n − 1)ϕ (*)

fórmules que ens permeten expressar cos nϕ om un polinomi en cos ϕ:


cos ϕ = cos ϕ
cos 2ϕ = 2 cos2 ϕ − 1
cos 3ϕ = 2 cos ϕ cos 2ϕ − cos ϕ = 4 cos3 ϕ − 3 cos ϕ
cos 4ϕ = 2 cos ϕ cos 3ϕ − cos 2ϕ = 8 cos4 ϕ − 8 cos2 ϕ + 1
···
Fent el anvi {cos ϕ = x, ϕ = arccos x} obtenim els polinomis de Txebixev

Tn (x) = cos(n arccos x), −1 ≤x ≤1 ,


la família de polinomis:

T0 (x) = 1
T1 (x) = x
T2 (x) = −1 +2x2
T3 (x) = −3x +4x3
T4 (x) = 1 −8x2 8x4
··· ···

51
Propietats dels polinomis de Txebixev

a) Fórmula de re urrèn ia

T0 (x) = 1, T1 (x) = x

Tn+1 (x) = 2xTn (x) − Tn−1 (x), n ≥1


om es veu dire tament a partir de (*):

Tn+1 (x) = cos((n + 1)(arccos x))


= 2 cos(arccos x) cos(n arccos x) − cos((n − 1) arccos x)
= 2xTn (x) − Tn−1 (x)

b) El oe ient prin ipal de T0 és 1 i el oe ient prin ipal de Tn és 2n−1 . En


els que hem al ulat és ert; el as general es veu per indu ió.

) Tn (−x) = (−1)n Tn (x) (la paritat de ada polinomi oin ideix amb la paritat
del grau).:

Tn (−x) = cos(n arccos(−x)) = cos(n(π − arccos x)) =


= cos(nπ − n arccos x) = cos nπ cos(n arccos x) =
= (−1)n Tn (x)

d) Tn (x) té n zeros diferents a [−1, 1] (n ≥1):

cos(n arccos x) = 0
π
n arccos x = + kπ
2
2k + 1 π
xk = cos( ), k = 0, 1, . . . , n − 1
n 2
e) Propietat mini-max: De tots els polinomis p de grau m i oe ient prin ipal
1
1, el que té max{|p(x)|, x ∈ [−1, 1]} més petit és el polinomi m−1 Tm (x); és a dir
2
la propietat mini-max arma que si p(x) és un polinomi mòni de grau m,

1
max (| Tm (x)|, −1≤x ≤1) ≤ max (|p(x)|, −1≤x ≤1)
2m−1

52
Podem usar aquesta propietat per minimitzar l'error en la interpola ió. La fórmula
de l'error és

f (m+1) (cx )
f (x) − p(x) = (x − x0 )(x − x1 ) · · · (x − xm )
(m + 1)!

on veiem que podem minimitzar max |(x − x0 )(x − x1 ) · · · (x − xm )| si es ollim


om a punts d'interpola ió els zeros de Tm+1 :
1 3 2m + 1
{x0 , . . . , xm } = {cos π, cos π, . . . , cos π}
2m + 2 2m + 2 2m + 2
Això s'anomena interpola ió de Txebixev. Podem visualitzar els zeros de Tm
dividint la semi ir umferèn ia unitat en 2m parts, prenent els punts d'ordre senar
i proje tant sobre l'eix OX :

Observem que els punts estan numerats de dreta a esquerra; ho haurem de tenir
en ompte quan fem una taula per interpolar.

1
Exemple: Interpolem f (x) = per un polinomi de primer grau usant
x+3
interpola ió de Txebixev. Ne essitem dos punts d'interpola ió, els zeros de T2 :
π 1 3π 1
x0 = cos = √ , x1 = cos = −√
4 2 4 2
i tenim la següent taula:
x √1 − √12
√2 √
f √ 2 √ 2
3 2+1 3 2−1

53
El polinomi interpolador obtingut és

1
p(x) = (6 − 2x)
17
Exer i i: Cal uleu la ta de l'error d'interpola ió a l'interval [−1, 1] usant les
abs isses x0 = −1/2, x1 = 1/3, i omproveu que és el doble que en el as d'usar
les abs isses de Txebixev.

Observa ió important: si fem interpola ió a un interval [a, b] que no sigui [−1, 1],
el anvi de variable

[−1, 1] → [a, b]
1 1
x 7 → t = (a + b) + (b − a)x
2 2
re ondueix el problema a l'interval [−1, 1].

3.3. Fenomen de Runge

Quan interpolem amb abs isses equidistants i per un polinomi de grau elevat,
es pot donar l'anomenat fenomen de Runge, que onsisteix en què el polinomi
interpolador d'una fun ió en un interval només l'aproxima bé en el entre de
l'interval.
1
Exemple: gràques de la fun ió f (x) = i de p10 (x), el seu polinomi
1 + 30x2
interpolador en 11 abs isses equiespaiades de l'interval [−1, 1].

Observem que, prop dels punts ±0.9, l'aproxima ió de f (x) per p10 (x) és molt
dolenta. Per evitar aquest fenomen, observat per primer op per Runge, tenim
op ions a diferents nivells:
(a) Es ollir abs isses no equiespaiades.

54
Mirarem que hi hagi més on entra ió d'abs isses onforme ens anem a ostant als
extrems de l'interval. Per exemple, podem es ollir om a abs isses els zeros d'un
polinomi de Txebixev.
(b) Es ollir abs isses equiespaiades i usar interpola ió polinòmi a a trossos.
Construir, entre ada parell d'abs isses, un polinomi de grau predeterminat que
interpoli. La fun ió resultant és polinòmi a a trossos i s'anomena Spline.
( ) No interpolar, sino aproximar.
Si no exigim que el polinomi passi per determinades abs isses, podem al ular un
polinomi que aproximi la fun ió donada. Això és el que tra tarem en el proper
tema.

55
4. APROXIMACIÓ

4.1. El llenguatge geomètri

Si tenim massa nodes no resulta fun ional manejar el polinomi interpolador. Per
exemple si tenim mil un punts, trobarem un polinomi interpolador de grau mil.
Quan hi ha tants nodes a la taula que onsiderem, parlem d'un núvol de punts
i, en llo d'interpolar, mirem d'ajustar orbes om ara re tes, paràboles, et ., en
el núvol de punts. Aquest ajust s'anomena aproxima ió dis reta (perquè usem
nodes); també hi ha una aproxima ió ontínua que usa els mateixos mètodes.

Així és que el què volem és aproximar una fun ió f mitjançant una fun ió f de
la forma
f ∗ = c0 + c1 x + · · · + cn xn .
Una questió fonamental és avaluar la magnitud de l'error e = f ∗ −f mitjançant
un número. Això és el mateix que avaluar la magnitud d'una fun ió (atès que
f∗ − f ho és). La forma més simple de fer-ho és usar el llenguatge geomètri .

Fun ions vistes om a ve tors


Donada una xarxa de nodes {x0 , . . . , xm }, la taula de f és

x x0 ··· xm
f f (x0 ) · · · f (xm )
que podem veure om un ve tor de Rm+1 . Així:

• {x0 , x1 }, (f (x0 ), f (x1 )), un ve tor de R2 ,


• {x0 , x1 , x2 }, (f (x0 ), f (x1 ), f (x2 )), un ve tor de R3 ,
• {x0 , x1 , x2 , x3 }, (f (x0 ), f (x1 ), f (x2 ), f (x3 )), un ve tor de R4 ,
i no hi ha ap problema a augmentar el nombre de punts de la xarxa. En el
següent dibuix podem veure una mateixa fun ió a través de xarxes de nodes que
tenen ada op més punts:

56
Aquestes su essives ulleres (xarxes de nodes) ens fan veure la fun ió om un
ve tor en un espai de dimensió ada op més gran. Podem pensar la pròpia fun ió
om un ve tor en un espai de dimensió innita. Això no ausarà ap problema
ans al ontrari fa ilitarà molt l'exposi ió dels on eptes i els mètodes de àl ul, i
la reten ió dels resultats.

Observem que tenim dos punts de vista:

1. Dis ret: mirem les fun ions a través d'una xarxa de nodes.

2. Continu: mirem les fun ions om a ve tors en dimensió innita.

Comen em donant una mesura de la magnitud d'una fun ió; això ho podem
fer de diverses formes, ja que podem donar la magnitud d'un ve tor de diverses
formes.

Longituds (normes) dels ve tors

1) Norma eu lidiana a Rn :
p
k(a1 , . . . , an )k = (a1 )2 + · · · + (an )2

Exemples: k(1, 2)k = 5, la distàn ia eu lidiana de (1, 2) a (0, 0).
k(−3, 0, 4)k = 5, la distàn ia eu lidiana de (−3, 0, 4) a (0, 0, 0).

Exemple: La xarxa {0, 21 , 1, 32 } ens permet veure la fun ió f (x) = cos πx om


√ √
el ve tor f = (1, 0, −1, 0) i kf k = 1 + 0 + 1 + 0 = 2. Hem amidat la fun ió!

57
1') Norma eu lidiana a C 0 (I) (les fun ions ontínues a l'interval I ):
sZ
b
kf k = (f (x))2 dx
a

Geomètri ament aquesta norma amida les fun ions mesurant l'àrea de f 2 entre
aib (i traient l'arrel quadrada).

1
Exemples: I = [0, 1], f (x) = x, kf k = √ .
p 3
I = [−1, 1], f (x) = x, kf k = 2/3.
8
I = [0, 2], f (x) = x, kf k = √ .
3
En els problemes d'aproxima ió la norma eu lidiana és la més usada degut a
què permet fer àl uls relativament simples.

2) Norma del màxim a Rn :

k(a1 , . . . , an )kmax = max(|a1 |, . . . , |an |)

Exemples: k(1, −3)k = max(1, 3) = 3.


k(1, −3, π)k = max(1, 3, π) = π .
Exemple: La xarxa {0, 21 , 1, 32 } ens permet veure la fun ió f (x) = cos πx om
el ve tor f = (1, 0, −1, 0) i kf k = max(1, 0, 1, 0) = 1.

2') Norma del màxim a C 0 (I) (les fun ions ontínues a l'interval I ):

kf kmax = sup{|f (x)|, a ≤ x ≤ b}

Podem veure la geometria d'aquesta norma en el dibuix següent

58
Exemples: I = [0, 1], f (x) = x, kf k = 1.
I = [−1, 1], f (x) = x, kf k = 1.
I = [0, 2], f (x) = x, kf k = 2.
És més difí il treballar amb la norma del màxim que amb la norma eu lidiana
i per aixó és menys usada.

4.2. Aproxima ió per mínims quadrats

El problema de l' aproxima ió per mínims quadrats té els següents ingredients:

dades ϕ0 (x), . . . , ϕn (x) (linealment independents), f (x) (una fun ió)


in ógnita f ∗ = c0 ϕ0 (x) + · · · + cn ϕn (x)
ondi ió kf ∗ − f k mínima (norma eu lidiana)
Re ordant que podem pensar les fun ions om ve tors, veiem que aquest pro-
blema s'assembla molt al problema de la proje ió ortogonal sobre un subespai :
dades e0 , . . . , en (linealment independents), v (un ve tor)
in ógnita v ∗ = c0 e0 + · · · + cn en
ondi ió kv ∗ − vk mínima (norma eu lidiana)
ja que la proje ió perpendi ular dóna la distàn ia mínima:

Proje ió ortogonal d'un ve tor v sobre un subespai P.


La solu ió d'aquest problema és fà il; els oe ients in ógnita c0 , . . . , cn s'obte-

nen resolent el sistema que expressa que v − v és perpendi ular a P :

(v ∗ − v | ei ) = 0, i = 0, . . . , n.

59
El problema de l' aproxima ió per mínims quadrats té exa tament el mateix
format:

Proje ió ortogonal d'una fun ió sobre un subespai.

i es resol de la mateixa forma. Basta pre isar el produ te es alar entre fun ions,
que és el següent:

Z b
• Cas ontinu, I = [a, b]: (f | g) = f (x)g(x) dx
a

m
X
• Cas dis ret, {x0 , . . . , xm }: (f | g) = f (xi )g(xi)
i=0

(Més endavant veurem una lleugera generalitza ió d'aquests produ tes es alars
2
que serà útil en alguns asos prà ti s.) Re ordem aquí que kf k = (f | f ).

Solu ió de l'aproxima ió per mínims quadrats


Basta expressar la ondi ió d'ortogonalitat (f ∗ − f ) ⊥ ϕi , i = 0, ..., n:

(c0 ϕ0 + · · · + cn ϕn − f | ϕi ) = 0, i = 0, ..., n,

és a dir,
(c0 ϕ0 + · · · + cn ϕn | ϕi ) = (f | ϕi ), i = 0, ..., n,
anomenades equa ions normals.

60
Hem de resoldre el sistema d'equa ions lineals

c0 (ϕ0 | ϕ0 ) + · · · + cn (ϕn | ϕ0 ) = (f | ϕ0 ) 
........................................
c0 (ϕ0 | ϕn ) + · · · + cn (ϕn | ϕn ) = (f | ϕn )

Observem que la matriu de oe ients del sistema és la matriu de produ tes
M = ((ϕi | ϕj )).

Si les fun ions ϕ0 , . . . , ϕn formen un sistema ortogonal ((ϕi | ϕj ) = 0 si i 6= j )


tenim
(f | ϕk )
ck = , k = 0, ..., n
kϕk k2
on veiem l'interès dels sistemes ortogonals.

Exemple: Cal ulem la re ta de regressió de la taula

x 1 2 3 4 5
f 3.2 3.8 4.9 6.1 7

Volem trobar f ∗ (x) = a + bx que aproximi f per mínims quadrats; estem prenent
ϕ0 (x) = 1, ϕ1 (x) = x. El sistema d'equa ions normals en forma matri ial és:
    
(1 | 1) (x | 1) a (f | 1)
= .
(1 | x) (x | x) b (f | x)

Cal ulem aquests produ tes es alars dis rets (sobre la xarxa {1, 2, 3, 4, 5}):

(1 | 1) = 1 · 1 + 1 · 1 + 1 · 1 + 1 · 1 + 1 · 1 = 5
(1 | x) = 1 · 1 + 1 · 2 + 1 · 3 + 1 · 4 + 1 · 5 = 15
(x | x) = 1 · 1 + 2 · 2 + 3 · 3 + 4 · 4 + 5 · 5 = 55
(f | 1) = (3.2) · 1 + (3.8) · 1 + (4.9) · 1 + (6.1) · 1 + (7) · 1 = 25.0
(f | x) = (3.2) · 1 + (3.8) · 2 + (4.9) · 3 + (6.1) · 4 + (7) · 5 = 84.9

Hem de resoldre el sistema



5a + 15b = 25.0
15a + 55b = 84.9

que dóna a = 2.03, b = 0.99; la re ta de regressió és y = 2.03 + 0.99x.

61
Exemple: Polinomi de segon grau que millor aproxima per mínims quadrats
la taula
x −2 −1 1 3 5
f 2 1 −1 1 3
Volem trobar f ∗ (x) = a + bx + cx2 que aproximi f per mínims quadrats; estem
prenent ϕ0 (x) = 1, ϕ1 (x) = x, ϕ2 (x) = x2 . El sistema d'equa ions normals en
forma matri ial és:

(1 | 1) (x | 1) (x2 | 1)
    
a (f | 1)
 (1 | x) (x | x) (x2 | x)   b  =  (f | x)  .
(1 | x2 ) (x | x2 ) (x2 | x2 ) c (f | x2 )

Aquests produ tes es alars dis rets (sobre la xarxa {−2, −1, 1, 3, 5}) valen:

(1 | 1) = 1 · 1 + 1 · 1 + 1 · 1 + 1 · 1 + 1 · 1 = 5
(1 | x) = 1 · (−2) + 1 · (−1) + 1 · 1 + 1 · 3 + 1 · 5 = 6
(1 | x2 ) = 1 · 4 + 1 · 1 + 1 · 1 + 1 · 9 + 1 · 25 = 40
(x | x) = 4 + 1 + 1 + 9 + 25 = 40
(x | x2 ) = −8 − 1 + 1 + 27 + 125 = 144
(x2 | x2 ) = 16 + 1 + 1 + 81 + 625 = 724
(f | 1) = 2 · 1 + 1 · 1 + (−1) · 1 + 1 · 1 + 3 · 1 = 6
(f | x) = 2 · (−2) + 1 · (−1) + (−1) · 1 + 1 · 3 + 3 · 5 = 12
(f | x2 ) = 2 · 4 + 1 · 1 + (−1) · 1 + 1 · 9 + 3 · 25 = 92

Hem de resoldre el sistema



5a + 6b + 40c = 6 
6a + 40b + 144c = 12
40a + 144b + 724c = 92

Aixó ja no és senzill i és millor re órrer a algun programa que resolgui sistemes.


Obtenim
86 714 307
a=− , b=− , c= ;
1261 1261 1261
el polinomi quadràti er at és

86 714 307 2
y=− − x+ x
1261 1261 1261
Ens adonem així de l'interès que les fun ions ϕi formin un sistema ortogonal!

62
Exemple: Aquest exemple és una aproxima ió no dis reta. Cerquem la re ta
que millor aproxima per mínims quadrats la fun ió f (x) = sin x a l'interval [0, π].
Volem trobar f ∗ (x) = a + bx que aproximi f per mínims quadrats; estem prenent
ϕ0 (x) = 1, ϕ1 (x) = x. El sistema d'equa ions normals en forma matri ial és:
    
(1 | 1) (x | 1) a (f | 1)
= .
(1 | x) (x | x) b (f | x)
Cal ulem aquests produ tes es alars:
π π Z π
π2 π3
Z Z
(1 | 1) = 1·1 dx = π, (1 | x) = 1·x dx = , (x | x) = x·x dx = ,
0 0 2 0 3
Z π Z π
(f | 1) = sin x · 1 dx = 2, (f | x) = sin x · x dx = π.
0 0
Hem de resoldre el sistema

π2

πa + b = 2 

2
π2 π3
a+ b=π 

2 3
2 2
que dóna a= , b = 0 i la re ta de regresió és y= .
π π

4.3. Produ tes amb pesos

Suposem que el resultat de ertes medi ions és

x f #
1 4.1 8
2 5.5 6
3 6.2 10
Podem assignar pesos w1 = 8, w2 = 6, w3 = 10 a les diferents mesures. Aleshores
al ularem amb el produ te

(g | h) = 8g(x1 )h(x1 ) + 6g(x2 )h(x2 ) + 10g(x3)h(x3 ).


Cal ulem, per exemple, la re ta de regressió f ∗ (x) = a+ bx amb aquests pesos.
El sistema d'equa ions normals en forma matri ial és:
    
(1 | 1) (x | 1) a (f | 1)
= .
(1 | x) (x | x) b (f | x)

63
Cal ulem aquests produ tes es alars dis rets (sobre la xarxa G = {1, 2, 3}):

(1 | 1) = 8 · 1 · 1 + 6 · 1 · 1 + 10 · 1 · 1 = 24
(1 | x) = 8 · 1 · 1 + 6 · 1 · 2 + 10 · 1 · 3 = 50
(x | x) = 8 · 1 · 1 + 6 · 2 · 2 + 10 · 3 · 3 = 122
(f | 1) = 8 · (4.1) · 1 + 6 · (5.5) · 1 + 10 · (6.2) · 1 = 127.8
(f | x) = 8 · (4.1) · 1 + 6 · (5.5) · 2 + 10 · (6.2) · 3 = 284.8
Hem de resoldre el sistema

24a + 50b = 127.8
50a + 122b = 284.8

que dóna a = 3.158 ± 0.5 × 10−3 , b = 1.040 ± 0.5 × 10−3 ; la re ta de regressió és


y = 3.158 + 1.040x.

En general, si tenim la xarxa {x0 , . . . , xm }, i pesos w0 , . . . , wm , el produ te


es alar dis ret és
m
X
(f | g) = wi f (xi )g(xi ).
i=1

En l'aproxima ió ontínua podem usar fun ions pes w(x) > 0, w ontínua
(admetem singularitats als extrems de l'interval) i el produ te es alar serà:

Z b
(f | g) = f (x)g(x)w(x)dx.
a

Ja hem esmentat que, si les fun ions ϕi formen un sistema ortogonal, els
àl uls de l'aproxima ió per mínims quadrats són més senzills. Un dels sistemes
ortogonals usuals és el dels polinomis de Txebixev :
i) Amb el produ te es alar amb pes (1 − x2 )−1/2 ,
1
1
Z
(f | g) = f (x)g(x) √ dx,
−1 1 − x2
π
se satisfà (Ti | Tj ) = 0 si i 6= j , kT0 k2 = π i kTi k2 = si i > 0.
2
Prova: Simpli arem el àl ul de les integrals

1
1
Z
(Tm | Tn ) = Tm (x) · Tn (x) √ dx
−1 1 − x2

64
amb el anvi de variable

dx
θ = arccos x, dθ = − √ , θ(−1) = π, θ(1) = 0
1 − x2
i re ordant la fórmula

1
cos a cos b = (cos(a + b) + cos(a − b)).
2
Llavors tenim que

π Z π π 
1
Z Z
(Tm | Tn ) = cos mθ·cos nθ dθ = cos(m + n)θ dθ + cos(m − n)θ dθ .
0 2 0 0

Ara hem de distingir diversos asos:


Si m 6= n, resulta que
 π π 
1 sin(m + n)θ sin(m − n)θ
(Tm | Tn ) = + = 0.
2 n + m 0 m − n 0
Si m = n 6= 0 tenim
 π 
2 1 sin 2nθ π
kTn k = (Tn | Tn ) = +π = .
2 2n 0 2
Finalment, quan m=n=0 s'obté

kT0 k2 = (1 | 1) = π.

ii) Amb el produ te es alar dis ret sobre la xarxa {x0 , . . . , xm } dels zeros de
Tm+1 (x),
m
X
(f | g) = f (xk )g(xk ),
k=0
m+1
(Ti | Tj ) = 0 si i 6= j amb 0 ≤ i, j ≤ m, kT0 k2 = m + 1 i kTi k2 =
se satisfà
2
si 0 < i ≤ m. Observem que, en el as dis ret, els polinomis de Txebixev són
ortogonals respe te un produ te es alar amb pes 1.

És onvenient es riure el polinomi d'interpola ió en termes dels polinomis de


Txebixev T0 , T1 , . . . , Tm :
m
X
p(x) = ci Ti (x).
i=0

65
Re ordem que si tenim m + 1 abs isses i erquem un polinomi de grau m, la inter-
pola ió i l'aproxima ió per mínims quadrats oin ideixen. Degut a l'ortogonalitat
(vegeu solu ió de l'aproxima ió per mínims quadrats, a l'apartat 4.2) tenim:

(f | Ti )
ci = .
kTi k2

Reprenem un exemple que ja havíem vist:


1
Exemple: Interpolem f (x) = per un polinomi de primer grau usant
x+3
interpola ió de Txebixev. Ne essitem dos punts d'interpola ió, els zeros de T2 :
π 1 3π 1
x0 = cos =√ , x1 = cos = −√ ,
4 2 4 2
i tenim la següent taula:
x √1 − √12
2
√ √
f √ 2 √ 2
3 2+1 3 2−1

Si expressem p(x) = c0 T0 (x) + c1 T1 (x), al ulem els ci així:


√ √
2 2 12
(f | T0 ) = √ · (1) + √ · (1) =
3 2+1 3 2−1 17
√ √
2 1 2 1 2
(f | T1 ) = √ ·√ + √ · (− √ ) = −
3 2+1 2 3 2−1 2 17
Obtenim
1
p(x) = (6 − 2x). //
17

4.4. Altres famílies ortogonals

A part dels polinomis de Txebixev hi ha moltes altres famílies ortogonals.

Teorema: Per a ada fun ió pes w(x) hi ha un sistema ortogonal que és una
família triangular de polinomis; aquest sistema és úni si prenem els polinomis
mòni s.

Aquestes famílies ortogonals es poden trobar ortogonalitzant pel mètode de


2 3
Gram-S hmidt la família de polinomis {1, x, x , x , . . .}

66
Re ordem el mètode; si {e0 , e1 , e2 , . . .}
és una família de ve tors linealment
′ ′ ′
independents, al ulem una família ortogonal {e0 , e1 , e2 , . . .} seguint l'esquema

e′0 = e0
(e1 | e′0 ) ′
e′1 = e1 − proje ió de e1 sobre he′0 i = e1 − e
(e′0 | e′0 ) 0
(e2 | e′ ) (e2 | e′ )
e′2 = e2 − proje ió de e2 sobre he′0 , e′1 i = e2 − ′ 0′ e′0 − ′ ′1 e′1
(e0 | e0 ) (e1 | e1 )
···

onstru ió de e′1

Però, en apli ar el pro ediment de Gram-S hmidt als monomis 1, x, x2 , x3 , . . .


(en aquest ordre), es produeix una simpli a ió sorprenent, resumida en el següent
enun iat, que és vàlid per a tots els produ tes es alars que onsiderem.

Teorema: Els polinomis mòni s denits indu tivament per

p0 (x) = 1, p1 (x) = x − a1 i
pn (x) = (x − an )pn−1 (x) − bn pn−2 (x) si n ≥ 2,

amb
(x pn−1 | pn−1 ) (x pn−1 | pn−2 )
an = i bn = ,
kpn−1 k2 kpn−2 k2
forman un sistema ortogonal.
kpn−1 k2
A més, es veri a que (x pn−1 | pn−2 ) = kpn−1 k2 , és a dir, bn = .
kpn−2 k2

67
onstru ió de e′2

En els asos més usuals el pes és simètri respe te l'origen i llavors resulta que
(x pn−1 | pn−1 ) = 0, és a dir, an = 0. Així la re urrèn ia es redueix a

kpn−1 k2
p0 (x) = 1, p1 (x) = x i pn (x) = x pn−1 (x) − pn−2 (x) si n ≥ 2.
kpn−2 k2
Exemple: Ortogonalitzem la família {1, x, x2 , x3 , . . .}, onsiderada a l'interval
I = [−1, 1], amb el produ te es alar amb pes w(x) = (1 − x2 )−1/2 denit per
1
1
Z
(f | g) = f (x)g(x) √ dx .
−1 1 − x2
Per estalviar àl uls onvé re ordar que per als polinomis de Txebixev tenim
π
que kT0 k2 = π i kTn k2 = si n > 0.
2
p0 (x) = 1.
p1 (x) = x.
kxk2 π/2 1
p2 (x) = x x − 2
= x2 − = x2 − .
k1k π 2
2 2
1 kx − 1/2k 1 1 kT2 (x)k2 3
p3 (x) = x(x2 − ) − 2
x = x(x 2
− ) − 2
x = x3 − x.
2 kxk 2 4 kT1 (x)k 4

68
1 1
Observem que p0 = T0 , p1 = T1 , p2 = T2 , p3 = T3 , . . . (això ha de ser així
2 4
per la uni itat de què parla el teorema).

Donem ara un exemple d'una família ortogonal estàndard.

Polinomis de Legendre
Estan denits per

1 dn
Pn (x) = [(x2 − 1)n ], n = 0, 1, 2, . . .
2n n! dxn

Cal ulem-ne uns quants:

1 d0
P0 (x) = 0
((x2 − 1)0 ) = 1.
2 · 0! dx0
1 d
P1 (x) = 1 ((x2 − 1)1 ) = x.
2 · 1! dx
El següent ja és més laboriós:

1 d2 2 2 1 d2 4 1
P2 (x) = 2 2
((x − 1) ) = 2
(x − 2x2 + 1) = (3x2 − 1).
2 2! dx 8 dx 2
Per al ular els següents disposem d'una fórmula re urrent:

2n + 1 n
Pn+1 (x) = x Pn (x) − Pn−1 (x).
n+1 n+1

Ara podem al ular més polinomis de Legendre:


Per n=2 tenim:

5 2 5 1 2 1
P3 (x) = x P2 (x) − P1 (x) = x (3x2 − 1) − x = (5x3 − 3x).
3 3 3 2 3 2
Per n=3 resulta:

7 3 7 3 1
P4 (x) = xP3 (x) − P2 (x) = x(5x3 − 3x) − (3x2 − 1) = (35x4 − 30x2 + 3).
4 4 8 8 8
Les propietats més rellevants són:

69
a) Són ortogonals respe te el produ te es alar (amb pes w(x) = 1)
Z 1
(f | g) = f (x)g(x) dx,
−1

2
és a dir (Pi (x) | Pj (x)) = 0 si i 6= j i kPn (x)k2 = .
2n + 1
b) Pn (−x) = (−1)n Pn (x).
) |Pn (x)| ≤ 1, −1 ≤ x ≤ 1.
Podem usar els polinomis de Legendre per resoldre uns problemes d'aproxi-
ma ió:
Exemple: Cal ulem el polinomi de segon grau que millor aproxima per mí-
nims quadrats la fun ió g(x) = x3 + 1 a [−1, 1] amb pes w(x) = 1. Prenent els
polinomis de Legendre tindrem

p(x) = c0 P0 (x) + c1 P1 (x) + c2 P2 (x).


Atès que formen una família ortogonal, els oe ients seran

1
(g | P0 ) 2
Z
(g | P0 ) = (x3 + 1) dx = 2, c0 = 2
= = 1,
kP0 k 2
Z−11
2 (g | P1 ) 2/5 3
(g | P1 ) = (x3 + 1) x dx = , c1 = 2
= = ,
5 kP1 k 2/3 5
Z−11
1
(g | P2 ) = (x3 + 1) (3x2 − 1) dx = 0, c2 = 0.
−1 2
3
Obtenim p(x) = 1 + x.
5
Exemple: Cal ulem el polinomi de segon grau que millor aproxima per mí-
nims quadrats la fun ió g(t) = t3 a [0, 4] amb pes w(t) = 1.
Primer fem el anvi de variable

1 1
t = (a + b) + (b − a)x = 2 + 2x,
2 2
que re ondueix el problema a l'interval [−1, 1] on podem usar els polinomis de
3
Legendre; obtenim G(x) = (2 + 2x) i aproximem aquesta fun ió a [−1, 1]:

P (x) = c0 P0 (x) + c1 P1 (x) + c2 P2 (x)

70
144
Cal ulant om en l'exemple anterior resulta c0 = 16, c1 = i c2 = 16. Així:
5
144 1 144
P (x) = 16 + x + 16 · (3x2 − 1) = 24x2 + x + 8.
5 2 5
Desfent el anvi obtenim el polinomi de grau 2 que aproxima g(t) a [0, 4]:
48 16
p(t) = 6t2 − t+ .
5 5

Exemple: Ortogonalitzem la família {1, x, x2 , x3 , . . .} onsiderada a l'interval


I = [−1, 1] amb el produ te es alar amb pes w(x) = 1 denit per

Z 1
(f | g) = f (x)g(x) dx.
−1

2
Convé re ordar que, per als polinomis de Legendre, kPn (x)k2 = .
2n + 1
p0 (x) = 1.
p1 (x) = x.
kxk2 2 2/3 2 1
p2 (x) = x x − = x − = x − .
k1k2 2 3
1 kx2 − 1/3k2 1 4 kP2 (x)k2 3
p3 (x) = x(x2 − ) − x = x(x 2
− ) − x = x3
− x.
3 kxk2 3 9 kP1 (x)k2 5
2 2
Observem que p0 = P0 , p1 = P1 , p2 = P2 , p3 = P3 , . . . (altra op això ha de
3 5
ser així per la uni itat de què parla el teorema).

71
5. INTEGRACIÓ.

La integra ió numèri a resol el problema d'avaluar integrals denides de fun ions


R b sin x Rb 2
que no tenen primitiva elemental om ara
a
dx o bé
a
e−kx dx.
x
D'altra banda podem tenir fun ions tabulades, que només oneixem sobre una
xarxa de punts. Els mètodes numèri s permeten aproximar les integrals denides
d'aquestes fun ions.

5.1. Integra ió per interpola ió

El problema onsisteix no només a donar una aproxima ió numèri a d'una integral


denida,
Z b
f (x)dx
a
ans també a avaluar l'error omès. Una idea senzilla és aproximar f per un
polinomi interpolador Pn i integrar-lo:

Z b Z b
f≈ Pn
a a

G = {x0 , . . . , xn }, essent a ≤ x0 < x1 < · · · < xn ≤ b,


Pre isem; si i es rivim
el polinomi interpolador Pn en la forma de Lagrange, resulta:

Z b Z b n
X Z b n
X Z b
f≈ Pn = fi Li (x)dx = Ai fi , fi = f (xi ), Ai = Li (x)dx
a a i=0 a i=0 a

on els Li (x) són els fa tors de Lagrange i els Ai són els pesos asso iats a G (que
només depenen de G).
Hem obtingut:
Z b n
X
f≈ Ai fi
a i=0

Si Q és un polinomi de grau més petit o igual que n, el seu polinomi interpo-


lador és Q. Per tant la fórmula anterior és exa ta pels polinomis de grau
R ≤ n.
Aquest fet permet al ular els pesos sense al ular Li .

72
Exemple: G = {−1, 0, 1} i volem al ular els pesos en la fórmula
Z 1
f (x)dx ≈ A−1 f−1 + A0 f0 + A1 f1
−1

Hem dit que és exa ta per polinomis de grau més petit o igual que 2, onjunt que
R R R R R
designarem per Π2 . Atès que la integral és lineal ( (f +g) = f + g, cf = c f )
2
basta tenir en ompte que és exa ta sobre una base de Π2 , per exemple 1, x, x :
Z 1
2= 1dx = A−1 + A0 + A1
−1
Z 1
0= xdx = −A−1 + +A1
−1
Z 1
2
= x2 dx = A−1 + +A1
3 −1

1 4
Resolent aquest sistema resulta A−1 = A1 = , A0 = , i arribem a la fórmula de
3 3
Simpson :
1
1
Z
f (x)dx ≈ (f−1 + 4f0 + f1 )
−1 3
Aquesta fórmula també és exa ta per polinomis de grau 3, perquè

1
1
Z
x3 dx = 0 i (−1 + 4 · 0 + 1) = 0.
−1 3
Apli a ió: Adaptem la fórmula anterior al àl ul de la integral
Z b
f (t)dt
a

en un interval [a, b] que no sigui el [−1, 1]. Fent el anvi de variable

a+b b−a
t= + x, x ∈ [−1, 1]
2 2
obtenim:
b 1
a+b b−a b−a b−a1 a+b
Z Z
f (t)dt = f( + x) dx ≈ [f (a) + 4f ( ) + f (b)]
a −1 2 2 2 2 3 2
que és la fórmula de Simpson a un interval arbitrari.

73
5.2. Interpola ió equiespaiada

Quan usem el mètode de l'apartat anterior a una xarxa de punts equiespaiats


obtenim les fórmules de Newton-Cotes. Veiem-ne ara unes mostres.

a) Fórmula dels trapezis


Prenem G = {x0 = a, x1 = b}; al ulem els pesos:
Z b
x−b 1 (x − b)2 x=b b − a
L0 (x) = , A0 = L0 (x)dx = |x=a =
a−b a a−b 2 2
Z b 2
x−a 1 (x − a) x=b b − a
L1 (x) = , A1 = L1 (x)dx = |x=a =
b−a a b−a 2 2
Obtenim la fórmula dels trapezis

b
b−a
Z
f (x)dx ≈ (f (a) + f (b))
a 2
anomenada així perquè aproximem l'àrea determinada per f per l'àrea del trapezi
del dibuix

b) Fórmula de Simpson
Prenem G = {x0 = a, x1 = (a + b)/2, x2 = b}; podem al ular dire tament els
pesos om en el as de la fórmula dels trapezis, o bé imposant que la fórmula sigui
exa ta pels polinomis de grau ≤ 2. Si ho fem arribarem a la fórmula de Simpson
que hem trobat a l'apartat pre edent :

b
b−a a+b
Z
f (x)dx ≈ [f (a) + 4f ( ) + f (b)]
a 6 2

74
) Fórmula dels 3/8
Prenem G = {x0 = a, x1 = (2a + b)/3, x2 = (a + 2b)/3, x3 = b}; al ulant els
pesos per qualsevol dels dos mètodes esmentats arribem a

Rb b−a 3 9 2a + b 9 a + 2b 3
a
f (x)dx ≈ [ f (a) + f ( ) + f( ) + f (b)]
3 8 8 3 8 3 8

Exemple: Per posar a prova les fórmules anteriors al ulem


Z 1
I= cos xdx = sin x|10 = sin 1 = . 841470984
0

a) Trapezis:
1
I ≈ [cos 0 + cos 1] = . 770151153
2
b) Simpson:

1 1
I ≈ [cos 0 + 4 cos + cos 1] = . 841772092
6 2
) 3/8:

1 3 9 1 2
I ≈ [ (cos 0 + cos 1) + (cos + cos )] = . 841604366
3 8 8 3 3
Estima ió de l'error
L'error en la interpola ió és:

n
f (n+1) (cx ) Y
f (x) − Pn (x) = (x − xi ), on cx ∈ int(x0 , . . . , xn , x)
(n + 1)! i=0

i l'error en la integra ió per interpola ió és:

b b b n
f (n+1) (cx ) Y
Z Z Z
En = f− Pn = (x − xi )dx,
a a a (n + 1)! i=0

Si |f (n+1) (x)| ≤M , x ∈ [a, b], llavors:


Z b (n+1) n Z bYn
f (cx ) Y M
| En |=| (x − xi )dx |≤ (n + 1)! |x − xi |dx
a (n + 1)! i=0 b a i=0

75
R1
Exemple: Reprenem l'exemple pre edent 0
cos xdx.
a) Trapezis

1
1 1
Z
E≤ |x(x − 1)|dx = = 0.0833333333
2! 0 12
1
L'error real que hem omès és: 0. 841470984 − 0. 770151152 = 0. 07132 < .
12
b) Simpson

1
1 1
Z
E ≤ |x(x − )(x − 1)|dx
3! 0 2
1
1
1 1 1
Z Z
2
= ( x( − x)(1 − x)dx + x(x − )(1 − x)dx)
6 0 2 1 2
2
1
1
1 3 1 3 1
Z Z
2
= ( 3
(x − x2 + x)dx + −(x3 − x2 + x)dx)
6 0 2 2 1 2 2
2
= 5. 2083 × 10−3
Observeu que hem hagut de separar l'integral en dues parts degut al valor absolut.
−4
L'error real que hem omès és: |0. 841470984 − 0. 841772092| = 3. 0111 × 10 <
−3
5. 2083 × 10 .
Fórmules de Newton-Cotes ompostes

Per obtenir una millor aproxima ió, subdividim l'interval d'integra ió [a, b] en n
subintervals [xi−1 , xi ] (x0 = a < x1 < · · · < xn = b) i apliquem a adas un les
fórmules que hem obtingut.

a) Fórmula dels trapezis omposta

b n Z xi n
xi − xi−1
Z X X
f (x)dx = f (x)dx ≈ [f (xi−1 ) + f (xi )]
a i=1 xi−1 i=1
2
b−a
i si la parti ió és equiespaiada amb h=
n
b
h
Z
f≈ [f (x0 ) + 2f (x1 ) + · · · + 2f (xn−1 ) + f (xn )]
a 2

76
b) Fórmula de Simpson omposta
Pro edint exa tament om en el as de la fórmula anterior obtenim, en la
divisió en n subintervals (es ollim n parell per apli ar Simpson a ada dos subin-
b−a
tervals) d'igual longitud h= :
n
b n/2 Z x2i n/2
h
Z X X
f= f≈ [f (x2i−2 ) + 4f (x2i−1 ) + f (x2i )]
a i=1 x2i−2 i=1
3

que desenvolupada és:

b
h
Z
f≈ [f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + 2f (x4 ) + · · · + 4f (xn−1 ) + f (xn )]
a 3

Exemple: Reprenem el àl ul de la integral


Z 1
I= cos xdx = 0. 84147
0

a) Trapezis omposta amb n=2 (tres punts): subdividint en dos subintervals


1−0 1
d'igual longitud h= = .
2 2
1
I ≈ [cos 0 + 2 cos 0.5 + cos 1] = 0.823866857 .
4
L'error real és 0.84147 − 0.823866857 = 1.7603 × 10−2 .
b) Simpson omposta amb n = 4 ( in punts): subdividint en 4 intervals
1−0 1
d'igual longitud h= = .
4 4
1 1 1 3
I ≈ [cos 0 + 4 cos + 2 cos + 4 cos + cos 1] = 0.841489382 .
6 4 2 4
L'error real és 0.84147 − 0.841489382 = −1.9382 × 10−5 .

77
Estima ió de l'error

Atès que no sempre disposarem del valor exa te, ne essitem fórmules que tin
l'error.
b−a
a) Trapezis, subdivisió en n subintervals d'igual longitud h= ; es pot
n
veure que val la següent fórmula per l'error

1
En = − (b − a)h2 f ′′ (c), c ∈ (a, b).
12
Veiem que l'error és propor ional a la longitud de l'interval (això és dolent) i
propor ional al quadrat de la longitud dels subintervals (això és bó si h < 1).
Si |f ′′ (x)|≤M , x ∈ (a, b) llavors

1
|En | ≤ (b − a)h2 M.
12
En l'exemple pre edent aquest error seria:

1 1 1
|E2 | ≤ 1 · ( )2 · 1 = = 2. 0833 × 10−2 .
12 2 48
Compareu amb l'error real que ja hem avaluat.

b−a
b) Simpson, subdivisió en n (parell) subintervals d'igual longitud h= :
n
1
En = − (b − a)h4 f (4) (c), c ∈ (a, b).
180
i si |f (4) (x)|≤M , x ∈ (a, b) llavors

1
|En | ≤ (b − a)h4 M.
180
Observem que és una fórmula de quart grau en la longitud dels subintervals h;
això ens diu que l'error disminueix més ràpidament que en la fórmula dels trapezis.

En l'exemple pre edent aquest error seria:

1 1
|En | ≤ · 1( )4 · 1 = 2. 1701 × 10−5 .
180 4
Compareu amb l'error real que ja hem avaluat.

78
5.3. Integra ió gaussiana

Hem vist om podem obtenir fórmules d'integra ió del tipus

Z b n
X
f≈ Ai fi
a i=0

que són exa tes per polinomis de grau ≤ n. Podem examinar el as més general
de la integra ió amb un pès w > 0,
Z b
f (x)w(x)dx.
a

Raonant om en el as sense pès, sobre una xarxa G = {x0 , x1 , . . . , xn }, arri-


barem a una fórmula de la forma

Z b n
X
f (x)w(x)dx ≈ Ai fi
a i=0

que serà exa ta pels polinomis de grau ≤n si (i només si)

Z b
Ai = Li (x)w(x)dx .
a

La fórmula fa intervenir n + 1 pesos Ai a n + 1 nodes, és a dir 2n + 2 onstants


en total. Potser, es ollint bé els nodes de la xarxa, poguem obtenir una fórmula
exa ta per polinomis de grau 2n + 1 (que depenen de 2n + 2 onstants).

Teorema: Sigui q un polinomi de grau n + 1, ortogonal (amb el produ te es alar


amb pes w) a tot polinomi de grau ≤ n. Llavors, si prenem om a nodes de la
xarxa els zeros de q, la fórmula enquadrada (que ja era exa ta a Πn ) és exa ta
pels polinomis de grau ≤ 2n + 1.
Prova: Si f és un polinomi de grau ≤ 2n + 1, dividint f per q obtenim

f = pq + r

amb pir polinomis de grau ≤ n. Llavors, per a tot xi que sigui zero de q,

f (xi ) = p(xi )q(xi ) + r(xi ) = 0 + r(xi ) = r(xi ).

79
Finalment, om que q és ortogonal a p i la fórmula és exa ta per a r,
Z b Z b Z b
f (x)w(x)dx = p(x)q(x)w(x)dx + r(x)w(x)dx =
a a a
Z b n
X n
X
= r(x)w(x)dx = Ai r(xi ) = Ai fi
a i=0 i=0

La fórmula així onstruïda s'anomena fórmula gaussiana.


Hi ha algun punt obs ur en la prova anterior om ara si els zeros de q(x) són
simples (altrament no tindríem n+1 nodes) i si estan a l'interval [a, b] (el mateix
omentari). Afortunadament això queda establert en el següent resultat:

.
Teorema: Si f és una fun ió no idènti ament nul la, ontínua a [a, b], ortogonal a
tots els polinomis de grau ≤ n, aleshores f anvia de signe almenys n + 1 vegades
a (a, b).
Prova: (f, 1) = 0 ⇒ f anvia de signe almenys una vegada. Suposem que f
anvia de signe r ≤ n vegades; es ollim punts ti tals que

a = t0 < t1 < t2 < · · · < tr < tr+1 = b

i suposem que f manté el signe a ada interval. El polinomi

p(x) = (x − t1 )(x − t2 ) · · · (x − tr )

també manté el signe a ada interval i f (x)p(x) té signe onstant a [a, b]; resulta

Z b
f (x)p(x)w(x) 6= 0
a

Això està en ontradi ió amb el fet que p és un polinomi de grau ≤n al qual


f és ortogonal. Per tant ha de ser r ≥ n + 1. //

Sabem que si P0 (x), P1 (x), . . . és una família triangular de polinomis podem


expressar
xk = c0 P0 (x) + · · · + ck Pk (x)
i, si els Pi (x) són també una família ortogonal, tenim:

(Pn+1 , xk ) = (Pn+1 , c0 P0 (x) + · · · + ck Pk (x)) = 0, k = 0, 1, . . . , n

80
Tot això ens diu que Pn+1 és un polinomi de grau n+1, ortogonal a 1, x, . . . , xn i
per tant a Πn . Per tant podem usar un polinomi es aient de les famílies ortogonals
i triangulars de polinomis que ja oneixem om a polinomi q del teorema.

Exemple: Una fórmula de Gauss-Legendre.


L'interval és I = [−1, 1], i el pès, w(x) = 1; la família ortogonal i triangular
és la dels polinomis de Legendre Pn . Considerem el as n = 1. Si prenem om
a xarxa els zeros de P2 obtindrem una fórmula vàlida per polinomis de grau ≤3
(= 2n + 1). Usant la fórmula de re urrèn ia dels polinomis de Legendre tenim:

3 1 1 1
P2 (x) = x2 − i G = { √ , − √ }.
2 2 3 3
Els pesos els al ulem, per exemple, imposant que la fórmula sigui exa ta pels
polinomis 1, x:
Z 1 
2= 1dx = A0 · 1 + A1 · 1



Z−11 ⇒ A0 = A1 = 1.
1 1 
0= xdx = A0 · √ − A1 · √ 
−1 3 3
Obtenim la fórmula gaussiana, exa ta per a polinomis de grau ≤ 3:
1
1 1
Z
f (x)dx ≈ f ( √ ) + f (− √ ).
−1 3 3
Vegem que la fórmula no és exa ta per polinomis de grau 4. Per exemple si
p(x) = x4 tenim
1
2 2 1 1
Z
p(x)dx = 6= = p( √ ) + p(− √ ).
−1 5 9 3 3

Exemple: Una fórmula de Gauss-Txebixev.


1
L'interval és I = [−1, 1] i el pès, w(x) = (1 − x2 )− 2 ; la família ortogonal
i triangular és la dels polinomis de Txebixev Tn . Si prenem om a xarxa els
zeros deT2 (n = 1) obtindrem una fórmula exa ta per a polinomis de grau ≤3
(= 2n + 1). Usant la fórmula de re urrèn ia tenim:

1 1
T2 (x) = 2x2 − 1 i G = { √ , − √ }.
2 2

81
Els pesos els al ulem, per exemple, imposant que la fórmula sigui exa ta pels
polinomis 1, x:
Z 1 
1
π= 1√ dx = A0 · 1 + A1 · 1


−1 1 − x2
 π
Z 1 ⇒ A0 = A1 = .
1 1 1  2
0= x√ dx = A0 · √ − A1 · √  
1−x 2 2 2
−1

Obtenim la fórmula gaussiana, exa ta per a polinomis de grau ≤ 3:


1
1 π 1 1
Z
f (x) √ dx ≈ (f ( √ ) + f (− √ )).
−1 1 − x2 2 2 2

Canvi d'interval
Suposem ara que volem trobar una fórmula d'integra ió a un interval [a, b] a partir
d'una fórmula d'integra ió a un interval [c, d]
Z d m
X
f (t)dt ≈ Ai f (ti )
c i=0

que suposem exa ta per a polinomis de grau ≤m (observeu que el pès és 1).
Si fem el anvi de variable lineal

[c, d] → [a, b]
b−a ad − bc
t 7→ x = t+
d−c d−c
onvertirem les fun ions denides a [a, b] en fun ions denides a [c, d]. Tenim:

b d m
b−a ad − bc b − a b−aX b−a ad − bc
Z Z
f (x)dx = f( t+ ) dt ≈ Ai f ( ti + )
a c d−c d−c d−c d − c i=0 d−c d−c

Exemple: Si volem al ular


Z 3
f (x)dx
0

82
el anvi de variable de l'interval [0, 3] a l'interval [−1, 1] és

3 3
x= t+
2 2
Arribem a la fórmula, exa ta per a polinomis de grau ≤3 (pre iseu perquè),

3
3 3 −1 3 3 1 3
Z
f (x)dx ≈ [f ( √ + ) + f ( √ + )]
0 2 2 3 2 2 3 2

Error en la integra ió gaussiana


Considerem una fórmula gaussiana

Z b n
X
f (x)w(x)dx ≈ Ai f (xi )
a i=0

aleshores, si f ∈ C 2n+2 [a, b] es pot veure que hi ha un punt c ∈ (a, b) tal que

b n b
f (2n+2) (c)
Z X Z
En = fw − Ai f (xi ) = [(x − x0 )(x − x1 ) · · · (x − xn )]2 w(x)dx
a i=0
(2n + 2)! a

i podem usar la fórmula, om de ostum, tant la derivada.

Exemple: Avalua ió de l'error en el àl ul de la integral


Z 1
I= cos xdx = sin x|10 = sin 1 = 0.841470984
0

usant diversos mètodes ( adas un amb la seva fórmula per l'error). Observem que
1 és ta de totes les derivades.
1
a) Trapezis: En = − (b − a)h2 f (2) (c).
12
1
Simple: |E1 | ≤ ≈ 0.083.
12
1 1
Composta, n intervals: |En | ≤ ;
12 n2
|E2 | ≤ 0.0208, |E3 | ≤ 0.0093, |E4 | ≤ 0.0052.
1
b) Simpson: En = − (b − a)h4 f (4) (c).
180

83
1
Simple: |E1 | ≤ ≈ 0.0055.
180
1
Composta, n (parell) intervals: |En | ≤ ;
180n4
|E2 | ≤ 0.00035, |E4 | ≤ 0.000022.

) Gauss (pes 1)
Fem el anvi de variable

[−1, 1] → [0, 1]
t+1
t 7→ x =
2
i, usant la fórmula de Gauss-Legendre a [−1, 1] obtenim om a fórmula d'integra ió

1 1 1 −1
t+1 1 1
Z Z √ +1 √ +1
f (x)dx = f( ) dt ≈ [f ( 32 ) + f ( 32 )]
0 −1 2 2 2

que en el nostre as és:

1 1 −1
1
Z √ +1 √ +1
cos x dx ≈ [cos( 32 ) + cos( 32 )]
0 2
Usant la fórmula de l'error resulta

cos 0 1 √1 +1 −1
Z √ +1
|E1 | ≤ (x − 3
2
)2 (x − 3
2
)2 dx = 2.3148 × 10−4
4! 0
Si volem usar 3 nodes aldrà primer deduir la fórmula orresponent de Gauss-
Legendre a [−1, 1] i després fer el anvi d'interval. Llavors al al ular

1
cos 0
Z
|E2 | ≤ (x − x0 )2 (x − x1 )2 (x − x2 )2 dx
6! 0
a fí de tar l'error.

Fórmules d'integra ió amb abs isses donades


Suposem que oneixem els valors d'una fun ió només en els punts

a ≤ x0 < x1 < · · · < xn ≤ b

84
que no són equidistants ni orresponen a abs isses de quadratura gaussiana. Volem
trobar una fórmula om ara
Z b n
X
f≈ Ai f (xi )
a i=0

Imposarem que sigui exa ta per a polinomis de grau ≤ n; denint ck


b
b
xk+1 bk+1 − ak+1
Z
k
ck = x dx = = , k = 0, 1, . . . , n
a k + 1 a k+1
s'haurà de satisfer
c0 = A0 + · · · + An
c1 = A0 x0 + · · · + An xn
c2 = A0 x20 + · · · + An x2n
···
cn = A0 xn0 + · · · + An xnn
Aquest sistema expressat en forma matri ial és MA = C on
   
A0 c0
 
1 1 ··· 1
 x0 x1 ··· xn 
 A1   c1 
M = , A= , C =
   
.  .. 
 ··· ··· ··· ···  . 

 .  . 
xn0 xn1 ··· xnn An cn

La matriu M s'anomena matriu de Van der Monde, i té per determinant


Y
det M = (xi − xj ) 6= 0
i<j

Així és que el sistema té solu ió úni a.

1 2
Exemple: x0 = 0, x1 = , x2 = , x3 = 1. Trobem una fórmula exa ta a
2 3
[0, 1] per a polinomis de grau ≤ 3. El sistema que hem de resoldre és:

1 = A0 + A1 + A2 + A3
1 1 2
= A1 + A2 + A3
2 2 3
1 1 4
= A1 + A2 + A3
3 4 9
1 1 8
= A1 + A2 + A3
4 8 27

85
1 2
La solu ió és A0 = A3 = , A1 = , A2 = 0. Obtenim la fórmula
6 3
Z 1
1 2 1 1
f ≈ f (0) + f ( ) + f (1).
0 6 3 2 6

86
6. EQUACIONS DIFERENCIALS

6.1. Deriva ió

Atès que les equa ions diferen ials empren derivades, omençarem aquest apítol
amb algunes fórmules de deriva ió numèri a. Comen em re ordant el desenvolu-
pament de Taylor perquè és una eina important en aquest ontext.

Teorema de Taylor: Si f té k+1 derivades a l'interval [a, a + h] aleshores hi


ha un punt ch ∈ (a, a + h) tal que

f ′ (a) f ′′ (a) 2 f (k) (a) k f (k+1) (ch ) k+1


f (a + h) = f (a) + h+ h +···+ h + h .
1! 2! k! (k + 1)!

La primera idea que podem usar per aproximar numéri ament la derivada
és trun ar el pro és de pas al límit que la deneix. És a dir, prenem om a
aproxima ió un dels quo ients in rementals que hi intervenen,

f (a + h) − f (a)
f ′ (a) ≈
h
amb h 6= 0 su ientment petit.

Exemple: Si f (x) = cos x, a = π/4 i h = 0.01,

f (a + h) − f (a) 0.700000476 − 0.707106781


f ′ (a) ≈ = = −0.7106305 .
h 0.01
Observem que hem perdut dues xifres signi atives.

Aquesta fórmula és exa ta per a polinomis de primer grau. De fet, també


podem deduir-la trun ant el desenvolupament de Taylor en el terme de grau 1.
Aixó ens permet obtenir una expressió per a l' error de trun ament: usant el
Teorema de Taylor amb k = 1,

h2 ′′
f (a + h) = f (a) + h f ′ (a) + f (ch ) ,
2
i aïllant f ′ (a), obtenim

f (a + h) − f (a) h ′′
f ′ (a) = − f (ch ) .
h 2

87
Exemple: Podem tar l'error de l'exemple anterior així:

h ′′
f (ch ) = 0.005 | cos ch | ≤ 0.005.
2

Fita que es pot millorar si millorem la ta del osinus. Con retament, usant el
fet que π/4 < ch < π/4 + h, tenim que | cos ch | < 0.707107. Per tant, la mida
de l'error de trun ament serà més petita que 0.00353554. Com que en aquest as
oneixem l'error real, podem omparar:
π
− sin + 0.7106305 = |−0.707106781 + 0.7106305| = 0.0035237.

4

Degut a que el terme d'error és lineal en h, diem que la fórmula és de primer


ordre. No és difí il trobar una fórmula de segon ordre, a partir de dos asos del
Teorema de Taylor amb k = 2:
h2 ′′ h3
f (a + h) = f (a) + h f ′ (a) + f (a) + f ′′′ (ch ) i
2 6
2 3
h h
f (a − h) = f (a) − h f ′ (a) + f ′′ (a) − f ′′′ (c−h ) .
2 6
Restant la segona expressió de la primera i aïllant, surt

f (a + h) − f (a − h) h2 ′′′
f ′ (a) = − (f (ch ) + f ′′′ (c−h )) .
2h 12
El terme d'error es pot simpli ar si suposem que f ′′′ [a − h, a + h].
és ontínua a
′′′
En efe te, si m i M són, respe tivament, els valors mínim i màxim que prèn f a
l'interval [a − h, a + h], resulta que
f ′′′ (ch ) + f ′′′ (c−h )
m≤ ≤M
2
i, pel teorema dels valors intermedis, existeix un c ∈ [a − h, a + h] tal que

f ′′′ (ch ) + f ′′′ (c−h )


f ′′′ (c) = .
2
Per tant,
f (a + h) − f (a − h) h2 ′′′
f ′ (a) = − f (c) .
2h 6

88
Exemple: Si f (x) = cos x, a = π/4 i h = 0.01,
f (a + h) − f (a − h) 0.700000476 − 0.714142376
f ′ (a) ≈ = = −0.7070950 .
2h 0.02
Observem que hem tornat a perdre dues xifres signi atives. Una ta per l'error
de trun ament serà
2
h ′′′ 10−4 0.714142376 −4
f (c) = | sin c| ≤ 10 < 0.0000119024.
6 6 6
També ara podem omparar amb l'error real:

|−0.707106781 + 0.7070950| = 0.0000118.

El mateix pro ediment ens serveix per a obtenir una aproxima ió de la derivada
segona amb el seu error, afegint un terme més als desenvolupaments de Taylor:

h2 ′′ h3 h4
f (a + h) = f (a) + h f ′ (a) + f (a) + f ′′′ (a) + f iv (ch ) i
2 6 24
2 3
h h h4
f (a − h) = f (a) − h f ′(a) + f ′′ (a) − f ′′′ (a) + f iv (c−h ) .
2 6 24
Sumant les dues expressións i aïllant, tenim

f (a + h) − 2f (a) + f (a − h) h2 iv iv
f ′′ (a) =

− f (c h ) + f (c −h ) .
h2 24
Quan f iv és ontínua a l'interval [a − h, a + h], raonant om abans, simpliquem
el terme d'error:

f (a + h) − 2f (a) + f (a − h) h2 iv
f ′′ (a) = − f (c).
h2 12
Exemple: Aproximem la derivada segona de f (x) = ln x en el punt a= 1
(que val −1) amb h = 0.1:
ln 1.1 − 0 + ln 0.9
f ′′ (1) ≈ = (0.095310179 − 0.105360515)102 = −1.0050336.
(0.1)2
Una ta de l'error de trun ament serà:
2
h iv 10−2 −6 0.005
f (c) = < = 0.00762.
12 12 c4 0.94
Compareu amb l'error real.

89
En totes les fórmules que hem vist, l'error de trun ament és propor ional
a una potèn ia de h. Aixó ens fa pensar que om més petit sigui h, millor serà
l'aproxima ió. Però aquestes fórmules són força inestables numèri ament i, per
tant, també al onsiderar els errors d'arrodoniment.
Aquesta inestabilitat és deguda a dos fa tors: d'un ostat, en els numeradors de
.
les fórmules es produeix una pèrdua de xifres signi atives per an el la ió, la qual
osa inueix negativament en la pre isió en in rementar l'error relatiu. D'altra
banda, en els denominadors apareixen potèn ies de h que provoquen l'ampli a ió
dels errors del numerador. Ambdós efe tes s'a entuen om més petit és h.

Exemple: La següent taula permet apre iar om evolu iona la pre isió de l'a-
proxima ió a mesura que h es va fent petit. Correspon a les diverses aproxima ions

de f (a) mitjançant els quo ients in rementals

f (a + h) − f (a)
h
per valors de h que, omençant amb h = 1, es van dividint per 2. La fun ió és

f (x) = arctan x i el punt a = 2, de manera que f ′ (a) = 1/3 = 0.33333 . . ..
f (a + h) − f (a)
k f (a + h) f (a + h) − f (a)
h
3 0.9946443898261013 0.0393277717015920 0.3146221736127360
6 0.9604868228950212 0.0051702047705119 0.3308931053127616
9 0.9559670608289888 0.0006504427044795 0.3330266646935040
13 0.9553573058872966 0.0000406877627873 0.3333141527535616
16 0.9553217043509447 0.0000050862264354 0.3333309356703744
19 0.9553172539068153 0.0000006357823060 0.3333330336481280
22 0.9553166975973600 0.0000000794728507 0.3333332955824128
25 0.9553166280586165 0.0000000099341072 0.3333333245231105
28 0.9553166193662726 0.0000000012417633 0.3333332976795650
32 0.9553166182021196 0.0000000000776103 0.3333337003327490
36 0.9553166181293599 0.0000000000048506 0.3333306938556416
40 0.9553166181248123 0.0000000000003030 0.3331520232161281
44 0.9553166181245283 0.0000000000000190 0.3342515348439041
48 0.9553166181245106 0.0000000000000013 0.3659174697238529
51 0.9553166181245093 0.0 0.0
Per raons d'espai, a la taula no es mostra h, sinó k , el número de vegades que
hem dividit 1 per la meitat, de manera que h = 2−k . Tampo es mostran tots el
resultats, sinó només alguns de signi atius.

90
Els àl uls s'han fet amb aritmèti a de 16 xifres i veiem que els millors resultats
(7 xifres exa tes) s'obtenen al voltant de k = 25. A partir d'aquí, els errors
d'arrodoniment omençan a dominar i el omportament de les aproxima ions és
erràti . Fent els àl uls amb més pre isió només s'a onsegueix retardar l'apari ió
d'aquest fenomen.

6.2. EDOs de primer ordre; introdu ió

Primer estudiem el problema de Cau hy



x′ = f (t, x)
x(t0 ) = x0
que onsta d'una equa ió diferen ial i una ondi ió ini ial. La solu ió és una fun ió
x(t) que satisfà l'equa ió i la ondi ió.

Exemple: El problema de Cau hy



x′ = 2x
x(0) = 3
té om a solu ió x(t) = 3e2t . La grà a de x(t) en el pla (t, x) s'anomena orba
solu ió.


Geomètri ament, l'equa ió diferen ial x = f (t, x) determina a ada punt del

pla (t, x) el pendent x de la orba solu ió que passa per aquest punt. Podem
visualitzar el pendent si dibuixem un petit segment a ada punt (una es ama).

2
x(t)

–2 –1 1 2
t

–1

91
Si imaginem les es ames om a guàrdies de trà que indiquen la dire ió
a ada punt, la orba solu ió és la traje tòria d'un ondu tor que segueix les
indi a ions dels guàrdies.

Exer i i: Doneu una idea de la distribu ió d'es ames de les edos x′ = 2x,
x′ = 2t i x′ = t − x.

La resolu ió numèri a del problema


x′ = f (t, x)
x(t0 ) = x0

onsisteix a donar una taula de valors aproximats de la solu ió:

t0 t1 · · · tn
x0 x1 · · · xn

on xi ≈ x(ti ) és l'aproxima ió que donem. Després, si interessen valors intermedis,


podem usar tè niques d'interpola ió.

Exemple: Com que la solu ió exa ta del problema de Cau hy

x′ = t2 − x

x(0) = 1

es al ula fà ilment,
x(t) = t2 − 2t + 2 − e−t ,
usarem aquest exemple per a ontrastar la bondat dels mètodes que anem a
estudiar. Els punts on donarem les aproxima ions seràn equiespaiats i, si el pas
és h = 0.1, els valors exa tes són:

ti 0.1 0.2 0.3 0.4 0.5


x(ti ) 0.90516 0.82127 0.74918 0.68968 0.64347

El amp de dire ions i la orba solu ió que hem dibuixat també són els d'a-
quest exemple.

92
6.3. Mètode d'Euler

A partir de x(t) obtenim una aproxima ió de x(t + h) mitjançant el polinomi de


Taylor de primer grau, x(t) + x′ (t) h. En el nostre as,

x(t + h) ≈ x(t) + (t2 − x(t)) h.

Així, si h = 0.1, a partir de t0 = 0 i x(t0 ) = 1, obtenim om aproxima ió de


x(t1 ) = x(t0 + h) el valor x1 = 1 − 0.1 = 0.9.
Ara, a partir de t1 = 0.1 i x(t1 ) ≈ 0.9, l'aproxima ió de x(t2 ) serà x2 =
0.9 + (0.01 − 0.9)0.1 = 0.811.
I així su essivament.
Posant tk = t0 + kh = 0.1k i xk ≈ x(tk ) per aquest mètode (k = 0, 1, . . .), la
fórmula que ondensa el pro és iteratiu és

xk+1 = xk + (t2k − xk )h .

A ontinua ió donem la taula dels valors al ulats amb el mètode d'Euler i els
errors reals ∆k = xk − x(tk ):

tk 0.1 0.2 0.3 0.4 0.5


xk 0.9 0.811 0.7339 0.66951 0.618559
∆k −0.005 −0.010 −0.015 −0.020 −0.025

on veiem que l'error augmenta a mesura que ens allunyem de 0.

D'un punt de vista geomètri , prenem l'es ama a t = 0 om aproxima ió de la


solu ió a l'interval [0, 0.1]. A t = 0.1, prenem la nova es ama i ens allarguem ns
t = 0.2, et .

El mètode d'Euler per a resoldre numèri ament el problema de Cau hy


x′ = f (t, x)
x(t0 ) = x0

onsisteix don s a usar la re urrèn ia

x0 = x(t0 ), xn+1 = xn + hf (tn , xn ) (n ≥ 0) .

93
Mètode d'Euler modi at
Seguim amb l'exemple anterior. En llo de prendre el pendent de l'es ama al
1
punt 0, prenem el pendent de l'es ama al punt 0 + (0.1). Així, en el as general,
2

substituïm x (tn ) per

h h h h h
x′ (tn + ) = f (tn + , x(tn + )) ≈ f (tn + , xn + f (tn , xn )).
2 2 2 2 2
La re urrèn ia serà:

h h
x0 = x(t0 ), xn+1 = xn + hf (tn + , xn + f (tn , xn )) (n ≥ 0) .
2 2

tk 0.1 0.2 0.3 0.4 0.5


xk 0.90525 0.821451 0.749463 0.690064 0.643958
∆k 0.00009 0.000182 0.000281 0.000384 0.000489

6.4. Mètode de Taylor

La idea és la mateixa que hem usat en el mètode de Euler, tallant la sèrie de


Taylor a termes més avançats que el primer. Seguim amb l'exemple

x′ = t2 − x


x(0) = 1

i onsiderem el desenvolupament de Taylor de x(t) ns h2 :


x′ (t) x′′ (t) 2
x(t + h) = x(t) + h+ h + O(h3).
1! 2!
3
Aquí |O(h )| ≤ C|h3 | i direm que el mètode és de segon ordre. Cal ulem x′ (t)
′′
i x (t). Tenim:

x′ (t) = t2 − x
x′′ (t) = 2t − x′ = 2t − t2 + x

Substituint en el desenvolupament de Taylor resulta:

1
x(t + h) ≈ x(t) + (t2 − x)h + (2t − t2 + x)h2 ,
2
fórmula que ens permet avançar un pas en la onstru ió de la solu ió.

94
L'error de trun ament en el segon terme de la sèrie de Taylor s'anomena error
de trun ament lo al. En el as de segon ordre l'error és, a ada pas,

x(3) (c) 3
E2 = h.
3!
Si partim d'un punt t0 , per arribar a T mitjançant passos de longitud h, hem
T − t0
de fer passos. Atès que els errors lo als se sumen en el pro és, l'error de
h
trun ament global és
E2 = O(h2 ).
Als errors de trun ament aldrà afegir els errors d'arrodoniment.

És lar que podem trun ar a un ordre més avançat, la di ultat rau en que
hem de al ular les derivades per introduir-les en l'expressió de x(t + h). En tot
n
as, si trunquem en el terme h , obtindrem

En = O(hn ).

Una mena de omprova ió.


Suposem que per algun dels mètodes anteriors hem resolt numèri ament un
problema de Cau hy i hem trobat la solu ió entre, diguem, 0 i 1. Aleshores podem
apli ar el mateix mètode per anar de t = 1, x = a (el valor que haguem trobat)
ns t = 0. Serà un bon senyal arribar al valor ini ial de x del qual havíem partit.
En as ontrari, aldrà fer una anàlisi més detallada de l'algorisme i, possiblement
usar un pas h més petit.

6.5. Mètode de Runge-Kutta

Essen ialment és el mateix que el mètode de Taylor però evita el àl ul de les


derivades. Considerem el problema de Cau hy


x′ = f (t, x)
x(t0 ) = x0

Tallant en el terme de segon ordre, el desenvolupament de Taylor de la solu ió és:

x′ (t) x′′ (t) 2


x(t + h) = x(t) + h+ h + O(h3).
1! 2!

95
Podem al ular les derivades x′ i x′′ a partir de f:

x′ (t) = f (t, x)
x′′ (t) = ft + fx x′ = ft + fx f

i, substituint en el desenvolupament de Taylor, tenim:

1 1 1
x(t+ h) = x+ hf + h2 (ft + fx f ) + O(h3 ) = x+ hf + h[f + hft + hfx f ]+ O(h3 ) .
2 2 2
D'altra banda,

f (t + h, x + hf ) = f (t, x) + hft (t, x) + hf (t, x)fx (t, x) + O(h2)

i, substituint a l'expressió anterior,

1 1
x(t + h) ≈ x + hf (t, x) + hf (t + h, x + hf (t, x)) ,
2 2
fórmula on no intervenen les derivades i que aprotem per es riure el pas re ursiu
del mètode de Heun :
k1 = f (tn , xn )
k2 = f (tn + h, xn + hk1 )
h
xn+1 = xn + (k1 + k2 )
2
Aquesta és una fórmula de Runge-Kutta de segon ordre, atès que hem trun at el
desenvolupament de Taylor en el terme h2 .

Trun ant la sèrie de Taylor en el terme h4 és possible obtenir les següents


fórmules per al mètode làssi de Runge-Kutta de quart ordre (RK4):

k1 = f (tn , xn )
k2 = f (tn + 21 h, xn + 21 hk1 )
k3 = f (tn + 12 h, xn + 21 hk2 )
k4 = f (tn + h, xn + hk3 )
h
xn+1 = xn + (k1 + 2k2 + 2k3 + k4 )
6

96
Exemple: Prenem un op més el problema de Cau hy

x′ = t2 − x


x(0) = 1

El primer pas del mètode de Heun és en aquest as (amb x0 = 1 i h = 0.1),


0.1
k1 = −1, k2 = 0.12 − (1 − 0.1) = −0.89 i x1 = 1 + (−1 − 0.89) = 0.9055 ,
2
que oin ideix ns la ter era xifra de imal amb la solu ió exa ta.

Mitjançant el mètode RK4 el primer pas és

k1 = −1, k2 = −0.9475, k3 = −0.950125, k4 = −0.8949875

i obtenim x1 = 0.9051627 que té sis xifres de imals exa tes.

6.6. Problemes de ontorn

Fins ara hem resolt problemes de Cau hy: edo + ondi ions ini ials. En el as
que l'edo sigui de segon ordre, aquest tipus de problemes seria així:

x′′ = f (t, x, x′ )
x(a) = α, x′ (a) = β

Un problema de ontorn és: edo + ondi ions a la frontera (de l'interval [a, b])

x′′ = f (t, x, x′ )
x(a) = α, x(b) = β

Apareix aquest problema, per exemple, en l'estudi de la orda vibrant. En


aquests problemes, tot i que f sigui una fun ió de ent, no sempre hi ha solu ió,
o bé la solu ió no és úni a.

Exemple: 
x′′ = −x
x(0) = 1, x(π) = 3
La solu ió de l'edo és x(t) = A cos t + B sin t. Si volem que x(0) = 1, ha de ser
x(t) = cos t + B sin t que no pot satisfer la segona ondi ió per ap valor de B; el
problema no té solu ió.

97
Mètode de les diferèn ies nites
Tornem al as general


x′′ = f (t, x, x′ )
x(a) = α, x(b) = β

Sele ionem nodes a = t0 < t1 < · · · < tn+1 = b equidistants (ti+1 − ti = h) i


usem aproxima ions de les derivades rellevants, om ara:

x(t + h) − x(t − h) 1 2 ′′′


x′ (t) = − h x (c)
2h 6
x(t + h) − 2x(t) + x(t − h) 1
x′′ (t) = 2
− h2 xiv (d)
h 12
Posem xi per l'aproxima ió que haguem trobat del valor real de la solu ió, x(ti ).
La tradu ió del problema usant les aproxima ions suggerides per les fórmules
anteriors és:

x0 = α 

1 xi+1 − xi−1

2
(xi+1 − 2xi + xi−1 ) = f (ti , xi , ) (i = 1, 2, . . . , n)
h 2h 

xn+1 = β

que es redueix a un sistema de n equa ions en les n in ògnites x1 , . . . , xn . Si f no


és lineal pot ser difí il de resoldre.

Examinem el as lineal

x′′ = u(t) + v(t)x + w(t)x′
x(a) = α, x(b) = β

Posant ui = u(ti), vi = v(ti ), wi = w(ti ), i reordenant el sistema obtenim:


x0 = α 

1 1

(1 + hwi )xi−1 − (2 + h2 vi )xi + (1 − hwi )xi+1 = h2 ui (i = 1, 2, . . . , n)
2 2 

xn+1 = β

que resulta ser un sistema tridiagonal.

98
Exemple: Cal ulem el valor de la solu ió del problema de ontorn

x′′ + 2x′ + 10t = 0
x(0) = 1, x(1) = 2
1 1
en el punt , usant el mètode de les diferèn ies nites, amb h= .
2 2
x0 = 1



1 
(x2 − 2x1 + x0 ) = (−2x′ − 10t)t=t ,x′ = x2 −x0 = −2 − 5 = −7
h2 1
2h 


x2 = 2
o bé 
x0 = 1  
7

x2 − 2x1 + x0 = −
4
x2 = 2

19
que dóna x1 = ≈ x( 21 ).
8
Exemple: 
x′′ + 4tx′ = 0
x(0) = 0, x(1) = 2
Usem h = 1/4, és a dir t0 = 0, t1 = 1/4, t2 = 1/2, t3 = 3/4, t4 = 1:
16(xi+1 − 2xi + xi−1 ) + 8ti (xi+1 − xi−1 ) = 0, (i = 1, 2, 3)
o bé
(2 − ti )xi−1 − 4xi + (2 + ti )xi+1 = 0, (i = 1, 2, 3)
és a dir 
x0 =0 
7 9


i=1: x0 − 4 x1 + x2 =0


4 4 


3 5

i=2: x1 − 4 x2 + x3 =0
2 2 

5 11 

i=3: x2 − 4 x3 + x4 = 0 

4 4




x4 = 2

que té per solu ió, x0 = 0, x1 = 0.81414, x2 = 1.4474, x3 = 1.8273 i x4 = 2.0.

99

Anda mungkin juga menyukai