26.04.2013 Views

MÈTODES NUMÈRICS. PRÀCTIQUES AMB MAPLE V.

MÈTODES NUMÈRICS. PRÀCTIQUES AMB MAPLE V.

MÈTODES NUMÈRICS. PRÀCTIQUES AMB MAPLE V.

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>MÈTODES</strong> <strong>NUMÈRICS</strong>.<br />

<strong>PRÀCTIQUES</strong> <strong>AMB</strong> <strong>MAPLE</strong> V.<br />

Ricard Domínguez M. Albina Puente<br />

Immaculada Gilibets


Índex<br />

1 Introducció 7<br />

1.1 PreliminarsdeCàlcul ...................... 7<br />

1.1.1 Desigualtats. ....................... 7<br />

1.1.2 Valorabsolut ....................... 8<br />

1.1.3 Teoremes notables de continuïtat i derivabilitat . . . . 9<br />

1.2 Errors ............................... 11<br />

1.2.1 Conceptesgenerals.................... 11<br />

1.2.2 Fontsd’error ....................... 13<br />

1.2.3 Errorsenlesdadesinicials................ 13<br />

1.2.4 Errors d’arrodoniment durant el càlcul . . . . . . . . . 15<br />

1.2.5 Errorsdetruncament .................. 16<br />

1.2.6 Estabilitatnumèrica ................... 16<br />

2 Interpolació polinomial 19<br />

2.1 Resumteòriciexemples..................... 19<br />

2.1.1 Introducció ........................ 19<br />

2.1.2 Elpolinomiinterpolador................. 19<br />

2.1.3 Polinomi interpolador de Lagrange . . . . . . . . . . . 21<br />

2.1.4 Polinomi interpolador de Newton . . . . . . . . . . . . 21<br />

2.1.5 Errord’interpolació ................... 23<br />

3


4 ÍNDEX<br />

2.2 Problemesresolts......................... 25<br />

2.3 ProblemesresoltsambMaple .................. 32<br />

2.4 Problemesproposats....................... 36<br />

3 Integració numèrica 41<br />

3.1 Resumteòriciexemples..................... 41<br />

3.1.1 Grau de precisió d’una fórmula de quadratura . . . . . 41<br />

3.1.2 FórmulesdeNewton-Cotes ............... 42<br />

3.1.3 Fórmulescompostes ................... 45<br />

3.2 Problemesresolts......................... 49<br />

3.3 ProblemesresoltsambMaple .................. 55<br />

3.4 Problemesproposats....................... 66<br />

4 Equacions diferencials ordinàries de 1er. ordre. 71<br />

4.1 Resumteòriciexemples...................... 71<br />

4.1.1 Definicionsbàsiques ................... 71<br />

4.1.2 Resolució numèrica d’equacions diferencials de 1er.<br />

ordre ........................... 73<br />

4.1.3 MètodesdeTaylor..................... 75<br />

4.1.4 MètodesdeRunge-Kutta................. 78<br />

4.2 Problemesresolts. ........................ 80<br />

4.3 ProblemesresoltsambMaple................... 92<br />

4.4 Problemesproposats........................ 98<br />

5 Zeros de funcions 101<br />

5.1 Resumteòriciexemples.....................101<br />

5.1.1 Introducció ........................101<br />

5.1.2 Mètodedelabisecció ..................102<br />

5.1.3 MètodedeNewton-Raphson...............104


ÍNDEX 5<br />

5.1.4 Mètodedelasecant ...................107<br />

5.1.5 Mètode del punt fix ...................107<br />

5.1.6 Equacionspolinòmiques .................111<br />

5.2 Problemesresolts.........................113<br />

5.3 ProblemesresoltsambMaple ..................128<br />

5.4 Problemesproposats.......................137<br />

6 Sistemes d’equacions lineals 141<br />

6.1 Introducció ............................141<br />

6.2 Resoluciódesistemestriangulars ................142<br />

6.3 MètodedeGauss.........................142<br />

6.4 Descomposició LU ........................147<br />

6.5 Mètodesiteratius.........................150<br />

6.5.1 Convergència dels mètodes iteratius . . . . . . . . . . 151<br />

6.5.2 MètodedeJacobi.....................153<br />

6.5.3 MètodedeGauss-Seidel .................155<br />

6.6 Problemesresolts.........................157<br />

6.7 ProblemesresoltsambMaple ..................162<br />

6.8 Problemesproposats.......................173<br />

7 Valors i vectors propis. 177<br />

7.1 Resumteòriciexemples......................177<br />

7.1.1 Definicionsbàsiquesipropietats. ............177<br />

7.1.2 Càlcul numèric de valors i vectors propis. . . . . . . . 180<br />

7.1.3 Mètodedelapotència...................182<br />

7.1.4 Mètodedelapotènciainversa. .............184<br />

7.1.5 Mètode de la potència desplaçada. . . . . . . . . . . . 186<br />

7.2 Problemesresolts. ........................187


6 ÍNDEX<br />

7.3 ProblemesresoltsambMapleV..................196<br />

7.4 Problemesproposats........................208<br />

A Introducció al MapleV. 211<br />

A.1 Qüestionsgenerals.........................211<br />

A.2 Càlculsaritmètics.........................212<br />

A.2.1 Operacionsbàsiques....................212<br />

A.2.2 Càlculsexactesiaproximats. ..............213<br />

A.3 Expressions ............................214<br />

A.4 Funcions. .............................215<br />

A.5 Estructuresdedades.......................221<br />

A.6 Equacions, inequacions i sistemes d’equacions . . . . . . . . . 226<br />

A.7 LlibreriesdeMaple. .......................228<br />

A.8 ExemplesambMapleV .....................235<br />

B Solució dels problemes proposats 247<br />

B.1 Interpolació............................247<br />

B.2 Integraciónumèrica........................248<br />

B.3 Equacionsdiferencialsordinàries.................250<br />

B.4 Zerosdefuncions.........................253<br />

B.5 Sistemesd’equacionslineals...................255<br />

B.6 Valorsivectorspropis.......................257<br />

Bibliografia 258


Capítol 1<br />

Introducció<br />

1.1 Preliminars de Càlcul<br />

1.1.1 Desigualtats.<br />

Definició 1.1 Direm que a ≤ b ⇔ b − a ≥ 0.<br />

Definició 1.2 Direm que a0.<br />

Propietats 1.1 Apartirdeladefinició anterior es dedueixen les següents<br />

propietats:<br />

(a) a


8 Cap. 1 Introducció<br />

Exemple 1.1 f(x) =lnx és una funció creixent en el seu domini D =<br />

(0, +∞). pertant:<br />

(∀x, y ∈ D) (x ≤ y ⇒ ln x ≤ ln y)<br />

Exemple 1.2 f(x) =e −x és una funció decreixent en el seu domini R, per<br />

tant:<br />

(∀x, y ∈ R) ¡ x ≤ y ⇒ e −x ≥ e −y¢<br />

Exemple 1.3 f(x) =x 2 és una funció creixent per a x>0 iésdecreixent<br />

per a x


Ricard Dominguez, Imma Gilibets, M. Albina Puente 9<br />

¯<br />

(b) ¯<br />

2x<br />

¯<br />

2 ¯<br />

− 3x +1 ¯<br />

2x − 1 ¯ amb 2 ≤ x ≤ 3<br />

a) Aplicant les propietats del valor absolut, obtenim:<br />

¯<br />

¯<br />

¯ ¯<br />

¯<br />

(1 + sin x)n¯<br />

¯<br />

¯<br />

¯ 1+n ¯ = |1+sinx| . ¯<br />

n ¯<br />

¯1+n¯<br />

< |1+sinx| ≤ 1+|sin x| ≤ 2<br />

b) Per a la segona expressió definim f(x) = 2x2 − 3x +1<br />

en I =[2, 3].Calculem<br />

2x − 1<br />

la seva derivada :<br />

A partir d’aquest fet deduïm que:<br />

És a dir:<br />

f 0 (x) =1> 0 ⇒ f(x) és creixent<br />

2 ≤ x ≤ 3 ⇒ f(2) ≤ f(x) ≤ f(3)<br />

2 ≤ x ≤ 3 ⇒ 1 ≤ f(x) ≤ 2<br />

I a partir d’aquí tenim la fita que buscàvem:<br />

2 ≤ x ≤ 3 ⇒ |f(x)| ≤ 2<br />

1.1.3 Teoremes notables de continuïtat i derivabilitat<br />

Teorema 1.1 (de Bolzano)<br />

¾<br />

f :[a, b] → R contínua<br />

⇒∃α ∈ (a, b) | f(α) =0<br />

f(a) · f(b) < 0<br />

Exemple 1.5 Trobeu un interval en el qual es pugui assegurar l’existència<br />

d’una solució de l’equació x − sin x − 1=0.<br />

Si fem una gràfica de la funció tindrem una idea aproximada d’on es troben


10 Cap. 1 Introducció<br />

les arrels:<br />

Comprovem ara les hipòtesis del teorema de Bolzano a l’interval I=[ π<br />

2 , π].<br />

⎫<br />

⎬<br />

f(x) =x − sin x − 1 contínua en I<br />

f( π<br />

2 ) < 0<br />

⎭<br />

f(π) > 0<br />

π ⇒∃α ∈ ( 2 , π) tal que f(α) =0<br />

Per tant, podem assegurar que a l’interval I existeix una solució de l’equació.<br />

Teorema 1.2 (de Weierstrass)<br />

fcontínuaen[a,b]⇒∃ max f(x) i ∃ min<br />

x∈[a,b] x∈[a,b] f(x)<br />

Exemple 1.6 Trobeu els extrems absoluts de la funció f(x) =x 2 − 4 a<br />

l’interval [−1, 1].<br />

La funció f(x) =x 2 −4 és contínua en [−1, 1], llavors existirà màxim i mínim<br />

absolut dins de l’interval.<br />

Començarem per trobar els candidats:<br />

• Punts crítics de l’obert (−1, 1):<br />

— f 0 (x) =0: 2x =0⇒ x =0∈ (−1, 1)


Ricard Dominguez, Imma Gilibets, M. Albina Puente 11<br />

— @f 0 (x): no hi ha candidats<br />

• Extrems de l’interval: x = −1, x=1<br />

• Avaluació de les imatges: f(0) = −4<br />

f(−1) = −3<br />

f(1) = −3<br />

Per tant, el màxim absolut és -3 i es troba en els punts x = −1 i x =1. El<br />

mínim absolut és -4 i es troba en x =0. Això ho podem observar si fem la<br />

gràfica de la funció i ens restringim a l’interval [−1, 1]:<br />

Teorema 1.3 (de Rolle)<br />

f contínua en [a, b]<br />

f derivable en (a, b)<br />

f(a) =f(b)<br />

⎫<br />

⎬<br />

⎭ ⇒∃α ∈ (a, b) | f 0 (α) =0<br />

Corol.lari 1.1 Sigui f(x) derivable en (a, b) i suposem que f 0 (x) =0té n<br />

solucions en (a,b). Aleshores, f(x) =0en té, com a màxim, n+1.<br />

1.2 Errors<br />

1.2.1 Conceptes generals<br />

Definició 1.6 Sigui x una aproximació del valor exacte x d’una magnitud.<br />

Aleshores, definim l’error absolut comès per x com<br />

ea(x) =|x − x|


12 Cap. 1 Introducció<br />

il’error relatiu comès per x com<br />

er(x) = ea(x)<br />

|x|<br />

si x 6= 0.<br />

L’error relatiu expressa l’error com una fracció de |x|, per això està relacionat<br />

amb l’error percentual. Per exemple, si .er(x) < 0.02, aleshoresea(x) <<br />

0.02 |x|, ésadir,x s’aproxima a x dintre del 2%.<br />

De manera més general, es defineix el percentatge d’error com l’error<br />

relatiu multiplicat per 100: 100er(x)<br />

Si coneixem una aproximació x d’un nombre desconegut x iestéunafita<br />

superior de l’error absolut, és a dir, un nombre ε tal que<br />

ea(x) ≤ ε<br />

aleshores, es té un interval de confiança o interval de precisió per a x,<br />

x ∈ [x − ε , x + ε]<br />

Recíprocament, si es coneix un interval de confiança per a x, x ∈ [a, b],<br />

aleshores x = a+b<br />

2 és la millor aproximació de x que tenim i el seu error<br />

absolut es pot afitar per<br />

ea(x) ≤<br />

b − a<br />

2<br />

Decimals exactes i xifres significatives<br />

Sigui x una aproximació d’un nombre real x.<br />

• Direm que x aproxima x amb t decimals exactes si<br />

|x − x| ≤ 1<br />

× 10−t<br />

2<br />

(1.1)<br />

Això s’expressa, encara que no sigui estrictament cert, dient que x i x<br />

coincideixen en les t primeres xifres decimals.<br />

• Direm que x aproxima x amb t xifres significatives si<br />

|x − x|<br />

|x|<br />

1<br />

≤ × 10−t+1<br />

2<br />

Exemple 1.7 Donats el nombre x = .001234 i l’aproximació x = .001256


Ricard Dominguez, Imma Gilibets, M. Albina Puente 13<br />

(a) |x − x| = .000022 = .22×10−4 ens diu que tenim una aproximació<br />

amb 4 decimals exactes.<br />

|x − x|<br />

(b)<br />

|x| = .1751592 ...× 10−1 ens assegura que tenim una aproximació<br />

amb dues xifres significatives.<br />

Observem que la condició (1.1) no sempre assegura que x i x coincideixin en<br />

les t primeres xifres decimals, per exemple, siguin a =2.9999 i a =3.0000,<br />

aleshores<br />

|a − a| = .0001 = .1 × 10 −3<br />

Podem afirmar que tenim tres decimals exactes, encara que el nombre i la<br />

seva aproximació no coincideixin en cap dígit.<br />

1.2.2 Fonts d’error<br />

Les fonts d’error en la resolució numèrica d’un problema es poden classificar<br />

en:<br />

(a) Errors en les dades inicials<br />

(b) Errors d’arrodoniment durant el càlcul.<br />

(c) Errors de truncament.<br />

(d) Errors en la construcció del model matemàtic: Són conseqüència<br />

de les simplificacions que es fan quan es descriu matemàticament<br />

un fenomen real.<br />

Des d’un punt de vista numèric, ens interessen principalment els errors del<br />

tipus (a), (b) i (c).<br />

1.2.3 Errors en les dades inicials<br />

Poden ser deguts a mesuraments incorrectes, pel fet que les dades provinents<br />

d’experiments depenen de la precisió dels aparells utilitzats, o bé perquè en<br />

introduir dades inicials correctes es produeix un arrodoniment.<br />

Representació de nombres en punt flotant<br />

Tot nombre real x (x 6= 0)pot representar-se en una base natural b ≥ 2 en<br />

la forma<br />

x = anb n + an−1b n−1 + ···+ a1b + a0 + a−1b −1 + a−2b −2 + ···


14 Cap. 1 Introducció<br />

amb aj ∈ Z , 0 ≤ aj


Ricard Dominguez, Imma Gilibets, M. Albina Puente 15<br />

1.2.4 Errors d’arrodoniment durant el càlcul<br />

Si bé l’aritmètica de punt flotant és la més eficient per a les necessitats<br />

del càlcul numèric, produeix unes propietats que poden ser diferents de<br />

les propietats amb nombres exactes. Els casos més conflictius de pèrdua de<br />

precisió es donen quan operem amb nombres molt grans i molt petits alhora,<br />

o bé quan calculem diferències de quantitats molt semblants. Vegem-ne<br />

alguns casos:<br />

• Cal tenir en compte que per a sumar dos nombres, primer es redueixen<br />

al mateix exponent, s’operen i després s’arrodoneix.<br />

Per exemple, amb p =4:<br />

i) 0.3467·10 2 +0.4125 · 10 2 =0.7592 · 10 2<br />

ii) 0.3467·10 2 +0.4125·10 −3 =(0.3467 + 0.000004125) · 10 2 =0.3467·10 2<br />

En el segon cas, la suma no canvia malgrat haver sumat un nombre<br />

diferent de zero.<br />

• La suma no és associativa, perquè s’arrodoneix a cada operació. Per<br />

exemple, siguin<br />

a =0.1234567 · 10 0 , b =0.4711325 · 10 4 , c = −0.4711325 · 10 4<br />

i suposem que treballem amb aritmètica de punt flotant amb 4 dígits.<br />

Aleshores,<br />

Per tant<br />

a +(b + c) =a +0=0.1235<br />

(a + b)+c =(0.1235 · 10 0 +0.4711 · 10 4 ) − 0.4711 · 10 4 =0<br />

(a + b)+c 6= a +(b + c)<br />

• El producte exacte de dos nombres amb p dígits requereix 2p dígits,<br />

que són arrodonits a p.<br />

Per exemple, considerem una màquina que treballa amb 4 xifres decimals<br />

i talla o arrodoneix. Hi tenim dues dades:<br />

a =0.2345 · 10 5 , b =0.5432 · 10 −2<br />

Aleshores, ab = 0.1273804 · 103 ,<br />

flT,4(ab) = 0.1273 · 103 (s’ha comès un error de 0.0804) ,<br />

flA,4(ab) = 0.1274 · 103 (s’ha comès un error de 0.0196) .<br />

Observem que l’error en la representació per truncament és més gran<br />

que en la representació per arrodoniment.


16 Cap. 1 Introducció<br />

• La divisió d’un resultat amb punt flotant per un nombre molt petit (o<br />

la multiplicació per un de molt gran) dóna un error absolut molt gran.<br />

Si r és el nombre que ha estat representat per r + e ,ésclarquesi<br />

volem calcular r<br />

igual a e<br />

d<br />

on d és petit obtindrem un error aproximadament<br />

d<br />

r<br />

Si d és prou petit, aquest quocient pot ser més gran que d .<br />

• La resta de nombres molt semblants dóna un error relatiu molt gran.<br />

Per exemple,<br />

Suposem que els dos nombres x1 i x2 s’expressen<br />

fl(x1) =0.d1d2...dpαp+1...αk × 10 q<br />

fl(x2) =0.d1d2...dpβ p+1...β k × 10 q<br />

Aleshores, la resta x1 − x2 es representarà com<br />

fl(fl(x1) − fl(x2)) = 0.σp+1...σk × 10 q−p<br />

i només tindrem k−p xifres significatives i qualsevol càlcul posterior ja<br />

no en podrà donar més. Aquesta pèrdua de xifres correctes es coneix<br />

com a cancel.lació.<br />

1.2.5 Errors de truncament<br />

Molts mètodes numèrics consisteixen en generar successions que tendeixen<br />

a la solució del problema quan el nombre de termes de la successió tendeix<br />

ainfinit. Quan un procés infinit o de pas al límit és tallat després d’un<br />

nombre finit de passos es produeix un error, propi del mètode, anomenat<br />

error de truncament. Per exemple, quan una sèrie infinita és substituïda<br />

per sumes parcials o quan una derivada és aproximada per un quocient de<br />

diferències.<br />

1.2.6 Estabilitat numèrica<br />

Hi ha situacions on un petit error inicial es propaga molt i s’obté un resultat<br />

que difereix del resultat real molt més que la diferència inicial. D’això se’n<br />

diu inestabilitat.<br />

Un cas típic d’inestabilitat són certs sistemes lineals anomenats mal condicionats.<br />

La solució d’un sistema 2 × 2 correspon, geomètricament, a la<br />

intersecció de dues rectes del pla. Si les dues rectes són paral·leles o bé<br />

coincideixen o bé no es tallen mai. En el primer cas hi ha infinites solucions,<br />

mentre que en el segon no hi ha solució. En els dos casos, les dues files de


Ricard Dominguez, Imma Gilibets, M. Albina Puente 17<br />

la matriu del sistema són linealment dependents i, per tant, la matriu no és<br />

invertible.<br />

Si les dues rectes són ”quasi paral·leles”, aleshores hi haurà solució única,<br />

però movent molt poc una de les rectes, el punt d’intersecció (la solució) es<br />

desplaçarà molt. Per exemple, el sistema,<br />

µ 1 2<br />

0.499 1.001<br />

µ x<br />

y<br />

<br />

=<br />

µ 3<br />

1.5<br />

té solució x = y =1. Si canviem lleugerament la matriu, el sistema<br />

µ µ µ <br />

1 2 x 3<br />

=<br />

0.5 1.001 y 1.5<br />

té per solució x =3,y=0que difereix molt més de la solució anterior que<br />

la pertorbació soferta per la matriu.<br />

Així doncs, quan es decideix utilitzar un mètode numèric determinat cal<br />

tenir en compte tots els factors possibles, com són els errors d’arrodoniment<br />

produïts per les operacions que comporta el mètode, el seu error de<br />

truncament (si en té) i la seva estabilitat numèrica.


18 Cap. 1 Introducció


Capítol 2<br />

Interpolació polinomial<br />

2.1 Resum teòric i exemples<br />

2.1.1 Introducció<br />

L’aproximació de funcions constitueix un problema per a ésser estudiat per<br />

sí mateix i és el primer pas per a resoldre’n altres de més complexos. En<br />

aquest capítol ens centrarem en la interpolació polinomial, que és una eina de<br />

primer ordre dins dels Mètodes Numèrics, especialment pel que fa referència<br />

alaintegracióialaderivaciónumèrica,aixícomalaresoluciód’equacions<br />

diferencials.<br />

Veurem com, a partir de la interpolació polinomial, podem aproximar funcions<br />

definides explícitament, funcions tabulades per a certs valors de la<br />

variable independent, o funcions de les quals no es coneix la seva forma<br />

explícita i que no es poden obtenir per mètodes analítics, i amb les quals<br />

haurem de treballar amb una sèrie de valors coneguts.<br />

2.1.2 El polinomi interpolador<br />

Donats els punts (xk,f(xk)), k=0,...,n, xk 6= xj, k6= j, anomenem interpolació<br />

polinomial a la determinació d’un polinomi P (x) de grau ≤ N tal<br />

que: P (xk) =f(xk), k=0,...,n<br />

Davant d’aquest fet ens fem les següents preguntes:<br />

i. Existirà P (x)?. Serà únic?<br />

ii. És P (x) una bona aproximació d’f(x) en els punts on no<br />

coincideix?<br />

19


20 Cap. 2 Interpolació polinomial<br />

Existència i unicitat del polinomi interpolador<br />

Teorema 2.1 Siguin (x0,y0), ...,(xn,yn) amb xk 6= xj,k 6= j. Aleshores<br />

existeix un únic polinomi de grau ≤ n, Pn(x), talquePn(xk) =yk,k =<br />

0,...,n.<br />

Exemple 2.1<br />

1. Trobeu un polinomi de grau 3 en la variable x que passi pels punts<br />

(0, 0), (1, 1), (2, 3), (−1, 0)<br />

2. N’hi ha algun de grau 4?.<br />

a)Donats 4 punts, sabem que existirà un únic polinomi interpolador de grau<br />

≤ 3.<br />

Considerem P3(x) =a0 + a1x + a2x 2 + a3x 3 . El nostre problema és determinar<br />

els seus coeficients. Si ho fem a partir de la definició de polinomi<br />

interpolador, haurem d’imposar les següents condicions:<br />

• P (0) = 0 ⇒ a0 =0<br />

• P (1) = 1 ⇒ a0 + a1 + a2 + a3 =1<br />

• P (2) = 3 ⇒ a0 +2a1 +4a2 +8a3 =3<br />

• P (−1) = 0 ⇒ a0 − a1 + a2 − a3 =0<br />

Obtenim un sistema lineal de 4 equacions i 4 incògnites, de rang=4 i, per<br />

tant, amb solució única:<br />

a0 =0, a1 = 1<br />

2 , a2 = 1<br />

2 , a3 =0<br />

Així doncs, el polinomi serà: P3(x) = 1 1<br />

x +<br />

2 2 x2 que, en aquest cas, és de<br />

grau 2.<br />

b) Considerem P4(x) =a0+a1x+a2x 2 +a3x 3 +a4x 4 . D’imposar les condicions<br />

obtenim:<br />

• P (0) = 0 ⇒ a0 =0<br />

• P (1) = 1 ⇒ a0 + a1 + a2 + a3 + a4 =1<br />

• P (2) = 3 ⇒ a0 +2a1 +4a2 +8a3 +16a4 =3<br />

• P (−1) = 0 ⇒ a0 − a1 + a2 − a3 + a4 =0


Ricard Dominguez, Imma Gilibets, M. Albina Puente 21<br />

Obtenim ara un sistema lineal de 4 equacions i 5 incògnites, de rang=4 amb<br />

infinites solucions (un grau de llibertat):<br />

a0 =0, a1 = 1<br />

2 +2a4 ,a2 = 1<br />

2 − a4, a3 = −2a4, a4 = a4<br />

És a dir, existeixen infinits polinomis interpoladors de grau 4 en els punts<br />

indicats.<br />

2.1.3 Polinomi interpolador de Lagrange<br />

Donats (x0,y0), ...,(xn,yn) amb xk 6= xj,k 6= j, el polinomi interpolador de<br />

Lagrange ve donat per:<br />

Pn(x) =<br />

nX<br />

yili(x) on li(x) =<br />

i=0<br />

nQ<br />

j=0,i6=j<br />

nQ<br />

j=0,j6=i<br />

(x − xj)<br />

(xi − xj)<br />

Exemple 2.2 Calculeu el polinomi interpolador de Lagrange en els punts:<br />

(1, 0), (2, 2), (4, 12) i (5, 20).<br />

Tenim 4 punts, per tant, el polinomi interpolador serà de grau ≤ 3.<br />

P3(x) =y0l0(x)+y1l1(x)+y2l2(x)+y3l3(x)<br />

(x − 1)(x − 4)(x − 5)<br />

P3(x) =0l0(x)+2l1(x)+12l2(x)+20l3(x) =0+2<br />

(2 − 1)(2 − 4)(2 − 5) +<br />

(x − 1)(x − 2)(x − 5) − 1)(x − 2)(x − 4)<br />

12 +20(x<br />

(4 − 1)(4 − 2)(4 − 5) (5 − 1)(5 − 2)(5 − 4) = x2 − x<br />

2.1.4 Polinomi interpolador de Newton<br />

Un inconvenient del mètode de Lagrange és que, si afegim un punt més<br />

(xn+1,yn+1), a la llista anterior, per a trobar el nou polinomi interpolador<br />

hauríem de tornar a fer tots els càlculs. Aquest nou mètode permet aprofitar<br />

els càlculs anteriors per a obtenir, amb pocs més, el polinomi interpolador<br />

amb una dada més.<br />

Donats (x0,f(x0)), ...,(xn,f(xn)) amb xk 6= xj,k 6= j, el polinomi interpolador<br />

de Newton ve donat per:<br />

Pn(x) =f[x0]+f[x0,x1](x−x0)+...+f[x0,x1,...,xn](x−x0)...(x−xn−1), on


22 Cap. 2 Interpolació polinomial<br />

f[x0,x1,...,xj] = f[x1,...,xj] − f[x0,...xj−1]<br />

xj − x0<br />

A la pràctica, els coeficients del polinomi són fàcils de calcular a partir de<br />

esquemes com els que mostrem a continuació per a n =3:<br />

x0 f[x0]<br />

&<br />

f[x0,x1]<br />

% &<br />

x1 f[x1] f[x0,x1,x2]<br />

& % &<br />

f[x1,x2] f[x0,x1,x2,x3]<br />

% & %<br />

x2 f[x2] f[x1,x2,x3]<br />

& %<br />

f[x2,x3]<br />

%<br />

x3 f[x3]<br />

Exemple 2.3 Calculeu el polinomi interpolador de Newton en els punts:<br />

(1, 0), (2, 2), (4, 12) i (5, 20).<br />

Construïm la taula de diferències dividides:<br />

1 0<br />

&<br />

f[x0,x1] =2<br />

% &<br />

2 2 f[x0,x1,x2] =1<br />

& % &<br />

f[x1,x2] =5 f[x0,x1,x2,x3] =0<br />

% & %<br />

4 12 f[x1,x2,x3] =1<br />

& %<br />

f[x2,x3] =8<br />

%<br />

5 20<br />

El polinomi interpolador serà:<br />

P3(x) = f[x0]+f[x0,x1](x − x0)+f[x0,x1,x2](x − x0)(x − x1)+<br />

f[x0,x1,x2,x3](x − x0)(x − x1)(x − x2) =<br />

= 1+2(x−1) + (x − 1)(x − 2) + 0(x − 1)(x − 2)(x − 4) = x 2 − x


Ricard Dominguez, Imma Gilibets, M. Albina Puente 23<br />

Exemple 2.4 Calculeu el polinomi interpolador de Newton en els punts:<br />

(0, 3), (1, 0), (2, 2), (4, 12) i (5, 20).<br />

Podem aprofitar els càlculs anteriors, només cal afegir el nou punt (0, 3) :<br />

1 0<br />

&<br />

2<br />

% &<br />

2 2 1<br />

& % &<br />

5 0<br />

% & % &<br />

4 12 1 3<br />

40<br />

& % & %<br />

8 − 3 40<br />

% & %<br />

5 20 23<br />

20<br />

& %<br />

17<br />

5<br />

%<br />

0 3<br />

El polinomi interpolador serà:<br />

P4(x) = f[x0]+f[x0,x1](x − x0)+f[x0,x1,x2](x − x0)(x − x1)+<br />

f[x0,x1,x2,x3](x − x0)(x − x1)(x − x2)+<br />

f[x0,x1,x2,x3,x4](x − x0)(x − x1)(x − x2)(x − x3) =<br />

= 3<br />

40 x4 − 9<br />

10 x3 + 187<br />

40 x2 − 137<br />

x +3<br />

20<br />

2.1.5 Error d’interpolació<br />

Sigui f ∈ C n+1 ((a, b)) i siguin xi ∈ (a, b), i = 0,...,n, n +1 abscisses<br />

de l’interval. Si Pn(x) és el polinomi interpolador d’f(x) en els punts<br />

(x0,f(x0)), ...,<br />

(xn,f(xn)) i x ∈ (a, b), aleshores:<br />

en(x) =f(x)−Pn(x) = f (n+1) (ξ(x))<br />

(x−x0)...(x−xn), ξ(x) ∈ hx0,...,xn,xi .<br />

(n +1)!<br />

on hx0,...,xn,xi és el mínim interval que conté x, x0,x1,...,xn.


24 Cap. 2 Interpolació polinomial<br />

Aquesta fórmula, en el cas de fer servir el polinomi interpolador de Newton,<br />

és equivalent a:<br />

en(x) =f(x) − Pn(x) =f[x0,x1,...,xn,x](x − x0)...(x − xn)<br />

Exemple 2.5 Sabent que e 0 =1,e 0.1 =1.105171 i e 0.2 =1.2214028<br />

(a) Aproximeu e 0.14<br />

(b) Doneu una fita de l’error comès<br />

a) Calculem en primer lloc el polinomi interpolador de Lagrange de f(x) =<br />

e x en els punts (0, 1), (0.1, 1.105171) i (0.2, 1.2214028).<br />

P2(x) =y0 l0(x)+y1 l1(x)+y2 l2(x).<br />

(x − 0.1)(x − 0.2)<br />

(x − 0)(x − 0.2)<br />

P2(x) =1· +1.105171 ·<br />

+1.2214028 ·<br />

(0 − 0.1)(0 − 0.2) (0.1 − 0)(0.1 − 0.2)<br />

(x − 0)(x − 0.1)<br />

(0.2 − 0)(0.2 − 0.1) =0.55304x2 +0.996406x +1<br />

Avaluem aquest polinomi en x =0.14 i obtindrem l’aproximació d’e 0.14. .<br />

e 0.14 ' P2(0.14) = 1.150336424<br />

Si fem els càlculs amb la calculadora obtenim e 0.14 =1.150273799<br />

Per tant, l’error comès serà :<br />

e2(0.14) = ¯ ¯e 0.14 − P2(0.14) ¯ ¯ =6.27 × 10 −5<br />

b) Si fem servir la fórmula de l’error d’interpolació, en el nostre cas obtenim:<br />

¯<br />

¯f<br />

|f(0.14) − P2(0.14)| = ¯<br />

000<br />

¯<br />

(ξ)<br />

¯<br />

(0.14 − 0)(0.14 − 0.1)(0.14 − 0.2) ¯<br />

3!<br />

¯<br />

on ξ ∈ h0, 0.1, 0.2, 0.14i, f(x) =e x i f 000 (x) =e x<br />

Per tant, tenint en compte que ξ ∈ [0, 0.2] i que la funció e x és creixent, és<br />

adir,e ξ ≤ e 0.2 , deduïm:<br />

e2(0.14) =<br />

¯<br />

e<br />

¯<br />

ξ<br />

¯<br />

(0.14 − 0)(0.14 − 0.1)(0.14 − 0.2) ¯<br />

3! ¯ =5.6 × 10−5e ξ ≤<br />

≤ 5.6 ××10 −5 e 0.2 ' 6.83 × 10 −5


Ricard Dominguez, Imma Gilibets, M. Albina Puente 25<br />

2.2 Problemes resolts<br />

Problema 2.1 Aproximeu log 4:<br />

(a) Utilitzant interpolació lineal a partir de log 3 = 0.4771212 i<br />

log 5 = 0.69897.<br />

(b) Utilitzant interpolació parabòlica a partir de log 3 = 0.4771212,<br />

log 4.5 =0.6532125 i log 5 = 0.69897.<br />

(c) Calculeu en cada cas una fita de l’error i compareu-la amb el valor<br />

que dóna la calculadora.<br />

a) Hem de trobar el polinomi interpolador de la funció f(x) = logx en<br />

els punts (3, 0.4771212) i(5, 0.69897). Si ho fem a partir del polinomi de<br />

Newton obtenim:<br />

3 f[x0] =0.4771212<br />

5 f[x1] =0.69897<br />

&<br />

%<br />

f[x0,x1] =0.1109244<br />

P1(x) =0.4771212 + 0.1109244(x − 3) = 0.1109244x +0.144348<br />

Si ara l’avaluem en x =4, obtenim l’aproximació que ens demanen:<br />

log 4 ' P1(4) = 0.5880456<br />

b) Hem de trobar el polinomi interpolador de la funció f(x) =logx en els<br />

punts (3, 0.4771212), (4.5, 0.6532125) i (5, 0.69897). Si ho fem a partir del<br />

polinomi de Newton obtenim:<br />

3 f[x0] =0.4771212<br />

&<br />

f[x0,x1] =0.1109244<br />

% &<br />

5 f[x1] =0.69897 f[x0,x1,x2] =−0.0129396<br />

& %<br />

f[x1,x2] =0.091515<br />

%<br />

4.5 f[x2] =0.6532125<br />

P2(x) = 0.4771212 + 0.1109244(x − 3) − 0.0129396(x − 3)(x − 5) =<br />

= −0.0129396x 2 +0.2144412x − 0.049746


26 Cap. 2 Interpolació polinomial<br />

Si ara l’avaluem en x =4, obtenim l’aproximació que ens demanen:<br />

log 4 ' P2(4) = 0.6009852<br />

c) La fórmula de l’error sabem que és:<br />

¯<br />

¯f<br />

en(x) =|f(x) − Pn(x)| = ¯<br />

(n+1) ¯<br />

(ξ(x))<br />

¯<br />

(x − x0)...(x − xn) ¯ , ξ(x) ∈ hx0,...,xn,xi<br />

(n +1)!<br />

¯<br />

En el cas que ens ocupa, f(x) =logx per als dos apartats.<br />

Per a l’apartat a) tenim:<br />

¯<br />

|f(x) − P1(x)| = ¯<br />

f<br />

¯<br />

00 ¯<br />

(ξ)<br />

¯<br />

(x − 3)(x − 5) ¯<br />

2!<br />

¯ , ξ ∈ [3, 5]<br />

¯<br />

|f(4) − P1(4)| = ¯<br />

f<br />

¯<br />

00 ¯<br />

(ξ)<br />

¯<br />

(4 − 3)(4 − 5) ¯<br />

2!<br />

¯ , ξ ∈ [3, 5]<br />

f(x) =logx<br />

f 0 (x) = 1 1<br />

ln 10 x<br />

f”(x) = 1<br />

µ<br />

−<br />

ln 10<br />

1<br />

x2 <br />

¯ µ<br />

¯<br />

|f”(x)| = ¯<br />

1<br />

¯ −<br />

ln 10<br />

1<br />

x2 ¯<br />

¯¯¯<br />

= 1 1<br />

ln 10 x2 Tenint en compte que 1<br />

és decreixent podem escriure:<br />

x2 ¯<br />

|f(4) − P1(4)| = ¯<br />

1<br />

¯2!<br />

·<br />

1<br />

ln 10 ·<br />

µ<br />

− 1<br />

ξ 2<br />

<br />

¯<br />

(4 − 3)(4 − 5) ¯<br />

1<br />

¯ =<br />

2<br />

1 1<br />

· ' 0.0241274<br />

ln 10 9<br />

· 1<br />

ln 10<br />

1 1<br />

· 2 ≤<br />

ξ 2 ·<br />

Si comparem aquest resultat amb el valor que ens proporciona la calculadora,<br />

tenim que log 4 = 0.602059991 i P1(4) = 0.5880456, per tant l’error serà:<br />

|log 4 − P1(4)| =0.014014391<br />

Per l’apartat b) tenim:<br />

¯<br />

|f(x) − P2(x)| = ¯<br />

f<br />

¯<br />

000 ¯<br />

(ξ)<br />

¯<br />

(x − 3)(x − 5)(x − 4.5) ¯<br />

3!<br />

¯ , ξ ∈ [3, 5]<br />

¯<br />

|f(4) − P2(4)| = ¯<br />

f<br />

¯<br />

000 ¯<br />

(ξ)<br />

¯<br />

(4 − 3)(4 − 5)(4 − 4.5) ¯<br />

3!<br />

¯ , ξ ∈ [3, 5]


Ricard Dominguez, Imma Gilibets, M. Albina Puente 27<br />

f(x) =logx<br />

|f 000 (x)|= 1 2<br />

· ja que ξ ∈ [3, 5]<br />

ln 10 x3 Tenint en compte que 1<br />

és decreixent podem escriure:<br />

x3 ¯<br />

|f(4) − P2(4)| = ¯<br />

1<br />

¯3!<br />

·<br />

¯<br />

1 2<br />

¯<br />

·<br />

ln 10 3 · (4 − 3)(4 − 5)(4 − 4.5) ¯<br />

ξ<br />

¯<br />

≤ 1<br />

6 ·<br />

1 1 1<br />

· · ' 2.68 × 10−3<br />

ln 10 27 2<br />

1 1<br />

= ·<br />

6 ln 10<br />

2 1<br />

· 3 ·<br />

ξ 2 ≤<br />

Si comparem aquest resultat amb el valor que ens proporciona la calculadora<br />

tenim que log 4 = 0.602059991 i P2(4) = 0.6009852, per tant l’error serà:<br />

|log 4 − P2(4)| =1.07479 × 10 −3<br />

Problema 2.2 Considerem la taula de dades següent:<br />

x −2 −1 0 1 2<br />

y 1 4 11 16 a<br />

(a) Calculeu el polinomi interpolador en els quatre primers punts de<br />

la taula.<br />

(b) Quin valor ha de prendre ”a” per tal que el polinomi que interpola<br />

en els cinc punts coincideixi amb l’anterior?.<br />

a) Si fem servir el polinomi interpolador de Newton obtenim la següent taula:<br />

−2 1<br />

&<br />

3<br />

% &<br />

−1 4 2<br />

& % &<br />

7 −1<br />

% & %<br />

0 11 −1<br />

& %<br />

5<br />

%<br />

1 16<br />

A partir d’aquí, el polinomi interpolador serà:


28 Cap. 2 Interpolació polinomial<br />

P3(x) =f[x0]+f[x0,x1](x−x0)+f[x0,x1,x2](x−x0)(x−x1)+f[x0,x1,x2,x3]<br />

(x − x0)(x − x1)(x − x2)<br />

P3(x) =1+3(x+2)+2(x+2)(x+1)−1(x+2)(x+1)(x−0) = −x 3 −x 2 +7x+11<br />

b) Perquè el polinomi que interpola en els cinc punts de la taula coincideixi<br />

amb l’anterior s’haurà de verificar, per definició de polinomi interpolador,<br />

que P3(x) passi també pel cinquè punt (2,a), ésadir:<br />

a = P3(2) = −2 3 − 2 2 +7× 2+11=13<br />

Problema 2.3 Considerem els següents punts de la taula:<br />

x 1 2 3 5 6<br />

f(x) 4.75 4 5.25 19.75 36<br />

Calculeu els valors aproximats per f(3.5) utilitzant polinomis de Newton<br />

d’ordre 1, 2, 3 i 4, escollint els punts de forma adequada.<br />

Construïm la següent taula, que ens serà útil per a tots els polinomis.<br />

3 5.25<br />

&<br />

7.25<br />

% &<br />

5 19.75 2<br />

& % &<br />

5.25 0.25<br />

% & % &<br />

2 4 2.75 0<br />

& % & %<br />

8 0.25<br />

% & %<br />

6 36 1.75<br />

& %<br />

6.25<br />

%<br />

1 4.75<br />

• Comencem per determinar el polinomi d’ordre 1 a partir dels punts<br />

(3, 5.25), (5, 19.75)<br />

P1(x) =5.25 + 7.25(x − 3) = 7.25x − 16.5<br />

P1(3.5) ' 8.875


Ricard Dominguez, Imma Gilibets, M. Albina Puente 29<br />

• Determinem el polinomi d’ordre 2 a partir dels punts (3, 5.25) , (5, 19.75)<br />

i (2, 4)<br />

P2(x) =5.25 + 7.25(x − 3) + 2(x − 3)(x − 5) = 2x2 − 8.75x +13.5<br />

P2(3.5) ' 7.375<br />

• Determinem el polinomi d’ordre 3 a partir dels punts (3, 5.25), (5, 19.75),<br />

(2, 4) i (6, 36)<br />

P3(x) =5.25+7.25(x−3)+2(x−3)(x−5)+0.25(x−3)(x−5)(x−2) =<br />

0.25x 3 − 0.5x 2 − x +6<br />

P3(3.5) ' 7.09375<br />

• Determinem el polinomi d’ordre 4 a partir dels 5 punts<br />

P4(x) =5.25 + 7.25(x − 3) + 2(x − 3)(x − 5) + 0.25(x − 3)(x − 5)(x − 2)<br />

Observem que P4(x) =P3(x)<br />

P4(3.5) ' 7.09375<br />

Problema 2.4 Volem aproximar sin 0.34<br />

(a) Construïu el polinomi interpolador corresponent a sin 0.30 =<br />

0.29552, sin 0.32 = 0.31457 i sin 0.35 = 0.34290. Doneu una<br />

fita de l’error en aquesta aproximació.<br />

(b) Construïu el polinomi interpolador fent servir els valors de l’apartat<br />

anterior i sin 0.33 = 0.32404. Doneuunafita de l’error en<br />

aquesta aproximació.<br />

Construïm la següent taula, que serà vàlida per als dos apartats:<br />

0.3 0.29552<br />

&<br />

0.9525<br />

% &<br />

0.32 0.31454 −0.16333<br />

& % &<br />

0.94433 1.00011<br />

% & %<br />

0.35 0.32404 −0.13333<br />

& %<br />

0.943<br />

%<br />

0.33 0.32404


30 Cap. 2 Interpolació polinomial<br />

a) En aquest primer apartat considerem els punts (0.3, 0.29552), (0.32, 0.31457)<br />

i (0.35, 0.34290).<br />

El polinomi interpolador de Newton que obtenim és:<br />

P2(x) =0.29552 + 0.9525(x − 0.3) − 0.16333(x − 0.3)(x − 0.32)<br />

P2(x) =−0.1633333x 2 +1.053766667x − 0.00591<br />

A partir d’aquí podem trobar una aproximació per a sin 0.34 :<br />

sin 0.34 ' P2(0.34) = 0.3334893334<br />

La fita de l’error en aquest cas vindrà donada a partir de la fórmula:<br />

¯<br />

|f(x) − P2(x)| = ¯<br />

f<br />

¯<br />

000 ¯<br />

(ξ)<br />

¯<br />

(x − 0.3)(x − 0.32)(x − 0.35) ¯<br />

3!<br />

¯ ; ξ ∈ [0.3, 0.35]<br />

En el nostre cas f(x) =sinxifent servir que |cos ξ| ≤ 1 tenim:<br />

¯<br />

|f(0.34) − P2(0.34)| = ¯<br />

f<br />

¯<br />

000 ¯<br />

(ξ)<br />

¯<br />

(0.34 − 0.3)(0.34 − 0.32)(0.34 − 0.35) ¯<br />

3!<br />

¯ =<br />

¯<br />

= ¯<br />

cos ξ<br />

¯ 3! (0.04)(0.02)(−0.01)<br />

¯ ≤ 1.3 × 10−6<br />

b) Construïm ara el polinomi interpolador en els punts (0.3, 0.29552), (0.32, 0.31457),<br />

(0.35, 0.34290) i (0.33, 0.32404).<br />

P3(x) =0.29552 + 0.9525(x − 0.3) − 0.16333(x − 0.3)(x − 0.32)+<br />

+1.00011(x − 0.3)(x − 0.32)(x − 0.35)<br />

A partir d’aquí, podem trobar una aproximació per a sin 0.34 :<br />

sin 0.34 ' P3(0.34) = 0.3334813334<br />

La fita de l’error en aquest cas serà, fent servir que |sin ξ| ≤ 1:<br />

¯<br />

|f(x) − P3(x)| = ¯<br />

f<br />

¯<br />

0v ¯<br />

(ξ)<br />

¯<br />

(x − 0.3)(x − 0.32)(x − 0.35)(x − 0.33) ¯<br />

4!<br />

¯ , ξ ∈ [0.3, 0.35]<br />

|f(0.34) − P3(0.34)| =<br />

=<br />

¯<br />

f<br />

¯<br />

0v ¯<br />

(ξ)<br />

¯<br />

(0.34 − 0.3)(0.34 − 0.32)(0.34 − 0.35)(0.34 − 0.33) ¯<br />

4!<br />

¯<br />

¯<br />

sin ξ<br />

¯ 4! (0.04)(0.02)(−0.01)(0.01)<br />

¯ ≤ 3.33 × 10−9


Ricard Dominguez, Imma Gilibets, M. Albina Puente 31<br />

Problema 2.5 (Fenomen Runge)<br />

(a) Calculeu el polinomi interpolador de grau 10 de la funció<br />

1<br />

f(x) = prenent punts equiespaiats a l’interval [−1, 1].<br />

1+20x2 (b) Feu una representació gràfica aproximada del polinomi interpoladoridelafuncióal’interval[−1,<br />

1].<br />

a) Els punts d’interpolació, tenint en compte que h =0.2, seran:<br />

xi = −1+ih, i =0,...,10<br />

El polinomi interpolador que obtenim és:<br />

P10(x) =−178.12x 10 +0.5 × 10 −6 x 9 +400.77x 8 − 0.7 × 10 −6 x 7 − 311.58x 6 +<br />

0.38 × 10 −6 x 5 + 102.73x 4 − 0.11 × 10 −6 x 3 − 14.74x 2 +0.5 × 10 −9 x +0.99<br />

Si fem la representació gràfica de la funció i del polinomi interpolador, observem<br />

una gran diferència en els extrems de l’interval.<br />

Aquest comportament és degut a que normalment no hi ha convergència<br />

dels polinomis interpoladors Pn(x) cap a f(x) quan n →∞.<br />

Problema 2.6 (Interpolació inversa)<br />

Trobeu el valor d’x tal que f(x)=5, per a la funció f(x) donada per la següent<br />

taula:<br />

x 0 1 2 3<br />

y 1 2 4 6<br />

Partim del fet que si f(xi) =yi podem considerar una nova funció g(x) tal<br />

que g(yi) =xi.


32 Cap. 2 Interpolació polinomial<br />

A partir d’aquest fet, trobar el valor d’x tal que f(x) =5serà equivalent a<br />

trobar x = g(5).<br />

El que farem és trobar el polinomi interpolador de la funció g(y) donada per<br />

la taula:<br />

y 1 2 4 6<br />

x 0 1 2 3<br />

Així doncs, obtenim P3(y) =(y−1)− 1<br />

1<br />

(y−1)(y−2)+<br />

6 30 (y−1)(y−2)(y−4)<br />

x = g(5) ' P3(5) = 12<br />

5 =2.4<br />

2.3 Problemes resolts amb Maple<br />

Maple V permet calcular el polinomi interpolador d’una funció, tant si<br />

aquesta ve donada per una taula de valors o per la seva expressió, a partir<br />

de la instrucció:<br />

interp( [llista d’abscisses], [llista de valors], variable)<br />

Problema 2.7 Calculeu el polinomi interpolador per a la següent taula de<br />

valors:<br />

x 0 1 2<br />

y 0 1 −1<br />

Fent servir la instrucció anterior tenim:<br />

> p:=interp([0,1,2],[0,1,-1],x);<br />

p := − 3<br />

2 x2 + 5<br />

2 x<br />

Problema 2.8 Donada la funció f(x) = x<br />

1+x2 i les abscisses x0 =1,<br />

x1 =2,x2 =5,<br />

(a) Determineu el polinomi interpolador amb l’ordre interp.<br />

(b) Determineu els polinomis components del mètode de Lagrange i,<br />

a partir d’ells, el polinomi interpolador.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 33<br />

(c) Representeu gràficament la funció i el polinomi interpolador.<br />

(d) Calculeu el valor del polinomi interpolador en 4.5 i trobeu l’error<br />

comès.<br />

a) Per poder aplicar la instrucció tal com la tenim definida, necessitem<br />

calcular els valors de la funció en cada abscissa. Per a això :<br />

• Definim la funció<br />

> f:=x->x/(1+x ^2);<br />

f := x → x<br />

1+x 2<br />

• Construïm una llista a partir de les abscisses:<br />

> absc:=[1,2,5];<br />

absc := [1, 2, 5]<br />

• Calculem les ordenades aplicant la funció a la llista:<br />

> ord:=map(f,absc);<br />

ord := [ 1 2 5<br />

, ,<br />

2 5 26 ]<br />

• Calculem el polinomi interpolador:<br />

> p:=interp(absc,ord,x);<br />

p := 1<br />

130 x2 − 8 8<br />

x +<br />

65 13<br />

b) El polinomi de Lagrange serà:<br />

P2(x) =l0(x) · y0 + l1(x) · y1 + l2(x) · y2<br />

• Els polinomis components li(x) seran:<br />

> l[0]:=interp(absc,[1,0,0],x);<br />

l0 := 1<br />

4 x2 − 7 5<br />

x +<br />

4 2<br />

>l[1]:=interp(absc,[0,1,0],x);<br />

l1 := − 1<br />

3 x2 +2x− 5<br />

3<br />

>l[2]:=interp(absc,[0,0,1],x);<br />

l2 := 1<br />

12 x2 − 1 1<br />

x +<br />

4 6


34 Cap. 2 Interpolació polinomial<br />

• El polinomi interpolador l’obtenim fent:<br />

> P:=f(1)*l[0]+f(2)*l[1]+f(5)*l[2];<br />

c) >plot({f(x),p},x=1..5);<br />

P := 1<br />

130 x2 − 8 8<br />

x +<br />

65 13<br />

d)En aplicar l’ordre interp hem obtingut l’expressió:<br />

p := 1<br />

130 x2 − 8 8<br />

x +<br />

65 13<br />

No podem calcular directament p(4.5), jaquep no és una funció. Per a<br />

resoldre aquest problema tenim 2 opcions:<br />

• Substituir a l’expressió x per 4.5:<br />

> a:=subs(x=4.5,p);<br />

a := .2173076922<br />

• Transformar l’expressió en funció i avaluar-la en 4.5:<br />

> g:=unapply(p,x);<br />

> a:=g(4.5);<br />

L’error comès serà doncs:<br />

g := x → 1<br />

130 x2 − 8 8<br />

x +<br />

65 13<br />

a := .2173076922


Ricard Dominguez, Imma Gilibets, M. Albina Puente 35<br />

> error:=abs(a-f(4.5));<br />

error := .0055429863<br />

1<br />

Problema 2.9 Donada la funció f(x) = i l’interval [−2, 2], cal-<br />

1+20x4 culeu el polinomi interpolador prenent n +1punts igualment espaiats a l’interval,<br />

per a valors d’n 5 i 10. Representeu el polinomi obtingut juntament<br />

amb la funció en cada cas.<br />

Fem el procés per a n =5:<br />

• Definim la funció, l’interval, n i h:<br />

>f:=x->1/(1+20*x ^4);<br />

>a:=-2;<br />

>b:=2;<br />

>n:=5;<br />

>h:=evalf((b-a)/n);<br />

f := x →<br />

a := −2<br />

b := 2<br />

n := 5<br />

h := 0.8<br />

1<br />

1+20x 4<br />

• Construïm una llista a partir de les abscisses:<br />

>abcs:=[seq(a+i*h,i=0..n)];<br />

absc := [−2, −1.2, −0.4, 0.4, 1.2, 2]<br />

• Calculem les ordenades a partir de les abscisses anteriors:<br />

>ord:=map(f,abcs);<br />

ord : = [ 1<br />

, 0.02354492371, 0.6613756614, 0.6613756614,<br />

321<br />

0.02354492371, 0.003115264798]<br />

• Calculem el polinomi interpolador i el representem juntament amb la<br />

funció:


36 Cap. 2 Interpolació polinomial<br />

>p:=interp(abcs,ord,x);<br />

p : = −.1993815104 × 10 −9 x 5 + .1276887833x 4 + .10 × 10 −8 x 3 −<br />

−.7026073168x 2 − .10 × 10 −8 x + .7705239988<br />

>plot({f(x),p},x=-2..2);<br />

• Si repetim el procés per a n =10obtenim:<br />

2.4 Problemes proposats<br />

1. Trobeu els polinomis de grau 2 que per a 1 i -1 donin 1.<br />

2. Calculeu els polinomis interpoladors per a les taules següents:<br />

x 0 1 2<br />

y 1 −2 −3<br />

Quina relació hi ha entre ells?<br />

x 0 1 2 −1<br />

y 1 −2 −3 6


Ricard Dominguez, Imma Gilibets, M. Albina Puente 37<br />

3. Donada la taula de valors:<br />

x −1 1 2 3<br />

y 2 0 2 6<br />

calculeu el polinomi que interpola f (x) en els punts de la taula.<br />

4. D’una certa funció f (x) coneixem les dades donades per la taula següent:<br />

x 0 0.5 1 1.5 2 2.5<br />

y 1 2.119 2.910 3.945 5.20 8.695<br />

Calculeu els valors aproximats de f (1.6) amb els polinomis de graus 1, 2 i<br />

3, escollint la seqüència de punts adequada en cada cas.<br />

5. Considereu la taula de valors següent:<br />

x 1 2 4 5 6<br />

y 0 2 12 21 32<br />

(a) Calculeu f (3) de forma aproximada, utilitzant polinomis interpoladors<br />

de grau 2 i escollint els punts de forma convenient. Doneu<br />

almenys dos polinomis diferents.<br />

(b) Calculeu f (3) aproximadament mitjançant un polinomi interpolador<br />

de grau màxim.<br />

6.Donada f(x) =3xe x − 2e x ,aproximeuf(1.03) a partir del polinomi interpolador<br />

en els punts d’abscissa x0 =1, x1 =1.05 i x2 =1.07. Doneu una<br />

fita de l’error comès.<br />

7. Doneu una aproximació de ln 2 a partir de les dades: ln 1 = 0, ln 1.5 =<br />

0.40546 i ln 2.2 =0.78845. Doneu una fita de l’error comès.<br />

8. D’una certa funció f (x) coneixem les dades donades per la taula següent<br />

i volem calcular una aproximació de f(2.5)<br />

x 0 1 1.5 2 2.3 3<br />

y 1 0.149 1.010 2.321 5.20 8.12<br />

(a) Calculeu, amb la instrucció interp els polinomis interpoladors de<br />

graus 1, 2 i 3, escollint la seqüència de punts adequada en cada<br />

cas.


38 Cap. 2 Interpolació polinomial<br />

(b) Trobeu l’aproximació de f(2.5) fent sevir les instruccions subs i<br />

unapply.<br />

9. Donada la la funció f(x) =e 2x :<br />

(a) Calculeu, amb les instruccions interp i map el polinomi interpolador<br />

en els punts d’abscissa 0,1 i 2.<br />

(b) Doneu una aproximació del valor de f(1.5) fent sevir les instruccions<br />

subs i unapply.<br />

(c) Compareu el resultat anterior amb el valor real.<br />

(d) Representeu gràficament, amb la instrucció plot, la funció i el<br />

polinomi interpolador.<br />

(e) Representeu gràficament la funció abs(f(x) − P (x)) i doneu una<br />

fita de l’error comès.<br />

10. Donada la funció f(x) = 1<br />

:<br />

1+x4 (a) Calculeu el polinomi interpolador en 5, 10 i 20 punts equiespaiats<br />

de l’interval [−1, 1], fent servir les instruccions seq, map i interp.<br />

(b) Doneu una aproximació de f(0.9) a partir de les comandes subs<br />

i unapply i compareu-lo amb el valor real.<br />

(c) Representeu gràficament la funció i els polinomis interpoladors<br />

fent servir la comanda plot.<br />

11. Donada la funció f(x) =x 2 ln(x) i els següents valors del logaritme<br />

neperià<br />

x 10 10.5 11<br />

ln(x) 2.302585093 2.351375257 2.397895273<br />

(a) Calculeu el polinomi interpolador de f corresponent als punts<br />

d’abscisses x0 =10, x1 =10.5, x2 =11.<br />

(b) Trobeu l’aproximació de f(10.75) fent servir el polinomi anterior.<br />

Calculeu una fita superior de l’error comès.<br />

12. Sabent que cos 0.3 =0.95534, cos 0.32 = 0.94924 i cos 0.35 = 0.93937<br />

(a) Calculeu el polinomi interpolador en aquests punts i trobeu una<br />

aproximació de cos 0.34.<br />

(b) Doneu una fita de l’error en aquesta aproximació.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 39<br />

(c) El polinomi interpolador anterior ens serveix per trobar una aproximació<br />

de cos 0.75? Justifiqueu la resposta.<br />

13. Donada la funció f(x) =(x +1) 2 ln(x +1)a l’interval [0, 1].<br />

(a) Calculeu el polinomi interpolador de f en els punts d’abscisses<br />

0, 0.3, 1.<br />

(b) Doneu una fita de l’error a l’aproximar f(0.5) per aquest polinomi,<br />

sabent que f 000 (x) = 2<br />

x+1 .<br />

14. Trobeu una aproximació de 3√ e fent servir interpolació polinomial en els<br />

punts (0, 1), (0.2, 1.2214), (0.4, 1.4918). Doneu una fita de l’error comès.


40 Cap. 2 Interpolació polinomial


Capítol 3<br />

Integració numèrica<br />

3.1 Resum teòric i exemples<br />

La integració numèrica consisteix a donar fórmules per trobar el valor aproximat<br />

d’una integral definida, obtenint també afitacions dels errors d’aquestes<br />

aproximacions. Els mètodes que considerarem seran, principalment, de la<br />

forma:<br />

Z b<br />

nX<br />

f(x)dx = Aif(xi)+En(f) (3.1)<br />

a<br />

i=0<br />

La suma P n<br />

i=0 Ai f(xi) se’n diu fórmula de quadratura de n+1 punts; Ai<br />

són els pesos o coeficients de quadratura, xi els nodes o punts de quadratura<br />

i En(f) l’error produït en l’aproximació.<br />

Al llarg d’aquest capítol suposarem que l’interval [a, b] és finit i que f(x) no<br />

té singularitats en [a, b].<br />

3.1.1 Grau de precisió d’una fórmula de quadratura<br />

Donat un interval d’integració [a, b] in+1 nodes x0,x1,...,xn ,diremque<br />

la fórmula P n<br />

i=0 Ai f(xi) té grau de precisió m si i només si:<br />

En(x k )=0 (k =0÷ m)<br />

En(x m+1 ) 6= 0<br />

És a dir, tots els monomis (i, per tant, tots els polinomis) de grau menor o<br />

igual que m són integrats de forma exacta amb la fórmula.<br />

41


42 Cap. 3 Integració numèrica<br />

Exemple 3.1 Trobeu el grau de precisió de la fórmula de quadratura<br />

Z 1<br />

f(x)dx ≈− 2 13 5<br />

f(−1) + f(0) +<br />

9 12 36 f(2)<br />

0<br />

Prenent f(x) =1,x,x 2 ,x 3 successivament, obtenim:<br />

• f(x) =1<br />

R 1<br />

0<br />

dx = − 2<br />

9<br />

• f(x) = x<br />

R 1<br />

0<br />

xdx = − 2<br />

9<br />

• f(x) =x 2<br />

R 1<br />

0 x2 dx = − 2<br />

9<br />

• f(x) =x 3<br />

R 1<br />

0 x3 dx = − 2<br />

9<br />

13 5<br />

2 13 5<br />

f(−1) + 12f(0) + 36f(2) ⇒ 1=− 9 + 12 + 36<br />

Així doncs, el grau de precisió és 2.<br />

13 5<br />

1 2 10<br />

f(−1) + 12f(0) + 36f(2) ⇒ 2 = 9 + 36<br />

13 5<br />

1 −2 20<br />

f(−1) + 12f(0) + 36f(2) ⇒ 3 = 9 + 36<br />

13 5<br />

1 2 40 4<br />

f(−1) + 12f(0) + 36f(2) ⇒ 4 6= 9 + 36 = 3<br />

3.1.2 Fórmules de Newton-Cotes<br />

Sigui [a,b] l’interval d’integració i pn(x) el polinomi interpolador de f en els<br />

n+1 punts x0,x1,...,xn. Si pn(x) és una bona aproximació de f en [a,b],<br />

aleshores, podem esperar que<br />

Z b<br />

a<br />

f(x)dx '<br />

Z b<br />

a<br />

pn(x)dx<br />

Prenent els punts d’interpolació equiespaiats en [a,b] talsque:<br />

(<br />

xj<br />

h<br />

s’arribaalafórmula<br />

=<br />

=<br />

a + jh , (j =0,...,n)<br />

b − a<br />

n<br />

amb<br />

Z b<br />

λj =<br />

a<br />

f(x)dx ' h Xn j=0 λjf(xj) (3.2)<br />

Z n<br />

0<br />

ϕ j(t)dt =<br />

Z n<br />

0<br />

nY<br />

k=0<br />

k6=j<br />

(t − k)<br />

(j − k) dt


Ricard Dominguez, Imma Gilibets, M. Albina Puente 43<br />

que s’anomena fórmula de Newton-Cotes de n+1 punts.<br />

Els coeficients λj només depenen de n, independentment de la funció f ide<br />

l’interval [a,b].<br />

Error en les fórmules de Newton-Cotes<br />

Sigui πn(t) =t(t − 1) ...(t − n).<br />

• Si n és parell i f (n+2) (x) és contínua en [a,b], aleshores existeix un<br />

punt ξ ∈ (a, b) tal que<br />

E(f) = hn+3 f (n+2) (ξ)<br />

(n +2)!<br />

Z n<br />

0<br />

tπn(t)dt (3.3)<br />

• Si n és senar i f (n+1) (x) és contínua en [a,b], existeix un punt ξ ∈ (a, b)<br />

tal que<br />

E(f) = hn+2 f (n+1) (ξ)<br />

(n +1)!<br />

Z n<br />

0<br />

πn(t)dt (3.4)<br />

Teorema 3.1 Les fórmules de Newton-Cotes tenen grau de precisió<br />

Principals fórmules de Newton-Cotes:<br />

• n =1(Fórmula del trapezi)<br />

x0 = a, x1 = b, h = b − a<br />

Z b<br />

a<br />

f(x)dx = h<br />

h3<br />

(f(a)+f(b)) −<br />

2 12 f (2) (ξ) , (a


44 Cap. 3 Integració numèrica<br />

• n =2(Fórmula de Simpson)<br />

x0 = a, x2 = b, h = b−a<br />

2<br />

Z b<br />

a<br />

f(x)dx = h<br />

3 (f(a)+4f(x1)+f(b)) − h5<br />

90 f (4) (ξ) (a


Ricard Dominguez, Imma Gilibets, M. Albina Puente 45<br />

Z b<br />

f(x)dx =<br />

a<br />

2h<br />

8h7<br />

(7f(a)+32f(x1)+12f(x2)+32f(x3)+7f(b))−<br />

45 945 f (6) (ξ)<br />

amb a


46 Cap. 3 Integració numèrica<br />

• El polinomi interpolador en punts equiespaiats no sempre convergeix<br />

a f quan n és gran, (fenomen de Runge, veure problema 5, capítol 1).<br />

• Les fórmules de Newton-Cotes tenen coeficients λj negatius per a n<br />

gran. Això fa que es produeixin cancel.lacions i que l’error final sigui<br />

massa gran.<br />

Per aquests motius, les fórmules d’integració no solen aplicar-se sobre tot<br />

l’interval [a,b] d’integració, sinó que es divideix aquest en subintervals sobre<br />

els quals apliquem les regles anteriors.<br />

Regladelstrapeziscomposta<br />

Dividim [a,b] ennsubintervals iguals definint:<br />

(<br />

b − a<br />

h =<br />

n<br />

xj = a + jh, j =0,...,n<br />

iaproximem R b<br />

a f(x)dx mitjançant l’aplicació de la fórmula del trapezi a<br />

cada subinterval [xj−1,xj]. L’aproximació donada per la regla dels trapezis<br />

composta és<br />

Tn(f) = h<br />

2 [f(a)+2f(x1)+...+2f(xn−1)+f(b)] (3.7)<br />

Si designem per ET (f) l’error que es comet, resulta<br />

Zb<br />

a<br />

f(x)dx = Tn(f)+ET (f) =Tn(f) −<br />

(b − a)3<br />

12n 2 f (2) (ξ)<br />

Podem calcular el nombre d’intervals necessaris per tenir una precisió donada,<br />

sempre que disposem d’una cota per a la segona derivada, tenint en<br />

compte que<br />

¯ ¯<br />

on M2 =sup¯f<br />

(2) (ξ) ¯ .<br />

ξ∈[a,b]<br />

Z 1<br />

Exemple 3.3 Calculeu<br />

la regla dels trapezis.<br />

|ET (f)| ≤<br />

−1<br />

(b − a)3<br />

12n 2 M2 (3.8)<br />

xe x dx amb 3 xifres decimals exactes aplicant


Ricard Dominguez, Imma Gilibets, M. Albina Puente 47<br />

Primer hem de calcular el nombre n d’intervals que necessitem. Per a això<br />

cal trobar una cota per a f (2) sobre [-1,1]. Derivant dos cops f(x) =xe x<br />

s’obté f (2) (x) =2e x + xe x . Com que f (2) és creixent i positiva, prenem com<br />

a fita el seu valor en x =1:<br />

Aleshores, per (3.8) tenim:<br />

M2 = f (2) (1) = 3e<br />

|ET (f)| ≤ 23 2e<br />

3e =<br />

12n2 n2 Si volem obtenir 3 decimals exactes, llavors:<br />

2e 1<br />

≤<br />

n2 2 10−3 ⇒ n ≥ 104.27 ...<br />

Com que n ha de ser natural, agafem n =105. Aplicant la regla dels trapezis<br />

amb h = 2<br />

105 i xj = −1+jh, (j =0÷ 105), obtenim com a valor aproximat<br />

de la integral:<br />

Z 1<br />

xe x dx ' h<br />

⎡<br />

⎤<br />

X104<br />

⎣f(−1) + 2 f(xj)+f(1) ⎦ =0.73592325<br />

2<br />

−1<br />

j=1<br />

mentre que el valor exacte és:<br />

Z 1<br />

xe x dx = 2<br />

e =0.73575888<br />

−1<br />

Regla de Simpson composta<br />

Dividim ara [a,b] en2nsubintervals iguals definint:<br />

(<br />

b − a<br />

h =<br />

2n<br />

xj = a + jh, j =0,...,2n<br />

iaproximem R b<br />

a f(x)dx mitjançant l’aplicació de la fórmula de Simpson a<br />

cada subinterval [x2j−2,x2j]. La regla de Simpson composta vé donada per<br />

Sn(f) = h<br />

⎡<br />

⎤<br />

nX<br />

n−1 X<br />

⎣f(a)+4 f(x2j−1)+2 f(x2j)+f(b) ⎦ (3.9)<br />

3<br />

j=1<br />

Aleshores, si designem per ES(f) l’error que es comet, resulta<br />

Zb<br />

a<br />

f(x)dx = Sn(f)+ES(f) =Sn(f) −<br />

j=1<br />

(b − a)<br />

180 f (4) (ξ)h 4


48 Cap. 3 Integració numèrica<br />

Anàlogament a la fórmula dels trapezis composta, també podem calcular<br />

el nombre d’intervals necessaris per tenir una precisió donada, sempre que<br />

disposem d’una cota per a la quarta derivada, tenint en compte que<br />

¯<br />

on M4 =sup¯f<br />

ξ∈[a,b]<br />

(4) (ξ) ¯ |ES(f)| ≤<br />

(b − a)5<br />

M4<br />

(3.10)<br />

2880n4 • Observem que el nombre d’intervals sobre els que apliquem la fórmula<br />

de Simpson és n i que el nombre total de subintervals en què dividim<br />

[a,b] és2n.<br />

Z 1<br />

Exemple 3.4 Calculeu<br />

la regla de Simpson.<br />

−1<br />

xe x dx amb 3 xifres decimals exactes aplicant<br />

Anàlogament a l’aplicació de la regla dels trapezis, primer hem de determinar<br />

el nombre n d’intervals que necessitem. Derivant quatre vegades la funció<br />

f(x) =xe x ,obtenimf (4) (x) =4e x +xe x . Com que f (4) és creixent i positiva,<br />

prenem com a fita el seu valor en x =1:<br />

Aleshores, per (3.10) tenim:<br />

Per tal d’obtenir 3 decimals exactes,<br />

M4 = f (4) (1) = 5e<br />

|ES(f)| ≤ 25 e<br />

5e =<br />

2880n4 18n4 e 1<br />

≤<br />

18n4 2 10−3 ⇒ n ≥ 4.1688 ...<br />

Com que n ha de ser natural, agafem n =5. Aplicant la regla de Simpson<br />

amb h = 2<br />

10 =0.2 i xj = −1 +0.2j, (j =0÷ 10), obtenim com a valor<br />

aproximat de la integral:<br />

Z 1<br />

xe x dx ' h<br />

⎡<br />

⎣f(−1) + 4<br />

3<br />

−1<br />

5X<br />

j=1<br />

5−1<br />

f(x2j−1)+2<br />

⎤<br />

X<br />

f(x2j)+f(1) ⎦ =0.7358483676<br />

j=1<br />

mentre que el valor exacte és:<br />

Z 1<br />

xe x dx = 2<br />

' 0.7357588824<br />

e<br />

−1


Ricard Dominguez, Imma Gilibets, M. Albina Puente 49<br />

3.2 Problemes resolts<br />

Problema 3.1 Calculeu els pesos A, B, C de la fórmula de quadratura<br />

Z h<br />

−h<br />

f(x)dx ' h [Af(0) + B (f(h)+f(−h)) + C (f(2h)+f(−2h))]<br />

i trobeu el seu grau de precisió.<br />

Podem calcular els coeficients A, B, C substituint, successivament, f(x) =<br />

1,x,x 2 ,... i resolent el sistema d’equacions lineals resultant:<br />

2h =<br />

0 =<br />

2<br />

3 h3 =<br />

0 =<br />

2<br />

5 h5 =<br />

0 =<br />

hZ<br />

−h<br />

hZ<br />

−h<br />

hZ<br />

−h<br />

hZ<br />

−h<br />

hZ<br />

−h<br />

hZ<br />

−h<br />

1dx = h [A +2B +2C]<br />

xdx =0<br />

x 2 dx = h £ 2Bh 2 +8Ch 2¤<br />

x 3 dx =0<br />

x 4 dx = h £ 2Bh 4 +32Ch 4¤<br />

x 5 dx =0<br />

Simplificant les equacions obtingudes, el sistema a resoldre és:<br />

A +2B +2C =2<br />

3B +12C =1<br />

5B +80C =1<br />

la solució del qual és A = 19 17 −1<br />

,B = ,C = . La fórmula que obtenim és:<br />

15 45 90<br />

Z h<br />

∙<br />

19 17<br />

1<br />

f(x)dx ' h f(0) + (f(h)+f(−h)) −<br />

15 45 90 (f(2h)+f(−2h))<br />

¸<br />

−h<br />

⎫<br />

⎬<br />


50 Cap. 3 Integració numèrica<br />

que resulta exacta per a polinomis de grau 4. Donat que<br />

Zh<br />

−h<br />

x n dx =0 (∀n senar)<br />

també tenim exactitud per a polinomis de grau 5, però no per a polinomis<br />

de grau 6 com podem comprovar prenent f(x) =x 6 :<br />

2<br />

7 h7 =<br />

Zh<br />

−h<br />

x 6 ∙<br />

17 ¡ 6 6<br />

dx 6= h h +(−h)<br />

45<br />

¢ − 1 ¡ 6 6<br />

(2h) +(−2h)<br />

90<br />

¢¸<br />

= − 2<br />

3 h7<br />

Així doncs, el grau de precisió de la fórmula és 5.<br />

Problema 3.2 Deduïu la fórmula de Simpson a partir de les fórmules (3.2)<br />

de Newton-Cotes.<br />

La fórmula de Simpson és el cas n = 2 de les fórmules de Newton-Cotes:<br />

Z b<br />

Calculem els coeficients λj:<br />

a<br />

f(x)dx ' h (λ0f(x0)+λ1f(x1)+λ2f(x2))<br />

Z 2 Z 2 (t − 1)(t − 2) 1<br />

λ0 = ϕ0(t)dt =<br />

dt =<br />

0<br />

0 (0 − 1)(0 − 2) 3<br />

Z 2 Z 2 t(t − 2) 4<br />

λ1 = ϕ1(t)dt =<br />

dt =<br />

0<br />

0 1 · (1 − 2) 3<br />

Z 2 Z 2 t(t − 1) 1<br />

λ2 = ϕ2(t)dt =<br />

dt =<br />

2 · (2 − 1) 3<br />

Aleshores: Z b<br />

0<br />

a<br />

0<br />

f(x)dx ' h<br />

3 (f(a)+4f(x1)+f(b))<br />

amb h = b−a<br />

2 . Si designem per ES l’error en la fórmula de Simpson, de (3.3)<br />

resulta:<br />

ES = h2+3 f (2+2) (ξ)<br />

(2 + 2)!<br />

Z 2<br />

0<br />

tπ2(t)dt = h5 f (4) (ξ)<br />

4!<br />

µ <br />

−4<br />

= −<br />

15<br />

h5<br />

90 f (4) (ξ)<br />

amb f ∈ C 4 ([a, b]), (a


Ricard Dominguez, Imma Gilibets, M. Albina Puente 51<br />

Problema 3.3 Calculeu<br />

Z 1<br />

4<br />

− 1<br />

4<br />

dx<br />

1+x<br />

utilitzant les fórmules de Simpson i de<br />

Newton-Cotes amb n=3. Compareu les aproximacions obtingudes amb el<br />

valor exacte de la integral.<br />

a) Fórmula de Simpson<br />

Aplicant la fórmula de Simpson (3.6) a aquest cas particular, obtenim:<br />

Z 1<br />

4<br />

− 1<br />

4<br />

∙<br />

dx 1 4<br />

'<br />

1+x 12 3 +4+4<br />

¸<br />

=<br />

5<br />

23<br />

45 =0.511111<br />

Per tal de fitarl’errorcomès<br />

¯<br />

|ES| = ¯<br />

h<br />

¯<br />

5<br />

90 f (4) ¯<br />

(ξ) ¯ ≤<br />

µ 5<br />

1 1<br />

4 90 M4<br />

cal trobar una fita de la derivada quarta de la funció:<br />

f (4) (x) =<br />

24<br />

(1 + x) 5<br />

Com que f (4) pren el màxim valor en [− 1<br />

4<br />

podem prendre M4 = 24 8192<br />

5 =<br />

(3/4) 81 Aleshores<br />

Per tant:<br />

|ES| ≤<br />

Z 1<br />

4<br />

− 1<br />

4<br />

µ 5 µ µ <br />

1 1 8192<br />

=0.001097<br />

4 90 81<br />

dx<br />

=0.511111 ± 0.001097<br />

1+x<br />

1 , 4 ] quan x pren el valor −1/4,<br />

Això ens indica que el valor exacte de la integral es troba en l’interval<br />

[0.510014 , 0.512208]. Pot comprovar-se que, efectivament, el valor és:<br />

Z 1<br />

4<br />

− 1<br />

4<br />

dx<br />

=ln5−ln 3 = 0.510826<br />

1+x<br />

b) Fórmula de Newton-Cotes amb n=3<br />

En ser [a, b] =[−1 1<br />

b−a<br />

4 , 4 ] i n =3, tindrem h = n<br />

fórmula de Newton_Cotes és:<br />

Z 1<br />

4<br />

−1<br />

4<br />

dx 3<br />

'<br />

1+x 8<br />

1<br />

1<br />

= 6 . Per a f(x) = 1+x la<br />

µ ∙<br />

1 4<br />

6 3 +312<br />

11 +312<br />

¸<br />

4<br />

+ =<br />

13 5<br />

1096<br />

2145 =0.510956


52 Cap. 3 Integració numèrica<br />

Podem fitar l’error comès utilitzant la mateixa fita M4 de l’apartat anterior:<br />

¯<br />

|E(f)| = ¯<br />

3h<br />

¯<br />

5<br />

80 f (4) ¯ µ <br />

¯<br />

5<br />

(ξ) ¯<br />

3 1 8192 16<br />

¯ ≤ = =4.877305 × 10−4<br />

80 6 81 32805<br />

Aleshores, el valor exacte de la integral es troba en l’interval [0.510623, 0.511599]<br />

i, per tant,<br />

Z 1<br />

4 dx<br />

=0.510956 ± 4.877305 × 10−4<br />

1+x<br />

−1<br />

4<br />

Problema 3.4 Amb quants intervals s’haurien d’aplicar<br />

(a) la regla dels trapezis<br />

(b) la regla de Simpson<br />

per tal d’aproximar R 3<br />

1 ex sin xdx amb un error menor que 10 −4 ?<br />

a)Regla dels trapezis.<br />

La fita de l’error quan apliquem la regla dels trapezis és, segons (3.8)<br />

|ET (f)| ≤<br />

(b − a)3<br />

M2<br />

12n2 Derivant dos cops la funció f(x) = e x sin x, obtenim f 00 (x) = 2e x cos x.<br />

D’altra banda, donat que |2e x cos x| ≤ 2e x i que la funció e x és estrictament<br />

creixent, prenent com a fita superior de f 00 (x) en [1, 3] M2 =2e 3 , serà:<br />

(3 − 1)3<br />

|ET (f)| ≤<br />

12n2 2e3 = 4<br />

3n<br />

Aleshores,<br />

4<br />

3n2 e3 < 10 −4 r<br />

4e3 ⇒ n> = 517.501<br />

3 · 10−4 Així doncs, prenent n ≥ 518 es compleixen les condicions de l’enunciat. El<br />

resultat que obtenim, per a n =518intervals és:<br />

Z 3<br />

e x sin(x)dx ' T518(f) = 1<br />

µ <br />

2<br />

2 518<br />

⎡<br />

⎤<br />

X517<br />

⎣f(1) + 2 f(xj)+f(3) ⎦ =10.95014446<br />

1<br />

mentre que el valor exacte és<br />

Z 3<br />

e x sin(x)dx = 1<br />

2 ex ¯<br />

¯3<br />

(sin(x) − cos(x)) ¯ ' 10.95017032<br />

1<br />

j=1<br />

1<br />

2 e3


Ricard Dominguez, Imma Gilibets, M. Albina Puente 53<br />

que ens dóna un error menor que 10 −4 .<br />

b)Regla de Simpson<br />

Aplicant la regla de Simpson tindrem, segons (3.10)<br />

|ES(f)| ≤<br />

(3 − 1)5<br />

M4<br />

2880n4 Com que f (4) (x) =−4e x sin x, raonant de manera anàloga al cas anterior,<br />

podem prendre M4 =4e 3 . Llavors, tindrem<br />

|ES(f)| ≤ 25<br />

2880n4 4e3 ≤ 2<br />

e3<br />

45n4 Com que volem que l’error sigui menor que 10 −4 , resulta:<br />

2<br />

45n 4 e3 < 10 −4 ⇒ n 4 ><br />

2e3<br />

= 8926.906 ⇒ n>9.7202<br />

45 · 10−4 i, per tant, hem d’aplicar la regla de Simpson en [a, b] amb, almenys, 10<br />

intervals (és a dir, 20 subintervals). El resultat que s’obté és:<br />

Z 3<br />

e x sin(x)dx ' 1<br />

µ <br />

2<br />

3 20<br />

⎡<br />

⎤<br />

20X<br />

19X<br />

⎣f(1) + 4 f(x2j−1)+2 f(x2j)+f(3) ⎦ =10.95014593<br />

1<br />

j=1<br />

que també ens dóna un error menor que 10 −4 .<br />

Problema 3.5 Lafórmula(bàsica)delstrapeziscorregidaés:<br />

Z b<br />

a<br />

j=1<br />

f(x)dx ' h<br />

h2 ¡ ¢ 0 0<br />

(f(a)+f(b)) + f (a) − f (b) , (h = b − a)<br />

2 12<br />

(a) Quin és el seu grau de precisió?<br />

(b) Sabent que E(f) = h5<br />

720f (4) (t) és l’expressió de l’error, aproximeu<br />

R 1<br />

−1 xexdx i fiteu l’error comès.<br />

(c) Dividint [a, b] en n subintervals de longitud h = b−a<br />

n ,trobeula<br />

fórmula composta corresponent.<br />

(d) Quants subintervals cal prendre per calcular la integral de l’apartat<br />

b) amb 3 decimals exactes?<br />

a) Com que l’expressió de l’error és E(f) = h5<br />

720n 4 f (4) (t), deduïm que l’error<br />

és 0 si f(x) és un polinomi de grau fins a tres, mentre que si f(x) és un


54 Cap. 3 Integració numèrica<br />

polinomi de grau 4, f (4) (t) 6= 0i, per tant, E(f) 6= 0. Així doncs, el grau de<br />

precisió és 3.<br />

b) Integrant f(x) =xex en [−1, 1], aquesta fórmula dóna l’aproximació<br />

Z 1<br />

xe x dx ' 2<br />

2 (−e−1 + e)+ 22<br />

(0 − 2e) =.5382145014<br />

12<br />

−1<br />

L’error comès es pot fitar tenint en compte que la derivada quarta de f és:<br />

f (4) (x) =(x +4)exiestàfitada, per tant, per M4 =5e. Aleshores:<br />

|E(f)| ≤ h5<br />

720 |M4| = 25<br />

5e = .6040 ...


Ricard Dominguez, Imma Gilibets, M. Albina Puente 55<br />

La solució d’aquesta inequació és n>5.89 . Per tant, n’hi ha suficient a<br />

dividir l’interval en n =6parts iguals.<br />

En efecte, els subintervals vénen definits pels punts<br />

½<br />

xi = −1, − 2<br />

¾<br />

1 2<br />

, −1 , 0, , , 1<br />

3 3 3 3<br />

i la funció en aquests punts pren, respectivament, els valors<br />

f(xi) =<br />

½<br />

−e −1 , − 2<br />

3 e(−2/3) , − 1<br />

3 e(−1/3) , 0, 1<br />

3 e(1/3) , 2<br />

3 e(2/3) ,e<br />

Com que f 0 (−1) = 0 i f 0 (1) = 2e obtenim l’aproximació:<br />

Z 1<br />

xe<br />

−1<br />

x dx ' 2<br />

µ<br />

−e<br />

2<br />

−1 − 2<br />

3 e(−2/3) − 1<br />

3 e(−1/3) + 1<br />

3 e(1/3) + 2<br />

3 e(2/3) <br />

+ e + 22<br />

12 (−2e)<br />

= .7355857299<br />

mentre que el resultat exacte és:<br />

Z 1<br />

xe<br />

−1<br />

x dx =2e −1 = .7357588824<br />

3.3 Problemes resolts amb Maple<br />

MapleV disposa de l’ordre int per resoldre una integral. La seva sintaxi és:<br />

int(funció,x=a..b);<br />

obé<br />

int(funció,x);<br />

segons sigui una integral definida o indefinida. A més, la llibreria student<br />

conté, entre d’altres utilitats, les instruccions trapezoid i simpson, per<br />

aproximar integrals a partir de les fórmules dels trapezis i de Simpson, respectivament:<br />

trapezoid(funció ,x = a..b,n);<br />

simpson( funció,x = a..b,n);<br />

Problema 3.6 Calculeu els pesos de la següent fórmula de quadratura per<br />

tal que tingui grau de precisió el més gran possible:<br />

Z b<br />

f(x)dx = a0f(a)+a1f(b)+c0f<br />

a<br />

(2) (a)+c1f (2) (b)<br />

¾


56 Cap. 3 Integració numèrica<br />

Comencem definint la fórmula que volem trobar:<br />

> formula := int(f(x) ,x=a..b) = a[0]*f(a) + a[1]*f(b) + c[0]*(D@@2)(f)(a)+<br />

c[1]*(D@@2)(f)(b);<br />

Imposant, successivament, que la fórmula sigui exacta per als polinomis 1,<br />

x, x 2 ix 3 obtindrem un sistema de 4 equacions amb les 4 incògnites a[0],<br />

a[1],c[0]ic[1]:<br />

> f:=x->1;<br />

f := 1<br />

> int(f(x) ,x=a..b) = a[0]*f(a) + a[1]*f(b) + c[0]*(D@@2)(f)(a)<br />

+ c[1]*(D@@2)(f)(b);<br />

> eq1:=formula;<br />

> f:=x->x;<br />

b − a = a0 + a1<br />

eq1 :=b − a = a0 + a1<br />

int(f(x) ,x=a..b)=a[0]*f(a) + a[1]*f(b) + c[0]*(D@@2)(f)(a)<br />

+ c[1]*(D@@2)(f)(b);<br />

> eq2:=formula;<br />

> f:=x->x^2;<br />

f : = x → x<br />

1<br />

2 b2 − 1<br />

2 a2 = a0a + a1b<br />

eq2 := 1<br />

2 b2 − 1<br />

2 a2 = a0a + a1b<br />

int(f(x) ,x=a..b)=a[0]*f(a) + a[1]*f(b) + c[0]*(D@@2)(f)(a)<br />

+ c[1]*(D@@2)(f)(b);<br />

> eq3:=formula;<br />

> f:=x->x^3;<br />

f : = x → x<br />

1<br />

3 b3 − 1<br />

3 a3 = a0a 2 + a1b 2 +2c0 +2c1<br />

eq3 := 1<br />

3 b3 − 1<br />

3 a3 = a0a 2 + a1b 2 +2c0 +2c1


Ricard Dominguez, Imma Gilibets, M. Albina Puente 57<br />

int(f(x) ,x=a..b)=a[0]*f(a) + a[1]*f(b) + c[0]*(D@@2)(f)(a)<br />

+ c[1]*(D@@2)(f)(b);<br />

> eq4:=formula;<br />

f : = x → x 3<br />

1<br />

4 b4 − 1<br />

4 a4 = a0a 3 + a1b 3 +6c0a +6c1b<br />

eq4 := 1<br />

4 b4 − 1<br />

4 a4 = a0a 3 + a1b 3 +6c0a +6c1b<br />

Resolem el sistema d’equacions mitjançant l’ordre solve:<br />

> sistema:={eq1 ,eq2 ,eq3 ,eq4};<br />

sistema := {b − a = a0 + a1, 1<br />

2 b2 − 1<br />

2 a2 = a0a + a1b,<br />

1<br />

4 b4 − 1<br />

4 a4 = a0a 3 + a1b 3 +6c0a +6c1b,<br />

1<br />

3 b3 − 1<br />

3 a3 = a0a 2 + a1b 2 +2c0 +2c1}<br />

>sols:=solve(sistema , {a[0],a[1],c[0],c[1]});<br />

sols : = {a0 = − 1 1<br />

a +<br />

2 2 b, c0 = 1<br />

24 a3 − 1<br />

8 a2b + 1<br />

8 ab2 − 1<br />

24 b3 ,<br />

c1 = 1<br />

24 a3 − 1<br />

8 a2b + 1<br />

8 ab2 − 1<br />

24 b3 ,a1 = − 1 1<br />

a +<br />

2 2 b}<br />

A partir de la funció assign, convertim en assignacions les igualtats que<br />

apareixen en la solució del sistema i simplifiquem les seves expressions:<br />

> assign(sols) ;<br />

a[0];a[1];c[0];c[1];<br />

> c[0] :=factor(c[0]) ;<br />

c[0] := simplify(c[0] , {b-a=h}) ;<br />

− 1 1<br />

a +<br />

2 2 b<br />

− 1 1<br />

a +<br />

2 2 b<br />

1<br />

24 a3 − 1<br />

8 a2b + 1<br />

8 ab2 − 1<br />

24 b<br />

1<br />

24 a3 − 1<br />

8 a2b + 1<br />

8 ab2 − 1<br />

24 b


58 Cap. 3 Integració numèrica<br />

a[0] := simplify(a[0] , {b-a=h}) ;<br />

c[1]:=c[0];a[1]:=a[0];<br />

c0 = − 1<br />

(b − a)3<br />

24<br />

c0 = − 1<br />

24 h3<br />

a0 = 1<br />

2 h<br />

c1 = − 1<br />

24 h3<br />

a1 = 1<br />

2 h<br />

Netegem la funció f i escrivim la fórmula d’integració que hem obtingut:<br />

> f:=’f ’:<br />

> formula ;<br />

Z b<br />

a<br />

f(x)dx = 1<br />

2 hf(a)+1<br />

2<br />

hf(b) − 1<br />

24 h3 (D (2) )(f)(a) − 1<br />

24 h3 (D (2) )(f)(b)<br />

Aleshores, el grau de precisió és, pel cap baix, 3. Comprovem ara si la<br />

fórmula obtinguda té grau de precisió 4:<br />

> f:=x->x^4;<br />

> formula;<br />

f := x → x 4<br />

1<br />

5 b5 − 1<br />

5 a5 = 1<br />

2 ha4 + 1<br />

2 hb4 − 1<br />

2 h3 a 2 − 1<br />

2 h3 b 2<br />

Simplifiquem el costat dret de la darrera igualtat:<br />

> simplify(rhs(”) , {h = b − a});<br />

−2a 2 b 3 +2a 3 b 2 + ab 4 − a 4 b<br />

Com que el resultat obtingut és diferent de 1 5 b5 − 1 5 a5 , lafórmulanoésexacta<br />

per a polinomis de grau 4 i el grau de precisió és, per tant, 3.<br />

Problema 3.7 Calculeu el nombre de subintervals necessaris per aproximar<br />

dx amb 5 decimals exactes utilitzant:<br />

la integral R 1<br />

0 2xex2<br />

(a) La fórmula dels trapezis composta.<br />

(b) La fórmula de Simpson composta.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 59<br />

(c) Utilitzant l’apartat anterior, calculeu el valor del nombre e amb<br />

5 decimals exactes.<br />

Començarem carregant la llibreria student, definint la funció a integrar i<br />

indicant que volem els resultats amb 7 dígits, (per defecte, els càlculs es<br />

realitzen amb 10 dígits).<br />

> with(student):<br />

> f:=x->2*x*exp(x^2); Digits:=7;<br />

Indiquem l’interval d’integració:<br />

>a :=0;b:=1;<br />

f : = x → 2xe (x2 )<br />

Digits : = 7<br />

a) Regla del trapezi composta<br />

a : = 0<br />

b : = 1<br />

Començarem calculant el nombre n de subintervals que necessitarem. Per a<br />

això, cal trobar una fita per a f (2) (x) en l’interval [0, 1]. Utilitzarem l’ordre<br />

plot per dibuixar la gràfica de f (2) (x) en [0, 1] i obtenir fàcilment M2 =sup<br />

x∈[0,1]<br />

¯<br />

¯f (2) (x) ¯ ¯ .<br />

>f2 := (D@@2) (f) ;<br />

>plot(abs(f2(x)) , x=a..b) ;<br />

f2 :=x → 12xe (x2 ) +8x 3 e (x 2 )


60 Cap. 3 Integració numèrica<br />

Com que la funció és estrictament creixent i positiva, prendrem M2 =<br />

f (2) (1) :<br />

>M2 := abs(f2(1)) ;<br />

M2 :=20e<br />

Introduïm el terme de l’error (3.8) en la fórmula del trapezi:<br />

>error_trapezis := (b-a)^3*M2/(12n^2) ;<br />

error trapezis := 5 e<br />

3 n2 Si volem obtenir 5 decimals exactes haurem de resoldre la inequació error trapezis <<br />

1<br />

2 10−5 . Ho fem mitjançant l’ordre solve :<br />

>solve (error-trapezis < 0.5*10^(-5)) ;<br />

Real Range(−∞, Open(−951.8897)), Real Range(Open(951.8897), ∞)<br />

Com que el nombre d’intervals ha de ser exacte, prenem n = 952:<br />

> n := 952 ;<br />

n := 952<br />

Comprovem el resultat obtingut. Calculant la integral per la fórmula dels<br />

trapezis amb 952 subintervals, obtenim:<br />

> resultat_trapezi := evalf( trapezoid( f(x),x=a..b,n);<br />

resultat trapezi := 1.718282


Ricard Dominguez, Imma Gilibets, M. Albina Puente 61<br />

mentre que el resultat exacte és:<br />

> integral := int(f(x) , x=a..b) ;<br />

integral := e − 1<br />

que, avaluat amb 10 dígits, ens permet comprovar que hem obtingut 5 decimals<br />

exactes amb la fórmula dels trapezis:<br />

> Digits := 10;<br />

integral := evalf(integral) ;<br />

b) Regla de Simpson composta<br />

Digits : = 10<br />

integral : = 1.718281828<br />

Comencem definint la derivada quarta de la funció:<br />

> f4 := (D@@4)(f) ;<br />

f4 :=x → 120xe (x2 ) + 160x 3 e (x 2 ) +32x 5 e (x 2 )<br />

Apartirdelagràfica de f (4) (x) en [0, 1], deduïm fàcilment la fita M4 =sup<br />

x∈[0,1]<br />

¯<br />

¯f (4) (x) ¯ ¯ .<br />

> plot(abs(f4(x)) ,x=a..b) ;<br />

> M4 :=abs(f4(1)) ;


62 Cap. 3 Integració numèrica<br />

M4 := 312e<br />

L’error en la fórmula de Simpson, segons(3.10), és:<br />

> error_simpson :=(b-a)^5*M4/(2880*n^4) ;<br />

error − simpson := 13 e<br />

120 n4 Imposem que l’error sigui menor que 1 2 10−5 i resolem la inequació corresponent:<br />

> Digits := 7 ;<br />

solve(error_Simpson n := 16;<br />

integ_simpson := evalf(simpson(f(x) , x=a..b,2*n)) ;<br />

n := 16<br />

integ simpson := 1.718283<br />

que comparat amb el resultat exacte e − 1 ' 1.718281828 que hem vist a<br />

l’apartat anterior, també té 5 decimals exactes.<br />

c) Aproximació del nombre e<br />

Per trobar una aproximació del nombre e, podem utilitzar el resultat anterior,<br />

segons el qual e − 1 ' 1.718283 amb 5 decimals correctes. Per tant,<br />

e ' 1+1.718283 = 2.718283<br />

Z 1<br />

3<br />

Problema 3.8 Donada la integral 9−x<br />

−1<br />

2 dx =ln2, calculeu, amb 3 decimals<br />

exactes, el valor de l’aproximació que s’obté segons la fórmula composta<br />

dels trapezis corregida (problema 5). i compareu-lo amb el valor exacte.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 63<br />

La fórmula del trapezi corregida és:<br />

> formula := int(f(x) ,x=a..b) = h/2*(f(a)+f(b))+h^2/12*(D(f)(a)-D(f)(b));<br />

Z 1<br />

formula := xe x dx = h<br />

h2<br />

(f(a)+f(b)) + (D(f)(a) − D(f)(b))<br />

2 12<br />

−1<br />

Definim la funció a integrar i els extrems de l’interval:<br />

> f:=x->3/(9-x^2);<br />

> a:=-1 ; b:=1;<br />

f := x → 3<br />

9 − x 2<br />

a : = −1<br />

b : = 1<br />

Calculem una fita, M4, de f (4) (x) i imposem la condició (b−a)5<br />

720n 4 M4 < 1<br />

2 10−3<br />

> f4 := (D@@4)(f);<br />

x<br />

f4 :=x → 1152<br />

4<br />

(9 − x2 x<br />

+ 864<br />

) 5 2<br />

(9 − x2 +<br />

) 4<br />

> plot(abs(f4(x)) ,x=a..b);<br />

> M4:=abs(f4(1));<br />

M4 := 99<br />

256<br />

72<br />

(9 − x 2 ) 3


64 Cap. 3 Integració numèrica<br />

> error:=(b-a)^5*M4/(720*n^4);<br />

> solve(error n:=3;<br />

n := 3<br />

L’aproximació que obtenim, dividint [−1, 1] en 3 subintervals, és:<br />

> h:=(b-a)/n;<br />

h := 2<br />

3<br />

> for i from 0 to n do x[i]:=a+i*h; od:<br />

> suma:=0;<br />

for i from 1 to n-1 do suma:=f(x[i])+suma; od:<br />

trapezi_corregit := h/2*(f(a)+f(b)+2*evalf(suma)) + h^2/12*<br />

(D(f)(a)-D(f)(b));<br />

El resultat exacte és<br />

suma : = 0<br />

trapezi corregit : = .6930555556<br />

> Int(f(x) ,x=a..b) = evalf(int(f(x),x=a..b)) ;<br />

Z 1 3<br />

(9 − x2 dx = .6931471806<br />

)<br />

−1<br />

Per tant, l’error és menor que 1<br />

2 10−3 :<br />

> evalf( abs(”-trapezi_corregit ));<br />

.0000916250<br />

Problema 3.9 Volem trobar una fórmula de quadratura del tipus:<br />

Z 3<br />

f(x)dx ≈ α1f(1) + 2α2f(2) + α3f(3)<br />

1


Ricard Dominguez, Imma Gilibets, M. Albina Puente 65<br />

(a) Resoleu el sistema que resulta d’exigir-li a aquesta fórmula i a les<br />

següents<br />

Z 2<br />

f(x)dx ≈ α1f(1) + α2f(2)<br />

1<br />

Z 3<br />

f(x)dx ≈ α2f(2) + α3f(3)<br />

2<br />

grau de precisió 1.<br />

(b) La fórmula obtinguda en l’apartat anterior és de Newton-Cotes?<br />

A quin mètode correspon? Per què?<br />

a) Comencem escrivint les fórmules donades:<br />

> restart;<br />

> formula1:=int(f(x), x=1..3)=alpha[1]*f(1) + 2*alpha[2]*f(2) +<br />

alpha[3]*f(3) ;<br />

Z 3<br />

formula1:= f(x)dx = α1f(1) + 2α2f(2) + α3f(3)<br />

1<br />

> formula2:=int(f(x) ,x=1..2)=alpha[1]*f(1)+alpha[2]*f(2);<br />

formula3:=int(f(x) ,x=2..3)=alpha[2]*f(2)+alpha[3]*f(3);<br />

formula2 : = α1f(1) + α2f(2)<br />

formula3 : = α2f(2) + α3f(3)<br />

Imposem la condició que el grau de precisió de les fórmules sigui 1:<br />

> f:=x->1;<br />

> eq1:=formula1;<br />

> eq2:=formula2;<br />

eq3:=formula3;<br />

> f:=x->x;<br />

f := 1<br />

eq1 :=2=α1 +2α2 + α3<br />

eq2 : = 1 = α1 + α2<br />

eq3 : = 1 = α2 + α3<br />

f := x → x


66 Cap. 3 Integració numèrica<br />

> eq4:=formula1;<br />

> eq5:=formula2;<br />

eq6:=formula3;<br />

eq4 :=4=α1 +4α2 +3α3<br />

eq5 : = 3<br />

2 = α1 +2α2<br />

eq6 : = 5<br />

2 =2α2 +3α3<br />

Resolem el sistema format per les equacions trobades:<br />

> sistema:={eq1,eq2,eq3,eq4,eq5,eq6};<br />

sistema : = {2 =α1 +2α2 + α3, 1=α1 + α2, 1=α2 + α3,<br />

4 = α1 +4α2 +3α3, 3<br />

2 = α1 +2α2, 5<br />

2 =2α2 +3α3}<br />

> solucions:=solve(sistema, {alpha[1],alpha[2],alpha[3]});<br />

> assign(solucions);<br />

solucions := {α3 = 1<br />

2 , α1 = 1<br />

2 , α2 = 1<br />

2 }<br />

”Netegem” la variable f i escrivim la fórmula trobada:<br />

> f:=’f’; f := f<br />

> Int(f(x), x=1..3)=rhs(formula1);<br />

Z 3<br />

f(x)dx = 1<br />

1<br />

f(1) + f(2) +<br />

2 2 f(3)<br />

1<br />

És fàcil veure que aquesta és la regla composta del trapezi, prenent dos<br />

subintervals en [1, 3]<br />

3.4 Problemes proposats<br />

1. Calculeu les constants ω0, ω1,a per tal que la fórmula d’integració<br />

Z 1<br />

g(t)dt ≈ ω0g(a)+ω1g(1)<br />

−1<br />

sigui exacta per a tots els polinomis de grau no superior a dos.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 67<br />

2. Calculeu x1 i x2 de manera que la següent fórmula de quadratura sigui<br />

exacta fins al major ordre possible:<br />

Z 1<br />

−1<br />

f(x)dx = 1<br />

[f(−1) + 2f(x1)+3f(x2)]<br />

3<br />

3. Calculeu els coeficients k1,k2 i k3 en la fórmula d’integració aproximada<br />

Z 1<br />

f(x)dx = k1f(−1) + k2f(1) + k3f(α)<br />

−1<br />

on α és un nombre donat tal que −1 < α < 1. Apliqueu la fórmula amb la<br />

funció f(x) = amb α = −0.1<br />

a<br />

q 5x+13<br />

2<br />

4. Trobeu el grau de precisió de la següent fórmula de quadratura:<br />

Z b<br />

f(x)dx ≈ h<br />

∙<br />

µ ¸<br />

a + b<br />

7f(a)+16f +7f(b) +<br />

15<br />

2<br />

h2<br />

15<br />

£ f 0 (a) − f 0 (b) ¤ ,h= b − a<br />

2<br />

Sabent que h7<br />

4725 f (6) (t) és l’expressió de l’error per a aquesta fórmula, apro-<br />

ximeu R 1<br />

0 eex dx iafiteu l’error comès.<br />

5. Donada la integral R 1<br />

0 xe2x dx<br />

(a) Calculeu el nombre d’intervals necessaris per obtenir una aproximació<br />

amb 3 decimals exactes segons la regla de Simpson.<br />

(b) El mateix utilitzant la regla dels trapezis.<br />

(c) Calculeu el valor de l’aproximació que s’obté segons l’apartat a).<br />

Compareu-lo amb el valor exacte.<br />

6. Determineu els valors de n i h que són necessaris per aproximar la integral<br />

x cos 2xdx amb 5 decimals exactes per<br />

R 1<br />

0<br />

(a) La regla dels trapezis.<br />

(b) La regla de Simpson.<br />

Calculeu aquesta aproximació per qualsevol d’aquests dos mètodes i<br />

compareu-la amb el valor real.<br />

7. Aplicant la regla de Barrow, comproveu que<br />

Z √ 3<br />

1<br />

dx π<br />

=<br />

1+x2 12


68 Cap. 3 Integració numèrica<br />

(a) Quants intervals caldria usar per a aproximar la integral anterior<br />

pel mètode de Simpson compost amb un error menor que 1<br />

2 10−4 ?<br />

(b) Usant els dos apartats anteriors, calculeu els quatre primers decimals<br />

del nombre π.<br />

8. (a) Prenent h = xi+1 − xi−1 i fent servir interpolació només en l’abscissa<br />

mitjana, deduïu la fórmula del rectangle sobre l’interval [xi−1,xi+1]<br />

Z xi+1<br />

xi−1<br />

f(x)dx ' hf(xi)<br />

(b) Dividint l’interval [a, b] en 2n subintervals iguals, trobeu la fórmula composta<br />

del rectangle, (aplicada sobre n intervals).<br />

(c) Sabent que el terme de l’error en la fórmula composta és h3<br />

24n2 f (2) (ξ),<br />

calculeu n per tal d’aproximar R 1<br />

0 x2dx ambunerrormenorque 1<br />

210−4 .<br />

Compareu l’aproximació obtinguda amb el valor real.<br />

9. Volem calcular l’àrea limitada per la funció f(x) =1+arctg(x) ielseixos<br />

de coordenades amb una precisió de 1 2 10−3 .<br />

(a) Quants intervals caldria fer si utilitzéssim el mètode del trapezi<br />

compost?<br />

(b) I si utilitzéssim la regla de Simpson ?<br />

(c) Aproximeu el valor de l’àrea per un qualsevol dels mètodes anteriors.<br />

(d) Calculeu el valor exacte i compareu-lo amb l’aproximació obtinguda<br />

a l’apartat anterior.<br />

10. Volem aproximar amb dos decimals exactes el valor de la integral<br />

I =<br />

Z e<br />

1<br />

x ln(x) dx


Ricard Dominguez, Imma Gilibets, M. Albina Puente 69<br />

(a) Calculeu el nombre d’intervals necessaris per obtenir aquesta precisió<br />

si apliquem:<br />

i. la regla del trapezi composta<br />

ii. la regla de simpson composta.<br />

(b) Calculeu el valor de l’aproximació que resulta d’aplicar el millor<br />

dels dos mètodes amb el nombre d’intervals obtinguts a l’apartat<br />

(a).<br />

(c) Calculeu el valor de la integral exacte i l’error absolut. Són raonables<br />

aquests resultats?<br />

11. Calculeu en quants subintervals cal dividir l’interval [0, 1] per trobar una<br />

aproximació de la integral<br />

Z 1<br />

I = (x +1) 2 ln(x +1)dx<br />

0<br />

amb quatre decimals exactes pel mètode de Simpson compost. Trobeu<br />

aquesta aproximació.<br />

12. Volem aproximar amb un decimal exacte, la integral<br />

Z π<br />

I = x cos(x) dx<br />

0<br />

(a) En quants intervals haurem de dividir l’interval [0, π], si volem<br />

usar trapezi compost?<br />

(b) En quants intervals haurem de dividir l’interval [0, π], si volem<br />

usar simpson compost?<br />

(c) Aproximeu el valor de la integral amb la precisió que es demana<br />

i usant el mètode més adient dels dos anteriors.<br />

(d) Calculeu la integral exacte i compareu-la amb el resultat de l’apartat<br />

anterior.<br />

13. Quin grau de precisió té la següent fórmula de quadratura:<br />

Z 3<br />

f(x) dx ≈ 1<br />

1<br />

f(0) + 2f(1.5) +<br />

2 2 f(3)<br />

0<br />

14. Els resultats d’integrar la recta y = x +1 de0a2id’aplicarlaregla<br />

del trapezi per a aproximar R 2<br />

0 (x2 − x +1)dx són exactament iguals. Per<br />

què? (Ind.: feu una representació gràfica).<br />

15. Donada la integral R 1<br />

0 xe−x dx


70 Cap. 3 Integració numèrica<br />

(a) Calculeu el seu valor exacte.<br />

(b) Calculeu el nombre d’interval necessaris per obtenir una aproximació<br />

amb 3 decimals exactes a partir de la fórmula de Simpson<br />

composta.<br />

(c) Trobeu l’aproximació anterior.<br />

16. Determineu A0, A1, A2perquè la següents fórmula de quadratura tingui<br />

grau de precisió 2.<br />

Z 1<br />

f(x) dx = A0f(0) + A1f(0.5) + A2f(1)<br />

Quina fórmula heu obtingut?<br />

0<br />

17. Calculeu el nombre d’intervals necessaris per a obtenir una aproximació<br />

amb 2 decimals exactes segons el mètode de trapezi compost per la integral<br />

R 1<br />

0 x2 e x dx. Quant val h?<br />

18. Trobeu els valors de a, b, c per tal que la fórmula de quadratura<br />

Z 2<br />

f(x)dx = af(0) + bf(1) + cf(2)<br />

−2<br />

sigui exacta per a polinomis de grau no superior a 2.


Capítol 4<br />

Equacions diferencials<br />

ordinàries de 1er. ordre.<br />

4.1 Resum teòric i exemples.<br />

4.1.1 Definicions bàsiques<br />

Tipus d’equacions diferencials<br />

Una equació diferencial és una equació que conté una funció i les seves<br />

derivades. Si la funció depèn d’una única variable independent x es diu que<br />

és ordinària (edo), en contrast amb les equacions diferencials de funcions de<br />

vàries variables, les quals contenen derivades parcials i s’anomenen equacions<br />

en derivades parcials ( edp). L’ordre d’una equació diferencial ordinària és<br />

el màxim ordre de derivada que intervé en l’equació.<br />

Exemple 4.1 Per a les equacions diferencials següents, identifiqueu el tipus<br />

i l’ordre.<br />

(a) y 00 − 5y 0 +sinx =0 (b) y 0 = x 2<br />

(c) y000 − y00 · sin x + y0 · cos x + y = ex (d) ∂2f ∂f<br />

+<br />

∂x2 ∂y<br />

= xy<br />

Les equacions (a), (b) i (c) són equacions diferencials ordinàries ja que la<br />

funció y depèn només de la variable x. L’ordre de l’equació (a) és 2, de<br />

l’equació (b) és 1 i de la (c) és 3. L’equació (d) és una equació en derivades<br />

parcials, la funció incògnita f depèn de les variables x i y.<br />

71


72 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

Solucions<br />

S’anomena solució o integral d’una edo a qualsevol família de funcions de la<br />

forma y = ϕ(x) que satisfaci l’equació. Normalment aquesta solució depèn<br />

d’una o més constants i es diu solució general de l’equació. Quan fixem<br />

certs valors de la funció solució - condicions inicials - queden determinats<br />

els valors de les constants obtenint una solució particular.<br />

Exemple 4.2 Verifiqueu que l’equació y 0 = −y + x +1 té com a solució<br />

general la funció y(x) =x + Ke −x . Determineu una solució particular que<br />

verifiqui y(1) = 3.<br />

Calculem la derivada de la funció i substituint la funció i la seva derivada a<br />

l’equació, obtenim:<br />

y 0 (x) =1− Ke −x<br />

1 − Ke −x = −x − Ke −x + x +1=1− Ke −x .<br />

Ja que y(x) compleix l’equació, y(x) és solució.<br />

Si fixem que y(1) = 3, resulta la relació<br />

1+Ke −1 =3<br />

d’on s’obté<br />

K =2e<br />

La solució particular que verifica la condició indicada és<br />

Problema de Cauchy<br />

y(x) =x +2e 1−x<br />

El problema de Cauchy o de valors inicials consisteix en determinar una<br />

solució particular y(x) definida sobre l’interval [a, b] a partir de la condició<br />

y(a) =y0. Ésadir:<br />

½ y 0 (x) =f(x, y(x))<br />

y(a) =y0<br />

on x ∈ [a, b], y(x),y0 ∈ R i f :[a, b] × R −→ R és una funció ”prou<br />

regular”per assegurar l’existència i unicitat de la solució.<br />

Exemple 4.3 Determineu la solució del problema de valor inicial definit<br />

per: ½ y 0 = −y + x +1<br />

y(0) = 1


Ricard Dominguez, Imma Gilibets, M. Albina Puente 73<br />

Hemvistal’Exemple2quelasoluciógeneralésy(x) =x+Ke −x . Imposant<br />

la condició y(0) = 1 i procedint de forma similar a l’exemple anterior s’obté<br />

y(x) =x + e −x<br />

4.1.2 Resolució numèrica d’equacions diferencials de 1er. ordre<br />

En els llibres adequats podem trobar tot un seguit de tècniques per a la<br />

resolució exacta de diferents tipus d’equacions diferencials: equacions lineals,<br />

de variables separables, homogènies, exactes, etc. De forma anàloga a com<br />

passa en el cas del problema d’integració, la resolució exacta pot ser inviable<br />

per diferents motius, i haurem d’intentar determinar una solució numèrica<br />

aproximada. En aquest capítol ens referirem a la resolució numèrica del<br />

problema de Cauchy<br />

½<br />

y0 (x) =f(x, y(x))<br />

a ≤ x ≤ b<br />

y(a) =y0<br />

Inicialment dividim l’interval [a, b] mitjançant N +1 punts equidistants que<br />

anomenarem punts de la xarxa.<br />

b − a<br />

xi = a + ih on h = , i =0, 1,...,N<br />

N<br />

L’objectiu de la resolució numèrica és cercar, aproximadament, els valors de<br />

la funció solució en els punts de la xarxa. Representarem per y(xi) el valor<br />

exacte de la funció solució en el punt xi, iperωiel valor aproximat donat<br />

pelmètodenumèric,ésadir<br />

y(xi) ' ωi<br />

El valor inicial ω0 ve donat per la condició inicial, és a dir, ω0 = y(x0) =<br />

y(a) =y0. Com podrem veure en els apartats següents, els diferents mètodes<br />

numèrics ens permeten calcular de forma recurrent les aproximacions<br />

restants ω1, ω2,...,ωN. La diferència ei = |y(xi) − ωi| s’anomena error de<br />

truncament al pas i-èsim.<br />

Exemple 4.4 Donat el següent problema de valor inicial, sobre l’interval<br />

[0, 1]<br />

½<br />

y0 = −y + x +1<br />

y(0) = 1<br />

determineu la solució aproximada que resulta d’aplicar la relació de recurrència<br />

ωi+1 =0.9 ωi +0.1 xi +0.1<br />

emprant una xarxa d’11 punts. Calculeu els errors de truncament.


74 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

En primer lloc, determinem els punts de la xarxa. Per això, calculem el pas<br />

h sabent que N =10.<br />

1 − 0<br />

h =<br />

10 =0.1<br />

Per tant, els punts de la xarxa seran:<br />

xi =0+ih =0+i0.1 =0.1i<br />

Calculem ara el valor aproximat a partir de la fórmula recurrent:<br />

ω0 = y(x0) =y(0) = 1<br />

ω1 = 0.9ω0 +0.1x0 +0.1 =0.9 · 1+0.1 · 0+0.1 =1<br />

ω2 = 0.9ω1 +0.1x1 +0.1 =0.9 · 1+0.1 · 0.1+0.1 =1.01<br />

ω3 = 0.9ω2 +0.1x2 +0.1 =0.9 · 1.01 + 0.1 · 0.2+0.1 =1.029<br />

...<br />

ω10 = 0.9ω9 +0.1x9 +0.1 =0.9 · 1.2874205 + 0.1 · 0.9+0.1 =1.3486784<br />

Per calcular els errors de truncament en cada pas, hem de calcular el valor<br />

de la funció solució en cada punt de la xarxa i fer-ne la diferència. La funció<br />

solució exacta l’hem calculada en l’Exemple 3 i és<br />

y(x) =x + e −x<br />

En general, aquests resultats s’escriuen en una taula com la següent:<br />

i xi ωi y(xi) ei = |y(xi) − ωi|<br />

0 0 1 1 0<br />

1 0.1 1.0 1.0048374 0.0048374<br />

2 0.2 1.01 1.0187308 0.0087308<br />

3 0.3 1.029 1.0408182 0.0118182<br />

4 0.4 1.0561 1.0703201 0.0142201<br />

5 0.5 1.09049 1.1065307 0.0160407<br />

6 0.6 1.131441 1.1488116 0.0173706<br />

7 0.7 1.1782969 1.1965853 0.0182884<br />

8 0.8 1.2304672 1.2493290 0.0188618<br />

9 0.9 1.2874205 1.3065697 0.0191492<br />

10 1 1.3486785 1.3678794 0.0192009<br />

Amb això, veiem que obtenim uns valors aproximats de la funció solució, en<br />

uns punts determinats, però no tenim la funció solució. Com hem vist en<br />

el capítol d’interpolació, podem trobar el polinomi interpolador d’aquests<br />

N +1punts, que serà la solució aproximada de l’equació. En aquest cas, el<br />

polinomi interpolador és:<br />

p(x) = −0.0014x 10 +0.0065x 9 − 0.0130x 8 +0.0143x 7 − 0.0082x 6<br />

−0.0064x 5 +0.0501x 4 − 0.1947x 3 +0.5550x 2 − 0.0536x +1


Ricard Dominguez, Imma Gilibets, M. Albina Puente 75<br />

Gràficament, podem observar que l’error que cometem a l’agafar p(x) com<br />

a solució de l’equació diferencial és petit. Dibuixem la funció solució y(x) =<br />

x + e −x i alguns punts del polinomi perquè es vegi millor l’error comès.<br />

1.35<br />

1.3<br />

1.25<br />

1.2<br />

1.15<br />

1.1<br />

1.05<br />

1<br />

0<br />

0.2<br />

4.1.3 Mètodes de Taylor.<br />

0.4<br />

x<br />

Aquests mètodes es basen en aproximar la funció y(x) en l’interval [xi,xi+1]<br />

amb i =0, 1,...,N−1 pel desenvolupament de Taylor fins a ordre k al voltant<br />

d’xi.<br />

Mètode d’Euler.<br />

Es tracta d’aproximar la solució pel desenvolupament de Taylor d’ordre 1.<br />

Geomètricament, correspon a aproximar la solució per la recta tangent.<br />

L’algorisme del mètode d’Euler ve donat per:<br />

ω0 = y(a)<br />

ωi+1 = ωi + hf(xi, ωi), i =0÷ N − 1<br />

Exemple 4.5 Resoleu pel mètode d’Euler amb N=10, el problema de valors<br />

inicials ½<br />

y0 = −y + x +1<br />

y(0) = 1<br />

0 ≤ x ≤ 1<br />

En primer lloc, busquem els punts de la xarxa<br />

0.6<br />

0.8<br />

h =<br />

1 − 0<br />

10 =0.1<br />

xi = 0+ih =0.1i<br />

1


76 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

Després, identifiquem la funció f(x, y) aïllant y 0 :<br />

f(x, y) =−y + x +1<br />

i busquem la relació de recurrència que ha de complir el mètode d’Euler<br />

substituint h i f(x, y) pels seus valors corresponents:<br />

ωi+1 = ωi + h(−ωi + xi +1)=ωi − 0.1ωi +0.1xi +0.1 =0.9ωi +0.1xi +0.1<br />

Per últim, es tracta de calcular el valor aproximat de la funció solució en els<br />

punts de la xarxa com hem fet en l’Exemple 4.<br />

Ens adonem que la fórmula de recurrència que hem trobat és la mateixa que<br />

la que teníem en l’exemple anterior, per tant, la solució aproximada és<br />

xi<br />

Mètode de Taylor d’ordre 2.<br />

ωi<br />

0 1<br />

0.1 1.0<br />

0.2 1.01<br />

0.3 1.029<br />

0.4 1.0561<br />

0.5 1.09049<br />

0.6 1.131441<br />

0.7 1.1782969<br />

0.8 1.2304672<br />

0.9 1.2874205<br />

1 1.3486785<br />

En aquest cas, s’aproxima la solució a partir del desenvolupament fins a ordre<br />

2. Geomètricament, equival a considerar aproximacions per paràboles.<br />

L’algorisme del mètode de Taylor d’ordre 2 ve donat per:<br />

ω0 = y(a)<br />

ωi+1 = ωi + hf(xi, ωi) + h2<br />

i =0÷ N − 1<br />

2<br />

µ<br />

∂f<br />

∂x (xi, ωi)+ ∂f<br />

∂y (xi,<br />

<br />

ωi)f(xi, ωi) ,<br />

Per a ordres més grans, el càlcul de les derivades es complica força i no són<br />

recomanables.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 77<br />

Exemple 4.6 Resoleu pel mètode de Taylor d’ordre 2 amb N=10, el problema<br />

de valors inicials<br />

½<br />

y0 = −y + x +1<br />

0 ≤ x ≤ 1<br />

y(0) = 1<br />

i calculeu els errors de truncament a cada pas.<br />

Com en el cas anterior, determinem els punts de la xarxa i identifiquem la<br />

funció f(x, y) aïllant y 0 .<br />

h =<br />

1 − 0<br />

10 =0.1<br />

xi = ih =0.1i<br />

f(x, y) = −y + x +1<br />

Per buscar la relació de recurrència que es compleix en aquest cas, abans<br />

hem de fer els càlculs de les derivades parcials que apareixen en l’algorisme.<br />

∂f<br />

(x, y) =1<br />

∂x<br />

Substituint a la fórmula s’obté:<br />

ωi+1 = ωi +0.1(−ωi + xi +1)+ (0.1)2<br />

∂f<br />

(x, y) =−1<br />

∂y<br />

(1 − 1(−ωi + xi +1))=<br />

2<br />

= ωi − 0.1ωi +0.1xi +0.1+0.005 + 0.005ωi − 0.005xi − 0.005 =<br />

= 0.905ωi +0.095xi +0.1.<br />

Un cop trobada la fórmula recurrent es tracta de calcular els valors aproximats<br />

de la funció solució. En aquest cas, com que coneixem la solució exacta<br />

buscarem també els errors de truncament a cada pas.<br />

i xi ωi y(xi) ei<br />

0 0 1 1 0<br />

1 0.1 1.005 1.0048374 0.0001626<br />

2 0.2 1.019025 1.0187308 0.0002942<br />

3 0.3 1.0412176 1.0408182 0.0003994<br />

4 0.4 1.0708019 1.0703201 0.0004818<br />

5 0.5 1.1070757 1.1065307 0.0005450<br />

6 0.6 1.1494035 1.1488116 0.0005919<br />

7 0.7 1.1972102 1.1965853 0.0006249<br />

8 0.8 1.2499753 1.249329 0.0006462<br />

9 0.9 1.3072276 1.3065697 0.0006579<br />

10 1 1.3685410 1.3678794 0.0006616<br />

Ens adonem que aquest mètode dóna menys error que el mètode d’Euler.


78 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

4.1.4 Mètodes de Runge-Kutta.<br />

Els mètodes de Runge-Kutta venen definits per algorismes de la forma<br />

⎧<br />

⎪⎨<br />

ω0 = y(a)<br />

kX<br />

⎪⎩ ωi+1 = ωi + h cj · ki j i =0÷ N − 1<br />

j=1<br />

on k ∈ N prefixat, cj constants i k i j<br />

rent ⎧ ⎪⎨<br />

⎪⎩<br />

k i 1 = f (xi, ωi)<br />

k i j = f (xi + ajh, ωi + h<br />

funcions definides per la fórmula recur-<br />

j−1<br />

X<br />

m=1<br />

amb aj, bjm constants a determinar.<br />

En destacarem dos mètodes:<br />

Mètode de Runge-Kutta d’ordre 2 (RK-2).<br />

bjm · k i m) j =2÷ k<br />

En aquest cas, d’algorismes n’hi ha infinits ja que el sistema d’equacions que<br />

s’obté a l’imposar que el mètode tingui ordre 2 és indeterminat.<br />

Per a2 = b21 =1i c1 = c2 =0.5, l’algorisme és:<br />

ω0 = y(a)<br />

ωi+1 = ωi + h 2 (f (xi, ωi)+f (xi + h, ωi + hf (xi, ωi))) i =0÷ N − 1<br />

que coincideix amb el què es coneix com mètode d’Euler modificat.<br />

Exemple 4.7 Resoleu pel mètode de Runge-Kutta d’ordre 2 amb N=10, el<br />

problema de valors inicials<br />

½<br />

y0 = −y + x +1<br />

0 ≤ x ≤ 1<br />

y(0) = 1<br />

i calculeu els errors de truncament a cada pas.<br />

Com en el cas anterior, determinem els punts de la xarxa i identifiquem la<br />

funció f(x, y) aïllant y 0 .<br />

h =<br />

1 − 0<br />

10 =0.1<br />

xi = ih =0.1i<br />

f(x, y) = −y + x +1


Ricard Dominguez, Imma Gilibets, M. Albina Puente 79<br />

Per buscar la relació de recurrència que es compleix en aquest cas substituim<br />

a la fórmula cada expressió<br />

ωi+1 = ωi + h<br />

2 (f (xi, ωi)+f (xi + h, ωi + hf (xi, ωi))) =<br />

= ωi + 0.1<br />

2 ((−ωi + xi +1)+f (xi +0.1, ωi +0.1(−ωi + xi +1)))=<br />

= ωi + 0.1<br />

2 ((−ωi + xi +1)− (ωi +0.1(−ωi + xi +1))+(xi +0.1) + 1) =<br />

= ωi + 0.1<br />

2 (−1.9ωi +1.9xi +2)=<br />

= ωi − 0.095ωi +0.095xi +0.1 =<br />

= 0.905ωi +0.095xi +0.1.<br />

Trobada la fórmula recurrent es tracta de calcular els valors aproximats de<br />

la funció solució. Ens adonem que obtenim la mateixa fórmula recurrent que<br />

en l’exemple del mètode de Taylor d’ordre 2 i, per tant, la taula de resultats<br />

coincideix.<br />

Mètode de Runge-Kutta d’ordre 4 (RK-4).<br />

L’algorisme del mètode RK-4 és:<br />

ω0 = y(a)<br />

ωi+1 = ωi + h<br />

on<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

6<br />

¡<br />

ki 1 +2ki 2 +2ki 3 + ki ¢<br />

4<br />

ki 1 = f (xi, ωi)<br />

ki 2 = f ¡ xi + h<br />

2 , ωi + h<br />

2 ki 1<br />

ki 3 = f ¡ xi + h<br />

2 , ωi + h<br />

2 ki 2<br />

ki 4 = f ¡ xi + h, ωi + hki 3<br />

¢<br />

¢<br />

¢<br />

i =0÷ N − 1<br />

Exemple 4.8 Resoleu pel mètode de Runge-Kutta d’ordre 4 amb N=10, el<br />

problema de valors inicials<br />

½<br />

y0 = −y + x +1<br />

0 ≤ x ≤ 1<br />

y(0) = 1<br />

i calculeu els errors de truncament a cada pas.<br />

Determinem els punts de la xarxa i la funció f(x, y), que són igual que en els<br />

exemples anteriors. Per calcular la fórmula de recurrència hem de començar<br />

determinant els valors de k i j .<br />

k i 1 = −ωi + xi +1


80 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

k i 2 = f (xi +0.05, ωi +0.05 (−ωi + xi +1))=<br />

= −0.95ωi +0.95xi +1<br />

k i 3 = f (xi +0.05, ωi +0.05 (−0.95ωi +0.95xi +1))=<br />

= −0.9525ωi +0.9525xi +1<br />

k i 4 = f (xi +0.05, ωi +0.05 (−0.9525ωi +0.9525xi +1))=<br />

= −0.90475ωi +0.90475xi +1<br />

Substituim els valors en la recurrència i obtenim:<br />

ωi+1 =0.9048375ωi +0.0951625xi +0.1<br />

Seguint el mateix procediment que en els exemples anteriors, la taula amb<br />

elsvalorsaproximatsdelafunciósolució i amb l’error de truncament a cada<br />

pas és:<br />

i xi ωi y(xi) ei<br />

0 0 1 1 0<br />

1 0.1 1.0048375 1.0048374 0.0000001<br />

2 0.2 1.0187309 1.0187308 0.0000001<br />

3 0.3 1.0408184 1.0408182 0.0000002<br />

4 0.4 1.0703203 1.0703201 0.0000002<br />

5 0.5 1.1065309 1.1065307 0.0000002<br />

6 0.6 1.1488120 1.1488116 0.0000004<br />

7 0.7 1.1965857 1.1965853 0.0000004<br />

8 0.8 1.2493294 1.2493290 0.0000004<br />

9 0.9 1.3065701 1.3065697 0.0000004<br />

10 1 1.3678799 1.3678794 0.0000005<br />

4.2 Problemes resolts.<br />

Problema 4.1 Trobeu l’algorisme del mètode d’Euler a partir d’una aproximació<br />

de l’àrea que queda per sota de la funció f(x, y) en l’interval [a, b],<br />

considerant la suma de les àrees per l’esquerra en cada subinterval.<br />

Considerem el problema de valors inicials<br />

i els punts de la xarxa<br />

y 0 = f(x, y), y(a) =yo amb a ≤ x ≤ b<br />

xi = a + ih on h =<br />

b − a<br />

N


Ricard Dominguez, Imma Gilibets, M. Albina Puente 81<br />

Aplicant el teorema fonamental del càlcul i la regla de Barrow al primer<br />

membre de la igualtat obtenim:<br />

Z xi+1<br />

xi<br />

f(x, y) dx =<br />

Z xi+1<br />

xi<br />

y 0 (x) dx = y(xi+1) − y(xi)<br />

Considerant l’àrea dels rectangles d’altura la part esquerra de la funció en<br />

l’interval i base h, per cada subinterval obtenim:<br />

(xi+1 − xi) · f (xi,yi) =h · f (xi,yi)<br />

Igualant els dos membres de l’equació tenim:<br />

y(xi+1) − y(xi) = h · f (xi,yi)<br />

y(xi+1) = y(xi)+h · f (xi,yi)<br />

i al considerar les successives aproximacions del valor exacte s’obté la fórmula<br />

del mètode d’Euler<br />

ωi+1 = ωi + h · f (xi, ωi)<br />

Problema 4.2 Useu el mètode d’Euler per aproximar la solució del problema<br />

de valor inicial:<br />

amb h =0.25.<br />

⎧<br />

⎨<br />

⎩<br />

y 0 = −xy + 4x<br />

y<br />

y(0) = 1<br />

0 ≤ x ≤ 1<br />

Calculeu l’error de truncament a cada pas sabent que y 2 (x) =4+Ce −x2<br />

solució general de l’equació.<br />

és


82 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

En primer lloc, busquem els punts de la xarxa (en aquest cas, ja ens donen<br />

el pas).<br />

xi =0+i 0.25 = 0.25 i<br />

Després, identifiquem la funció f (x, y) aïllant y 0 .<br />

f(x, y) =−xy + 4x<br />

y<br />

i busquem la relació de recurrència que ha de complir el mètode.<br />

ωi+1 =<br />

µ<br />

ωi + h −xiωi + 4xi<br />

<br />

=<br />

ωi<br />

ω2i − hxiω2 i +4hxi<br />

=<br />

ωi<br />

= ω2i − 0.25 · 0.25 i ω2i +4· 0.25 · 0.25 i<br />

=<br />

= ω2i − 0.0625 i ω2i ωi<br />

= ω2 i<br />

ωi<br />

+0.25 i<br />

=<br />

(1 − 0.0625 i)+0.25 i<br />

ωi<br />

Per últim, calculem els iterats -valors successius- a partir de la fórmula de<br />

recurrència:<br />

ω0 = 1<br />

ω1 = ω2 0<br />

ω2 = ω2 1<br />

ω3 = ω2 2<br />

ω4 = ω2 3<br />

(1 − 0.0625 · 0) + 0.25 · 0<br />

=1<br />

ω0<br />

(1 − 0.0625 · 1) + 0.25 · 1<br />

=1.1875<br />

ω1<br />

(1 − 0.0625 · 2) + 0.25 · 2<br />

=1.4601151<br />

ω2<br />

(1 − 0.0625 · 3) + 0.25 · 3<br />

=1.7000017<br />

ω3<br />

Per trobar la funció solució aproximada podem calcular el polinomi interpolador<br />

que passa per aquests punts.<br />

p(x) =−0.16489281x 4 − 0.84476639x 3 +2.2057154x 2 − 0.4960540x +1<br />

La solució general de l’equació diferencial és:<br />

y 2 (x) =4+e −x2<br />

C1<br />

i imposant la condició inicial obtenim:<br />

1 = 4+C1<br />

C1 = −3


Ricard Dominguez, Imma Gilibets, M. Albina Puente 83<br />

Per tant, la solució exacta és:<br />

y 2 (x) =4− 3e −x2<br />

.<br />

En el gràfic següent podem observar la diferència entre la solució exacta (la<br />

gràfica superior) i la solució aproximada (gràfica inferior).<br />

A part, construïm la taula de valors per veure quin és l’error de truncament<br />

acadapas.<br />

i xi ωi y(xi) ei<br />

0 0 1 1 0<br />

1 0.25 1 1.0870882 0.0870882<br />

2 0.5 1.1875 1.2898053 0.1023053<br />

3 0.75 1.4601151 1.5134898 0.0533747<br />

4 1 1.7000017 1.7018701 0.0018684<br />

Problema 4.3 Useu el mètode d’Euler per aproximar la solució del problema<br />

de valor inicial:<br />

en 6 punts.<br />

½<br />

y0 + y =0<br />

y(0) = 1<br />

0 ≤ x ≤ 1<br />

Aquesta equació diferencial és lineal homogènia i la seva solució general es<br />

troba seguint els passos següents:<br />

- reescrivim l’equació aïllant y0 :<br />

y 0 = −y<br />

- agrupem les variables a cada banda de la igualtat i integrem:<br />

y0 y<br />

Z<br />

y0 dy<br />

y<br />

=<br />

=<br />

−1<br />

Z<br />

−1 dx<br />

ln y = −x + C


84 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

- aïllem la funció solució i trobem:<br />

y = Ke −x<br />

- la solució particular s’obté imposant la condició inicial i determinant K:<br />

1 = Ke −0 = K<br />

y(x) = e −x .<br />

Apliquem el mètode d’Euler en 6 punts que trobarem per N =5. Per tant,<br />

busquem el pas, h, els punts de la xarxa, xi i la funció f(x, y) aïllant la<br />

derivada de l’equació.<br />

h =<br />

1 − 0<br />

5 =0.2<br />

xi = 0+i · 0.2 =0.2i f(x, y) = −y<br />

Busquem ara la relació de recurrència que s’ha de complir:<br />

ωi+1 = ωi + hf(xi, ωi) =ωi +0.2(−ωi) =0.8ωi<br />

En aquest cas, veiem que no hi intervenen els punts de la xarxa. Ara només<br />

queda calcular els iterats corresponents.<br />

x0 =0 ω0 =1<br />

x1 =0.2 ω1 =0.8ω0 =0.8<br />

x2 =0.4 ω2 =0.8ω1 =0.64<br />

x3 =0.6 ω3 =0.8ω2 =0.512<br />

x4 =0.8 ω4 =0.8ω3 =0.4096<br />

x5 =1 ω5 =0.8ω4 =0.32768<br />

La solució aproximada la trobem calculant el polinomi interpolador en els<br />

punts (xi, ωi) que és:<br />

p(x) =−0.0083x 5 +0.0583x 4 − 0.2283x 3 +0.6217x 2 − 1.1156x +1<br />

Gràficament veiem l’error que cometem: la funció inferior és la solució exacta<br />

i la que queda per sobre és el polinomi interpolador en els punts trobats


Ricard Dominguez, Imma Gilibets, M. Albina Puente 85<br />

numèricament.<br />

Problema 4.4 Utilitzeu el mètode RK-2 per aproximar la solució del problema<br />

de valor inicial:<br />

½<br />

y0 + y =0<br />

0 ≤ x ≤ 1<br />

y(0) = 1<br />

en 6 punts i calculeu l’error de truncament a cada pas.<br />

En aquest cas, pel problema anterior tenim els valors de:<br />

h = 0.2<br />

xi = 0.2i f(x, y) = −y<br />

i, per tant, només ens cal buscar la relació de recurrència per aplicar el<br />

mètode RK-2.<br />

ωi+1 = ωi + h<br />

2 (f (xi, ωi)+f (xi + h, ωi + hf(xi, ωi))) =<br />

= ωi + h<br />

2 (−ωi +(−ωi − h(−ωi))) =<br />

= ωi +0.1(−2ωi +0.2ωi) =0.82 ωi<br />

Calculem, doncs, els iterats corresponents i l’error de truncament a cada<br />

pas.<br />

xi ωi y(xi) =e −xi ei<br />

0 1 1 0<br />

0.2 0.82 0.8187307531 0.0012692469<br />

0.4 0.6724 0.6703200460 0.0020799540<br />

0.6 0.551368 0.5488116361 0.0025563639<br />

0.8 0.45212176 0.4493289641 0.0027927959<br />

1 0.3707398432 0.3678794412 0.0028604020


86 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

Problema 4.5 Donat el problema de valor inicial<br />

½ xy 0 =2y + x 3 e x<br />

y(1) = 0<br />

1 ≤ x ≤ 2<br />

(a) Comproveu que la funció y(x) =x 2 (e x +K) és solució de l’equació<br />

diferencial i trobeu la solució particular que compleixi la condició<br />

inicial.<br />

(b) Feu servir el mètode RK-4 amb h =0.2 per aproximar la solució<br />

i compareu-la amb els valors reals de y(x) calculant l’error de<br />

truncament a cada pas.<br />

(c) Useu els valors obtinguts en l’apartat anterior i interpolació lineal<br />

per trobar el valor aproximat de y(1.5) i y(1.95). Compareu-los<br />

amb el valor exacte de la solució.<br />

a) Per comprovar que y(x) =x 2 (e x + K) és solució de l’equació hem de<br />

substituir la funció i la seva derivada en l’equació i veure que es compleix la<br />

igualtat.<br />

Derivem la funció<br />

y 0 =2x (e x + K)+x 2 e x<br />

i substituim a cada membre de la igualtat:<br />

xy 0 = x(2x(e x + K)+x 2 e x )=2x 2 e x +2Kx 2 + x 3 e x<br />

2y + x 3 e x = 2(x 2 (e x + K)) + x 3 e x =2x 2 e x +2x 2 K + x 3 e x<br />

Com podem veure, els dos resultats coincideixen i, per tant, y(x) =x 2 (e x +<br />

K) és solució.<br />

Per trobar la solució particular busquem el valor que ha de prendre K imposant<br />

la condició inicial.<br />

0 = y(1) = 1 2 (e 1 + K) =e + K<br />

K = −e<br />

Per tant, la solució particular és:<br />

y(x) =x 2 (e x − e)<br />

b) Identifiquem els punts de la xarxa i la funció f(x, y).<br />

xi = 1+i · h =1+0.2 i<br />

f(x, y) = 2y<br />

x + x2 e x


Ricard Dominguez, Imma Gilibets, M. Albina Puente 87<br />

Apliquem el mètode RK-4 i, per tant, hem de calcular en cada pas els valors<br />

de ki j i la fórmula de recurrència.<br />

ωi+1 = ωi + h ¡ i<br />

k1 +2k<br />

6<br />

i 2 +2k i 3 + k i ¢<br />

4 i =0÷ N − 1<br />

ki 1 = f (xi, ωi)<br />

ki 2 = f ¡ xi + h<br />

2 , ωi + h<br />

2 ki ¢<br />

1<br />

ki 3 = f ¡ xi + h<br />

2 , ωi + h<br />

2 ki ¢<br />

2<br />

ki 4 = f ¡ xi + h, ωi + hki ¢<br />

3<br />

Les fórmules de recurrència es compliquen força degut a la forma de la funció<br />

inicial, per això farem els càlculs numèricament per a cada pas aplicant la<br />

definició. Els valors per a cada pas són:<br />

xi k i j ωi y(xi) ei<br />

1 0 0 0<br />

1.2<br />

1.4<br />

1.6<br />

1.8<br />

2<br />

k0 1 =2.718281828<br />

k0 2 =4.129273949<br />

k0 3 =4.385817971<br />

k0 4 =6.242907693<br />

k1 1 =6.224933556<br />

k1 2 =8.491684397<br />

k1 3 =8.840415295<br />

k1 4 =11.71170932<br />

k2 1 =11.69067839<br />

k2 2 =15.13554489<br />

k2 3 =15.59486042<br />

k2 4 =19.85315377<br />

k3 1 =19.82963211<br />

k3 2 =24.88189442<br />

k3 3 =25.47627822<br />

k3 4 =31.61769215<br />

k4 1 =31.59198845<br />

k4 2 =38.82156994<br />

k4 3 =39.58257851<br />

k4 4 =48.2647577<br />

0.8663791122 0.8666425368 0.0002634246<br />

2.619740521 2.620359552 0.000619031<br />

5.719895282 5.720961526 0.001066244<br />

10.7920176 10.79362466 0.00160706<br />

18.68085237 18.68309708 0.00224471<br />

c) Per trobar el valor aproximat de y(1.5) calculem el polinomi interpolador<br />

que passa pels punts (1.4, 2.619740521) i (1.6, 5.719895282) i busquem la<br />

imatge del punt 1.5 per aquest polinomi.<br />

El polinomi interpolador de grau 1 que passa per aquests punts és:<br />

p(x) =15.50077381 x − 19.08134281


88 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

i el valor aproximat de la funció solució en el punt 1.5 és:<br />

p(1.5) = 4.16981791<br />

El valor exacte de la funció solució en aquest punt és:<br />

Per tant, l’error comès serà:<br />

Fem el mateix pel punt 1.95.<br />

y(1.5) = (1.5) 2 (e 1.5 − e) =3.967616295<br />

| y(1.5) − p(1.5) | =0.202151615<br />

El polinomi interpolador de grau 1 que passa pels punts (1.8, 10.7920176)<br />

i (2, 18.68085237) és:<br />

El valor aproximat de la funció és:<br />

mentre que el valor exacte és:<br />

i, per tant, l’error comès és:<br />

q(x) =39.44417385 x − 60.200749533<br />

q(1.95) = 16.70864368<br />

y(1.95) = (1.95) 2 (e 1.95 − e) =16.39031788<br />

| y(1.95) − q(1.95) | =0.31832580<br />

Problema 4.6 Trobeu l’algorisme del mètode d’Euler modificat a partir<br />

d’una aproximació de l’àrea que queda per sota de la funció f(x, y) en l’interval<br />

[a, b], considerant la solució pel mètode del trapezi en cada subinterval.<br />

Considerem el problema de valors inicials<br />

i els punts de la xarxa<br />

y 0 = f(x, y), y(a) =yo amb a ≤ x ≤ b<br />

b − a<br />

xi = a + ih on h =<br />

N<br />

Aplicant el teorema fonamental del càlcul i la regla de Barrow al primer<br />

membre de la igualtat obtenim:<br />

Z xi+1<br />

xi<br />

f(x, y) dx =<br />

Z xi+1<br />

xi<br />

y 0 (x) dx = y(xi+1) − y(xi)


Ricard Dominguez, Imma Gilibets, M. Albina Puente 89<br />

Aplicant el mètode del trapezi a cada subinterval [xi,xi+1] obtenim:<br />

i tenint en compte que<br />

(xi+1 − xi) ·<br />

f (xi,yi)+f(xi+1,yi+1)<br />

2<br />

xi+1 = xi + h<br />

yi = ωi valor aproximat<br />

yi+1 = ωi + hf(xi, ωi) aproximació trobada pel mètode d’Euler<br />

trobem:<br />

ωi+1 − ωi = xi+1 − xi<br />

2<br />

( f(xi, ωi)+f (xi + h, ωi + hf(xi, ωi))<br />

ωi+1 = ωi + h<br />

2 ( f(xi, ωi)+f (xi + h, ωi + hf(xi, ωi))<br />

Problema 4.7 Donat el problema de valor inicial<br />

½<br />

y0 +2xy = e−x2 0 ≤ x ≤ 2<br />

y(0) = 1<br />

(a) Comproveu que y(x) =e−x2(x + K) és solució de l’equació diferencial<br />

i trobeu la solució particular que compleixi la condició<br />

inicial.<br />

(b) Usant el mètode de Taylor d’ordre 2, trobeu els valors aproximats<br />

de la funció solució en 9 punts i calculeu-ne l’error de truncament<br />

a cada pas.<br />

(c) Feu el mateix pel mètode RK-4.<br />

a) Per comprovar que y(x) =e−x2(x + K) és solució de l’equació hem de<br />

substituir la funció i la seva derivada en l’equació i veure que es compleix la<br />

igualtat.<br />

Derivem la funció<br />

y 0 = −2xe −x2<br />

(x + K)+e −x2<br />

i substituim a cada membre de la igualtat:<br />

y 0 +2xy = −2xe −x2<br />

(x + K)+e −x2<br />

+2xe −x2<br />

(x + K) =e −x2<br />

Com podem veure, la igualtat es compleix i, per tant, y(x) =e −x2<br />

(x + K)<br />

és solució.


90 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

Per trobar la solució particular busquem el valor que ha de prendre K imposant<br />

la condició inicial.<br />

Per tant, la solució particular és:<br />

1 = y(0) = e 0 (0 + K) =K<br />

K = 1<br />

y(x) =e −x2<br />

(x +1)<br />

b) Primerament identifiquem el pas, els punts de la xarxa i la funció f(x, y).<br />

h =<br />

2 − 0<br />

8 =0.25<br />

xi = 0+ ih=0.25 i<br />

f(x, y) = e −x2<br />

− 2xy<br />

Per aplicar el mètode de Taylor d’ordre 2 hem de calcular les derivades<br />

parcials de la funció f<br />

∂f<br />

(x, y) =−2xe−x2 − 2y<br />

∂x<br />

i substituir-les a la fórmula de recurrència<br />

ωi+1 = ωi +0.25( e −x2 i − 2xiωi)+ (0.25)2<br />

2<br />

∂f<br />

(x, y) =−2x<br />

∂y<br />

= ωi +0.25e −x2 i − 0.5xiωi − 0.0625xie −x2 i − 0.0625ωi<br />

−0.0625xie −x2 i +0.125x 2 i ωi<br />

= ωi(0.9375 − 0.5xi +0.125x 2 i )+0.25e −x2 i (1 − 0.5xi)<br />

(−2xie −x2 i − 2ωi − 2xi(e −x2 i − 2xiωi))<br />

Aplicant aquesta fórmula recurrent obtenim els següents valors:<br />

xi ωi y(xi) ei<br />

0 1 1 0<br />

0.25 1.1875 1.174266329 0.013233671<br />

0.5 1.179617702 1.168201175 0.011416527<br />

0.75 0.9938753699 0.9971199432 0.0032445733<br />

1 0.7179653238 0.7357588824 0.0177935586<br />

1.25 0.4498404246 0.4716256212 0.0217851966<br />

1.5 0.2480856581 0.2634980615 0.0154124034<br />

1.75 0.1228776037 0.1286192115 0.0057416078<br />

2 0.05618051484 0.05494691667 0.00123359817<br />

c) Aplicant el mètode de RK-4 obtenim els següents valors per a cada punt:<br />

x0 =0 ω0 =1<br />

y(x0) =1<br />

e0 =0


Ricard Dominguez, Imma Gilibets, M. Albina Puente 91<br />

x1 =0.25 k 0 1 =1 ω1 =1.174245038<br />

k 0 2 =0.7032464370 y(x1) =1.174266329<br />

k 0 3 =0.7125199858 e1 =0.000021291<br />

k 0 4 =0.3503480642<br />

x2 =0.5 k1 1 =0.3522905438 ω2 =1.168147115<br />

k1 2 = −0.0448959607 y(x2) =1.168201175<br />

k1 3 = −0.0076597259 e2 =0.000054060<br />

k1 4 = −0.3935293239<br />

x3 =0.75 k2 1 = −0.3893463319 ω3 =0.9970229233<br />

k2 2 = −0.7227146838 y(x3) =0.9971199432<br />

k2 3 = −0.6706258788 e3 =0.0000970199<br />

k2 4 = −0.9309531433<br />

x4 =1 k3 1 = −0.9257515603 ω4 =0.7356668011<br />

k3 2 = −1.077238774 y(x4) =0.7357588824<br />

k3 3 = −1.044100946 e4 =0.0000920813<br />

k3 4 = −1.104115933<br />

x5 =1.25 k4 1 = −1.103454161 ω5 =0.4716749832<br />

k4 2 = −1.062840868 y(x5) =0.4716256212<br />

k4 3 = −1.074263356 e5 =0.0000493620<br />

k4 4 = −0.9581410178<br />

x6 =1.5 k5 1 = −0.9695760708 ω6 =0.2638303625<br />

k5 2 = −0.8128370109 y(x6) =0.2634980615<br />

k5 3 = −0.8667160625 e6 =0.0003323010<br />

k5 4 = −0.6595886782<br />

x7 =1.75 k6 1 = −0.6860918630 ω7 =0.1292453866<br />

k6 2 = −0.5074071761 y(x7) =0.1286192115<br />

k6 3 = −0.5799978301 e7 =0.0006261751<br />

k6 4 = −0.3691375452<br />

x8 =2 k7 1 = −0.4055882308 ω8 =0.05571609309<br />

k7 2 = −0.2648215002 y(x8) =0.05494691667<br />

k7 3 = −0.3308059052 e8 =0.00076917642<br />

k7 4 = −0.1678600023


92 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

4.3 Problemes resolts amb Maple.<br />

Resolució exacta d’una equació diferencial.<br />

L’ordre dsolve del Maple V permet resoldre equacions diferencials de manera<br />

exacta. La seva sintaxi és:<br />

dsolve ( {equació, cond. inicial}, variable);<br />

En aquest apartat, veurem les diferents opcions a partir d’exercicis.<br />

Problema 4.8 Resoleu l’equació diferencial<br />

y 0 =<br />

³<br />

y<br />

´ 2<br />

+<br />

x<br />

y<br />

x<br />

Volem resoldre l’equació anterior respecte de la variable y(x). Escrivim la<br />

corresponent ordre de Maple i obtenim la solució.<br />

> dsolve ( diff(y(x),x)=(y/x)ˆ2 + y/x, y(x));<br />

1 1<br />

= (− ln x + C1)<br />

y (x) x<br />

Problema 4.9 Resoleu l’equació diferencial anterior amb la condició inicial<br />

y(1) = 1.<br />

En aquest cas, hem d’afegir la condició inicial a l’equació escrivint<br />

> dsolve ( {diff(y(x),x)=(y/x)ˆ2 + y/x, y(1) = 1}, y(x));<br />

y(x) =<br />

−x<br />

ln(x) − 1<br />

Resolució numèrica d’una equació diferencial amb dsolve.<br />

La mateixa ordre dsolve, afegint unes opcions, ens permet trobar els punts<br />

solució de manera numèrica utilitzant els diferents mètodes que hem vist en<br />

aquest capítol. La sintaxi de l’ordre, en aquest cas, és la següent:<br />

type =<br />

dsolve ({equacions, condició inicial}, variable,<br />

numeric, method = classical [mètodes], opcions);


Ricard Dominguez, Imma Gilibets, M. Albina Puente 93<br />

En els mètodes podem posar-hi:<br />

(a) el mètode Runge Kutta d’ordre 2 (RK-2) rk2<br />

(b) el mètode Runge Kutta d’ordre 4 (RK-4) rk4<br />

Per defecte, agafa el mètode d’Euler modificat.<br />

En les opcions podem demanar com volem que surtin els resultats, per a<br />

quin valor volem començar o bé quin és el pas del mètode. Aquests opcions<br />

les veurem en els següents exemples.<br />

Problema 4.10 Resoleu l’exercici anterior<br />

y 0 =<br />

³<br />

y<br />

´ 2<br />

+<br />

x<br />

y<br />

, y(1) = 1<br />

x<br />

pel mètode RK-2 amb pas h =0.1 isabentquex ∈ [1, 1.2].<br />

En aquest cas, volem resoldre el problema numèricament i presentarem els<br />

resultats en forma de matriu. L’ordre de Maple serà:<br />

>sol1:= dsolve ( {diff(y(x),x)=(y/x)ˆ2+y/x, y(1) = 1}, y(x), type =<br />

numeric, method = classical[rk2], value = array([1., 1.1, 1.2]));<br />

⎡<br />

⎡<br />

[x,<br />

⎢<br />

sol1 := ⎢ 1.<br />

⎣ ⎣ 1.1<br />

y(x)]<br />

1.<br />

1.215880763<br />

1.2 1.467555754<br />

Problema 4.11 El mateix pel mètode RK-4.<br />

⎤<br />

⎤<br />

⎥<br />

⎦ ⎦<br />

L’ordre és la mateixa i només ens cal especificarelmètodepelqualho<br />

resolem:<br />

>sol:= dsolve ( {diff(y(x),x)=(y/x)ˆ2 + y/x, y(1) = 1}, y(x), type =<br />

numeric, method = classical[rk4], value = array([1., 1.1, 1.2]));<br />

⎡<br />

⎡<br />

[x,<br />

⎢<br />

sol := ⎢ 1.<br />

⎣ ⎣ 1.1<br />

y(x)]<br />

1.<br />

1.215886346<br />

1.2 1.467569567<br />

⎤<br />

⎦<br />

⎤<br />

⎥<br />


94 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

Resolució numèrica d’una e.d.o. fent un petit programa.<br />

Això mateix ho podem obtenir si fem un petit programa amb Maple, indicant<br />

l’equació i la fórmula de recurrència corresponent per a cada mètode.<br />

Elspassosqueseguiremsón:<br />

1. Definim la funció f(x, y)<br />

> f:= (x,y)->(y/x)^2+(y/x);<br />

f := (x, y) →<br />

³<br />

y<br />

´ 2<br />

+<br />

x<br />

y<br />

x<br />

2. introduïm el pas del mètode, l’interval on es mou la variable independent<br />

ielnúmerod’iterats(N).<br />

> a:=1.; b:=1.2; h:=0.1; N:=2;<br />

3. definim les condicions inicials:<br />

> x[0]:=a; w[0]:=1.;<br />

a : = 1.<br />

b : = 1.2<br />

h : = .1<br />

N : = 2<br />

x0 : = 1.<br />

w0 : = 1.<br />

4. fem un petit programa per a obtenir els punts solució amb cadascun dels<br />

mètodes tractats:<br />

4.1. Pel mètode d’Euler.<br />

> for i from 0 to N-1 do<br />

x[i+1]:= x[i] + h;<br />

w[i+1]:= w[i] + h * f( x[i], w[i] );<br />

od;<br />

x1 : = 1.1<br />

w1 : = 1.2<br />

x2 : = 1.2<br />

w2 : = 1.428099174


Ricard Dominguez, Imma Gilibets, M. Albina Puente 95<br />

4.2. Pel mètode de Runge-Kutta d’ordre 4 (RK-4).<br />

> for i from 0 to N-1 do<br />

k1[i]:= f( x[i], w[i] );<br />

k2[i]:= f( x[i] + h/2, w[i] + h/2 * k1[i] );<br />

k3[i]:= f( x[i] + h/2, w[i] + h/2 * k2[i] );<br />

k4[i]:= f( x[i] + h, w[i] + h * k3[i] );<br />

w[i+1]:= w[i] + h/6 * (k1[i] + 2 * k2[i] + 2 * k3[i] + k4[i]);<br />

x[i+1]:= x[i] + h;<br />

od;<br />

k10 : = 2.<br />

k20 : = 2.145124717<br />

k30 : = 2.166562739<br />

k40 : = 2.329400322<br />

w1 : = 1.215879587<br />

x1 : = 1.1<br />

k11 : = 2.327132823<br />

k21 : = 2.500510419<br />

k31 : = 2.525570800<br />

k41 : = 2.721132115<br />

w2 : = 1.467553377<br />

x2 : = 1.2<br />

4.3. Pel mètode de Taylor d’ordre 2.<br />

> for i from 0 to N-1 do<br />

w[i+1]:= w[i] + h*f(x[i],w[i]) +h ^2/2∗( D[1](f)(x[i], w[i]) + D[2](f)(x[i],<br />

w[i])*f(x[i], w[i]));<br />

x[i+1]:= x[i] + h;<br />

od;<br />

w1 : = 1.215<br />

x1 : = 1.1<br />

w2 : = 1.465252781<br />

x2 : = 1.2<br />

4.4. Pel mètode de Runge-Kutta d’ordre 2 (RK-2) calculant l’error de truncament<br />

a cada pas.


96 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

> for i from 0 to N-1 do<br />

w[i+1]:= w[i] + h/2 * (f(x[i],w[i]) + f(x[i]+h,w[i]+h*f(x[i],w[i])));<br />

x[i+1]:= x[i] + h;<br />

y[i+1]:= x[i+1] /(1- ln (x[i+1]));<br />

er[i+1]:=abs(w[i+1]-y[i+1]);<br />

od;<br />

w1 : = 1.214049587<br />

x1 : = 1.1<br />

y1 : = 1.215886346<br />

er1 : = .001836759<br />

w2 : = 1.463053085<br />

x2 : = 1.2<br />

y2 : = 1.467569568<br />

er2 : = .004546483<br />

Problema 4.12 Resoleu l’equació diferencial<br />

½ (1 + x)y 0 +(1+2x)y =(1+x) 2<br />

y(1) = 0<br />

, 1 ≤ x ≤ 2<br />

(a) de manera exacta amb l’ordre dsolve del Maple.<br />

(b) Feu un petit programa que aproximi la solució pel mètode RK-2<br />

amb un pas h =0.25.<br />

(c) Comproveu la solució d’aquest programa amb la que ens dóna el<br />

Maple directament.<br />

a) Directament escrivim la comanda dsolve.<br />

> dsolve ({(1+x)*diff(y(x),x)+(1+2*x)*y=(1+x) ^2, y(1)=0}, y(x));<br />

b) El petit programa serà:<br />

y(x) = 1 e−2x+2<br />

−<br />

2 2<br />

> f:=(x,y)->((1+x) ^2-(1+2*x)*y)/(1+x);<br />

x xe−2x+2<br />

+ −<br />

2 2<br />

f := (x, y) → (1 + x)2 − (1 + 2x)y<br />

(1 + x)


Ricard Dominguez, Imma Gilibets, M. Albina Puente 97<br />

> a:=1.; b:=2.; h:=0.25; N:=(b-a)/h;<br />

> x[0]:=a; y[0]:=0;<br />

for i from 0 to N-1 do<br />

od;<br />

a : = 1.<br />

b : = 2.<br />

h : = .25<br />

N : = 4.000000000<br />

y[i+1]:= y[i] + h/2 * (f(x[i],y[i]) + f(x[i]+h, y[i]+h*f(x[i],y[i])));<br />

x[i+1]:= x[i] + h;<br />

x0 : = 1.<br />

y0 : = 0<br />

y1 : = .4340277778<br />

x1 : = 1.25<br />

y2 : = .7778356482<br />

x2 : = 1.50<br />

y3 : = 1.055215962<br />

x3 : = 1.75<br />

y4 : = 1.284993687<br />

x4 : = 2.00<br />

c) Resolent pel mètode RK-2 el problema anterior amb l’ordre de Maple<br />

corresponent tenim:<br />

> dsolve({(1+x)*diff(y(x),x)+(1+2*x)*y(x)=(1+x) ^2, y(1)=0} ,y(x), type=numeric,<br />

method=classical[rk2], value=array([1.,1.25,1.5,1.75,2.]));<br />

⎡<br />

⎡<br />

⎢ ⎢<br />

⎢ ⎢<br />

⎢ ⎢<br />

⎢ ⎢<br />

⎣ ⎣<br />

[x, y(x)]<br />

1.<br />

1.25<br />

1.5<br />

1.75<br />

2.<br />

0<br />

.4426503780<br />

.7901469946<br />

1.068192176<br />

1.296993557<br />

⎤<br />

⎤<br />

⎥<br />

⎥ ⎥<br />

⎥ ⎥<br />

⎥ ⎥<br />

⎥ ⎥<br />

⎦ ⎦<br />

Observem que hi ha un cert error entre els resultats del programa i els que<br />

ens dóna el Maple directament degut a la precisió en els càlculs.


98 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

4.4 Problemes proposats.<br />

1. Resoleu numèricament pel mètode d’Euler i pel mètode RK-4 el problema<br />

de valor inicial<br />

y 0 + y + xy 2 =0, y(0) = 1<br />

per 0 ≤ x ≤ 1 i amb un pas h =0.25.<br />

2. Determineu la fórmula de recurrència que hem d’aplicar per resoldre pel<br />

mètode RK-2 i Taylor d’ordre 2, amb pas h =0.1, el problema de valor<br />

inicial ½ y 0 − 2y tan x =2tanx<br />

y(0) = 1<br />

3. Donat el problema de valor inicial<br />

½ x 2 (y 0 + y 2 )=1− xy<br />

y(1) = −1<br />

amb solució exacta y(x) = −1<br />

x .<br />

1 ≤ x ≤ 2<br />

(a) Useu el mètode de Euler amb h =0.05 per aproximar la solució<br />

i compareu-la amb els valors reals de la solució. Calculeu l’error<br />

de truncament en cada pas.<br />

(b) Feu interpolació lineal per aproximar els valors de y(1.052) i<br />

y(1.978) icompareu-losambelsvalorsreals.<br />

(c) Repetiu els apartats a) i b) fent servir el mètode RK-4 amb h =<br />

0.05.<br />

4. Donat el problema de valor inicial<br />

½ xyy 0 + y 2 =2x<br />

y(0) = 2<br />

0 ≤ x ≤ 2<br />

(a) Useu el mètode d’Euler per aproximar la solució en els punts de<br />

la xarxa donats per h =0.4.<br />

(b) Feu el mateix amb el mètode RK-4.<br />

5. Donat el problema de valor inicial<br />

½ y 0 +2y =1<br />

y(0) = 5 2<br />

0 ≤ x ≤ 1<br />

(a) Useu el mètode d’Euler amb h =0.25 per aproximar la solució<br />

del problema.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 99<br />

(b) Utilitzant els valors obtinguts en l’apartat anterior i interpolació<br />

lineal, doneu el valor aproximat de la solució en el punt 0.6.<br />

6. Feu servir el mètode de Taylor d’ordre 2 amb N =6punts per aproximar<br />

la solució del problema de valor inicial<br />

½ y 0 = x 2<br />

y(0) = 0<br />

0 ≤ x ≤ 2<br />

compareu els resultats amb la solució exacta i calculeu-ne l’error de truncament<br />

en cada pas.<br />

7. Repetiu l’exercici anterior usant el mètode RK-4.<br />

8. Donat el problema de valor inicial<br />

½<br />

y0 + y cos x =sinx · cos x<br />

y(0) = 0<br />

comproveu que la funció<br />

y(x) =Ce − sin x +sinx − 1<br />

0 ≤ x ≤ 1<br />

és solució de l’equació i busqueu la solució particular que compleix la condició<br />

inicial.<br />

9. Resoleu l’equació diferencial<br />

½ y 0 =sinx + e −x<br />

y(0) = 0<br />

, 0 ≤ x ≤ 1<br />

(a) de manera exacta amb l’ordre dsolve del Maple.<br />

(b) Feu un petit programa que aproximi la solució pel mètode RK-2<br />

amb un pas h =0.5.<br />

(c) Comproveu la solució d’aquest programa amb la que ens dóna el<br />

Maple directament.<br />

10. Donada l’equació diferencial<br />

½ xy 0 =3y<br />

y(0) = 0<br />

, 0 ≤ x ≤ 1<br />

(a) Resoleu exactament l’equació anterior amb l’ordre dsolve del<br />

Maple<br />

(b) Feu un petit programa que aproximi la solució pel mètode RK-4<br />

amb un pas h =0.1.


100 Cap. 4 Equacions diferencials ordinàries de 1er. ordre.<br />

(c) Comproveu la solució d’aquest programa amb la que ens dóna el<br />

Maple directament.<br />

11. Resoleu l’equació diferencial<br />

½ y 0 =4· x · y 1/2<br />

y(0) = 1<br />

, 0 ≤ x ≤ 1<br />

(a) de manera exacta amb l’ordre dsolve del Maple.<br />

(b) Feu un petit programa que aproximi la solució pel mètode d’Euler<br />

amb un pas h =0.1.<br />

(c) Feu un petit programa que doni la solució aproximada pel mètode<br />

de Taylor d’ordre 2 amb un pas h =0.25.<br />

12. Resoleu les equacions diferencials següents:<br />

(a) Pel mètode d’Euler amb h =0.5<br />

½<br />

x · ln x · y0 = −(x + y)<br />

y(0) = 1<br />

(b) Pel mètode de Taylor d’ordre 2 amb h =0.2<br />

½ x 2 y 0 = y − xy<br />

y(−1) = −1<br />

, 0 ≤ x ≤ 2<br />

, −1 ≤ x ≤ 0<br />

(c) Pel mètode de Runge-Kutta d’ordre 2 amb h =0.1<br />

⎧<br />

⎨<br />

⎩<br />

y0 y − x<br />

=<br />

y + x<br />

y(0) = 1<br />

, 0 ≤ x ≤ 0.5<br />

(d) Pel mètode de Runge-Kutta d’ordre 4 amb h =0.2<br />

½ (x 2 +4)y 0 =2x − 8 xy<br />

y(0) = −1<br />

, 0 ≤ x ≤ 1


Capítol 5<br />

Zeros de funcions<br />

5.1 Resum teòric i exemples<br />

5.1.1 Introducció<br />

Molt freqüentment, la solució d’un problema científic queda reduït a resoldre<br />

una equació del tipus f(x) =0, que no pot ser resolta per cap mètode<br />

algebraic, és a dir, on és impossible de determinar la solució exacta. En<br />

aquest capítol treballarem una sèrie de mètodes numèrics, basats en processos<br />

iteratius que ens aniran aproximant, sota certes condicions, a la solució.<br />

Definició 5.1 Anomenem arrel o solució d’una equació f(x) =0a un valor<br />

α tal que f(α) =0. Enaquestcasesdiutambéqueα és un zero d 0 f.<br />

En qualsevol procés de càlcul de zeros d’una equació es poden distingir 3<br />

fases:<br />

1. Localització de l’arrel: determinarem un interval que contingui l’arrel<br />

a partir del teorema de Bolzano.<br />

2. Separació de l’arrel: determinarem intervals que continguin una sola<br />

arrel a partir del teorema de Rolle.<br />

3. Aproximació numèrica de l’arrel: construirem una successió de valors<br />

que convergeixin cap a l’arrel buscada.<br />

La idea d’aquest darrer pas consisteix a construir una successió x0,x1,...,xn tal<br />

que lim<br />

n→∞ xn = α.<br />

101


102 Cap. 5 Zeros de funcions<br />

Fixat un error ²>0, aturarem el mètode iteratiu quan es verifiqui una<br />

d’aquestes desigualtats:<br />

(a) |xn − α|


Ricard Dominguez, Imma Gilibets, M. Albina Puente 103<br />

que té un únic punt de tall amb l’eix OX al’interval[0, π<br />

2 ].<br />

• Localització de l’arrel<br />

Veurem que la funció f(x) =cosx−xté una arrel a l’interval I =[0, π<br />

2 ]<br />

aplicant el teorema de Bolzano.<br />

• Separació de l’arrel<br />

f(x) contínua en I<br />

f(0) = 1 > 0<br />

f( π<br />

2 )=−π < 0<br />

2<br />

⎫<br />

⎪⎬<br />

⎪⎭<br />

π<br />

⇒∃α ∈ (0, ) | f(α) =0<br />

2<br />

Veurem que f(x) =cosx − x té una única arrel a l’interval (0, π<br />

2 )<br />

aplicant el teorema de Rolle.<br />

f(x) és derivable en R<br />

f 0 (x) =− sin x − 1 6= 0 ∀x ∈ (0, π<br />

) ⇒ f(x) =0té com a màxim<br />

2<br />

una arrel (que a l’apartat anterior ja hem vist que existia).<br />

• Aplicació del mètode de la bisecció<br />

Partim de l’interval I =[0, π<br />

2 ]=[a1 ,b1] i anem calculant iterats<br />

xn = an + bn<br />

2<br />

fins que |xn − xn−1| ≤ 1<br />

× 10−1<br />

2


104 Cap. 5 Zeros de funcions<br />

n an bn xn |xn − xn−1| sig(f(xn))<br />

π 1 0 2<br />

π 2 0 4<br />

π π 3 8 4<br />

3π π 4 16 4<br />

7π π 5 32 4<br />

π<br />

4 =0.785398163 −<br />

π<br />

8 =0.392699081 0.392699082 +<br />

3π<br />

16 =0.589048622 0.196349541 +<br />

7π<br />

32 =0.687223393 0.098174771 +<br />

=0.736310778 0.049087385 +<br />

15π<br />

64<br />

Així doncs, l’aproximació seria x5 =0.736310778 ' α<br />

Per a la segona part del problema volem trobar el número d’iteracions<br />

necessàries, n, per tal d’obtenir una aproximació amb 4 decimals<br />

exactes. Farem servir el fet que:<br />

Imposarem que:<br />

|xn − α| ≤<br />

b − a<br />

2 n<br />

b − a<br />

≤ 0.5 × 10−4<br />

2n En el nostre cas a =0i b = π<br />

, per tant, el nostre problema queda<br />

2<br />

reduit a trobar n en:<br />

Fent operacions arribem a:<br />

π 1<br />

≤<br />

2n+1 2 × 10−4 , n?<br />

2 n ≥ π × 10 4 ⇐⇒ n ln 2 ≥ ln(π × 10 4 ) ⇐⇒ n ≥ ln(π × 104 )<br />

ln 2<br />

Per tant, tindrem la precisió desitjada amb n ≥ 15.<br />

5.1.3 Mètode de Newton-Raphson<br />

' 14.9392<br />

Si representem gràficament la funció y = f(x) podem expressar el problema<br />

de buscar α tal que f(α) =0 dient que cerquem el punt d’intersecció de la<br />

corba y = f(x) amb l’eix OX.<br />

La idea intuïtiva d’aquest mètode consisteix a substituir la corba per la recta<br />

tangent en cada punt del procés iteratiu i fer a continuació la intersecció amb


Ricard Dominguez, Imma Gilibets, M. Albina Puente 105<br />

l’eix OX per obtenir el següent iterat.<br />

Així, la descripció del mètode, a partir d’una aproximació inicial de l’arrel,<br />

x0, serà:<br />

xn+1 = xn − f(xn)<br />

f 0 , n ≥ 0<br />

(xn)<br />

Teorema 5.2 Si es verifiquen les següents condicions:<br />

1. f ∈ C 2 ([a, b])<br />

2. f(a) · f(b) < 0<br />

3. f 0 (x) 6= 0 ∀x ∈ [a, b]<br />

4. |f 00 (x)| ≤ M


106 Cap. 5 Zeros de funcions<br />

Exemple 5.2 Calculeu aplicant el mètode de Newton-Raphson una aproximació<br />

amb 4 decimals<br />

¤<br />

exactes de la solució de l’equació cos x − x =0a<br />

.<br />

l’interval I = £ 0, π<br />

2<br />

Ja no és necessari fer els processos de localització i separació de l’arrel, ja<br />

que els hem fet a l’exemple anterior. Passem doncs a comprovar les hipòtesis<br />

del teorema i, a continuació, a aplicar el mètode iteratiu.<br />

• Comprovació del teorema<br />

f(x) =cosx − x ∈ C 2 ([0, π<br />

2 ])<br />

f(0) · f( π<br />

) < 0<br />

2<br />

f 0 (x) =− sin x − 1 6= 0 ∀x ∈ [0, π 2 ]<br />

|f 00 (x)| = |− cos x| ≤ 1 < ∞<br />

Per tant podem assegurar que existeix I0 ⊆ I tal que la successió<br />

definida per<br />

⎧<br />

⎨<br />

⎩<br />

x0 ∈ I0<br />

xn+1 = xn − f(xn)<br />

f 0 , n ≥ 0<br />

(xn)<br />

convergirà cap a un zero de la funció.<br />

• Aplicació del mètode de Newton-Raphson<br />

h<br />

I = 0, π<br />

i<br />

,<br />

2<br />

x0 = π<br />

4 , xn+1 = xn − cos xn − xn<br />

−1 − sin xn<br />

Aturarem el procés quan |f(xn)| ≤ 1<br />

2 × 10−4 .<br />

Construïm la següent taula:<br />

n xn |f(xn)|<br />

0 0.785398163 0.07829<br />

1 0.7395361337 0.754 × 10 −3<br />

2 0.7390851781 0.749 × 10 −7<br />

L’aproximació de l’arrel serà α ' 0.7390851781<br />

Observem que amb aquest mètode la convergència és més ràpida que amb<br />

el mètode de bisecció.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 107<br />

5.1.4 Mètode de la secant<br />

És similar al mètode anterior, però en lloc d’aproximar la corba per la recta<br />

tangent ho fem a partir de rectes secants que passen per 2 aproximacions<br />

consecutives de l’arrel.<br />

Així, la descripció del mètode, a partir de dues aproximacions de l’arrel, x0,x1,<br />

serà:<br />

xn − xn−1<br />

xn+1 = xn − f(xn) ·<br />

, n ≥ 1<br />

f(xn) − f(xn−1)<br />

Exemple 5.3 Calculeu, aplicant el mètode de la secant, una aproximació<br />

ambh4 decimals exactes de la solució de l’equació cos x − x =0al’interval<br />

I = 0, π<br />

i<br />

.<br />

2<br />

La localització i la separació de l’arrel ja està feta al primer exemple, per<br />

tant, passem directament a aplicar el mètode iteratiu.<br />

Considerem f(x) =cosx − x<br />

Iniciem el procés amb x0 =0 i x1 = π<br />

2 il’aturemquan:<br />

Construïm la següent taula d’iterats:<br />

xn+1 = xn − (cos xn − xn) ·<br />

|xn − xn−1| ≤ 1<br />

× 10−4<br />

2<br />

xn − xn−1<br />

, n ≥ 1<br />

(cos xn − xn) − (cos xn−1 − xn−1)<br />

n xn |xn − xn−1|<br />

0 0<br />

1 1.57079632 1.57079632<br />

2 0.6110154704 0.9597808566<br />

3 0.7232695414 0.1122540710<br />

4 0.7395671070 0.0162975656<br />

5 0.7390834365 0.0004836705<br />

6 0.7390851330 0.16965 × 10 −5<br />

L’aproximació de l’arrel serà α ' 0.7390851330<br />

5.1.5 Mètode del punt fix<br />

Tots els mètodes exposats fins ara estaven indicats per a resoldre equacions<br />

del tipus f(x) =0, però que poden convertir-se en problemes de la forma


108 Cap. 5 Zeros de funcions<br />

x = g(x). Amb aquest nou plantejament, la interpretació geomètrica queda<br />

reduïda a trobar un punt fixdelanovafuncióg(x). La idea serà, partint d’un<br />

punt inicial x0 ∈ R, calcular successives imatges: x0,g(x0),g 2 (x0),...,g n (x0), obtenint<br />

una successió, el límit de la qual, és el punt fix que busquem. Quan ens restringim<br />

a un interval I, és necessari que g(x) ∈ I, ∀x ∈ I per tal que es<br />

pugui realitzar el procés xn+1 = g(xn).<br />

Sota quines condicions una funció g : I → I tindrà un punt fix?<br />

Quan la successió d’imatges successives convergirà cap aquest punt fix?<br />

Teorema 5.3 (del punt fix)<br />

Sigui g :[a, b] → [a, b] , g ∈ C 1 [a, b] tal que |g 0 (x)| ≤ L


Ricard Dominguez, Imma Gilibets, M. Albina Puente 109<br />

• g(x) ∈ C 1 ([−1, 1])<br />

• g([−1, 1]) ⊂ [−1, 1]<br />

Per demostrar aquest apartat cerquem els extrems absoluts de g(x) en<br />

I =[−1, 1]:<br />

Apliquem el teorema de Weierstrass:<br />

gcontínuaenI =[−1, 1] ⇒∃max g(x) i ∃ min g(x) ∀x ∈ [−1, 1]<br />

— Punts crítics de l’interval obert:<br />

g0 (x) = 2 3x =0⇒ x =0∈ (−1, 1)<br />

@g0 (x) :no hi ha candidats<br />

— Extrems de l’interval<br />

x = −1<br />

x =1<br />

— Imatges dels candidats<br />

g(0) = − 1<br />

3<br />

g(−1) = 0<br />

g(1) = 0<br />

— Per tant, − 1<br />

≤ g(x) ≤ 0 ∀x ∈ [−1, 1], icomque[−1,<br />

0] ⊂<br />

3 3<br />

[−1, 1], d’aquí deduïm que g([−1, 1]) ⊂ [−1, 1]<br />

•|g0 (x)| ≤ L


110 Cap. 5 Zeros de funcions<br />

1<br />

≤ h(x) ≤ 1 ∀x ∈ [0, 1],<br />

3<br />

∙ ¸<br />

1<br />

per tant, donat que , 1 ⊂ [0, 1], podem deduir que h([0, 1]) ⊂ [0, 1]<br />

3<br />

•|h0 (x)| ≤ L


Ricard Dominguez, Imma Gilibets, M. Albina Puente 111<br />

Calculem ara el número d’iteracions per obtenir 4 decimals exactes. Per<br />

això farem servir el fet que:<br />

|xn − α| ≤ L n (b−a), on en el nostre cas, L =sin1, a =0i b =1.Imposarem<br />

doncs:<br />

L n (b − a) ≤ 0.5 × 10 −4<br />

(sin 1) n ≤ 0.5 × 10 −4<br />

Si prenem logaritmes neperians obtenim:<br />

n ln(0.8414709) ≤ ln(5 × 10 −5 ) ⇒ n ≥ ln(5 × 10−5 )<br />

' 57.377<br />

ln(0.8414709)<br />

Per tant, podem assegurar la precisió demanada amb 58 iteracions.<br />

b)Calculem ara els cinc primers iterats a partir de:<br />

½ x0 ∈ I<br />

xn+1 = g(xn) n ≥ 0<br />

En el nostre cas la descripció del procés iteratiu vindrà donat per:<br />

½ x0 =0.5<br />

xn+1 =cosxn n ≥ 0<br />

Obtenim els següents resultats:<br />

x1 = cosx0 =0.877582568<br />

x2 = cosx1 =0.639012494<br />

x3 = cosx2 =0.8026851<br />

x4 = cosx3 =0.694778026<br />

x5 = cosx4 =0.768195831<br />

5.1.6 Equacions polinòmiques<br />

Peral’obtenciódelszerosdepolinomisdegrau2,3ó4esconeixenfórmules<br />

generals. En canvi, per a graus superiors, aquestes fórmules no existeixen.<br />

Així, si eliminem els casos en què la factorització del polinomi apareix com a<br />

evident, convindrà utilitzar mètodes numèrics per a determinar-ne els zeros.<br />

Teorema 5.4 ( de Gerschgorin)<br />

Donat P (x) =anx n + an−1x n−1 + ... + a1x + a0 amb ai ∈ Roai ∈ C i<br />

an 6= 0. Sigui z una arrel de P(x):<br />

1.Si A=max{|a0| , |a1| ,...,|an−1|} , llavors:


112 Cap. 5 Zeros de funcions<br />

|z| < 1+ A<br />

= R<br />

|an|<br />

2.Si B=max{|a1| , |a2| ,...,|an|} , llavors:<br />

|z| ><br />

1<br />

1+ B<br />

|a0|<br />

Aquest teorema ens proporciona una fitació del mòdul de les arrels, és a dir,<br />

si z és una arrel de P(x), llavors r


Ricard Dominguez, Imma Gilibets, M. Albina Puente 113<br />

Estudiem el número de canvis de signe dels coeficients del polinomi P (x):<br />

3 2 −5 1<br />

& . & . & .<br />

nc c c<br />

Tenim 2 canvis de signe i això ens permet afirmar que P (x) té com a màxim<br />

2 arrels positives, és a dir, pot tenir-ne 2, 1 o cap; però, com que el número<br />

de les arrels ha de tenir la mateixa paritat que el número de canvis, només<br />

queden 2 opcions: o té 2 arrels positives o no en té cap.<br />

Estudiem el número de canvis de signe dels coeficients del polinomi P (−x):<br />

−3 −2 5 1<br />

& . & . & .<br />

nc c nc<br />

Tenim 1 canvi de signe. Aplicant el raonament anterior podem afirmar que<br />

P (x) tindrà, com a màxim, 1 arrel negativa, és a dir, pot tenir-ne una o cap;<br />

però com que el número de les arrels ha de tenir la mateixa paritat que el<br />

número de canvis , tant sols queda una possibilitat, només en té una.<br />

5.2 Problemes resolts<br />

Problema 5.1 Comproveu que l’equació x − e 1<br />

x =0té una única solució.<br />

Aproximeu-la amb un decimal exacte pels mètodes de:<br />

(a) Bisecció. Quants passos caldria per aconseguir 6 decimals exactes?<br />

(b) Newton-Raphson<br />

(c) Secant<br />

Comprovem en primer lloc que, efectivament, l’equació té una única arrel.


114 Cap. 5 Zeros de funcions<br />

Si fem una representació gràfica aproximada observem que es troba a l’interval<br />

[1, 2].<br />

f(x) =x − e 1<br />

x és contínua i derivable en R − {0}.<br />

f 0 (x) =1+e 1<br />

x . 1<br />

x 2 > 0 ∀x 6= 0<br />

Com a conseqüència del teorema de Rolle, si f 0 (x) =0no té cap solució,<br />

llavors f(x) =0comamàximentindrà1.<br />

Localitzem l’arrel aplicant el teorema de Bolzano:<br />

f contínua en I =[1, 2]<br />

f(1) = 1 − e 0<br />

a) Apliquem ara el mètode de bisecció tenint present que cada iterat s’obté<br />

fent el punt mig de l’interval en el qual ens trobem a cada pas:<br />

xn = an + bn<br />

2<br />

on a1 =1 i b1 =2.<br />

Aturarem el procés iteratiu quan:<br />

Construïm la següent taula:<br />

|xn − xn−1| ≤ 0.5 × 10 −1<br />

n an bn xn |xn − xn−1| sig(f(xn))<br />

1 1 2 1.5 −<br />

2 1.5 2 1.75 0.25 −<br />

3 1.75 2 1.875 0.125 +<br />

4 1.75 1.875 1.8125 0.0625 +<br />

5 1.75 1.8125 1.78125 0.03125 −


Ricard Dominguez, Imma Gilibets, M. Albina Puente 115<br />

L’aproximació amb un decimal exacte serà :<br />

x5 =1.78125 ' α<br />

Calculem ara el nombre de passos que cal fer per obtenir 6 decimals exactes.<br />

Això equival a imposar:<br />

|xn − α| ≤ 0.5 × 10 −6 n?<br />

Sabem que aplicant el mètode de bisecció una fita de l’error ve donada per:<br />

|xn − α| ≤<br />

b − a<br />

2 n<br />

En el nostre cas a =1i b =2i per tant, serà suficient imposar:<br />

b − a<br />

2n ≤ 0.5 × 10−6 n?<br />

Fent operacions obtenim:<br />

1<br />

2n ≤ 5 × 10−7 7ln10− ln 5<br />

⇐⇒ n ≥ ' 20.93<br />

ln 2<br />

Amb n =21iteracions tindrem la precisió desitjada.<br />

b) Apliquem ara el mètode de Newton-Raphson amb x0 =1.5<br />

Aturarem el procés quan:<br />

xn+1 = xn − f(xn)<br />

f 0 , n ≥ 0<br />

(xn)<br />

|f(xn)| ≤ 0.5 × 10 −1<br />

Tenint present que f(x) =x − e 1<br />

x iquef 0 (x) =1+e 1<br />

x · 1<br />

x 2 , obtenim la<br />

següent taula d’iterats:<br />

xn+1 = xn − xn − e 1<br />

xn<br />

1+e 1<br />

xn · 1<br />

x 2 n<br />

,n≥ 0<br />

n xn |f(xn)|<br />

0 1.5 0.4477<br />

1 1.739986998 0.0366<br />

2 1.763077568 0.227 × 10 −3<br />

Donem com a vàlida l’aproximació x1 =1.739986998 ' α<br />

c) Apliquem ara el mètode de la secant a partir de x0 =1i x1 =2<br />

xn − xn−1<br />

xn+1 = xn − f(xn).<br />

, n ≥ 1<br />

f(xn) − f(xn−1)


116 Cap. 5 Zeros de funcions<br />

xn − xn−1<br />

xn+1 = xn − (xn − e 1<br />

xn ).<br />

(xn − e 1<br />

xn ) − (xn−1 − e 1<br />

xn−1 )<br />

Aturarem el procés quan :<br />

Obtenim la següent taula d’iterats:<br />

|xn − xn−1| ≤ 0.5 × 10 −1<br />

n xn |xn − xn−1|<br />

0 1<br />

1 2 1<br />

2 1.830264098 0.169735902<br />

3 1.759564633 0.070699465<br />

4 1.763285646 0.003721013<br />

Donem com a vàlida l’aproximació x4 =1.763285646 ' α<br />

Problema 5.2 Volem calcular 3√ 7 amb cinc decimals exactes:<br />

, n ≥ 1<br />

(a) Quants iterats hauríem de fer si utilitzessim el mètode de bisecció<br />

començant amb un interval de longitud 1?<br />

(b) Calculeu l’aproximació desitjada pel mètode de Newton-Raphson.<br />

(c) Calculeu l’aproximació desitjada pel mètode de la secant.<br />

a) Si la longitud de l’interval [a, b] ha de ser 1, això vol dir que b − a =1. Si<br />

volem una aproximació amb 5 decimals exactes haurem d’imposar:<br />

|xn − α| ≤ 0.5 × 10 −5 n?<br />

Fent servir la fita de l’error d’aquest mètode, tenim:<br />

|xn − α| ≤<br />

b − a<br />

2 n<br />

En el nostre cas, donat que b − a =1, el problema queda reduït a:<br />

1<br />

2n ≤ 0.5 × 10−5 ⇐⇒ 2 −n ≤ 0.5 × 10 −5 ln 2 + 5 ln 10<br />

⇐⇒ n ≥ ' 17.6<br />

ln 2<br />

Amb n =18iteracions tenim la precisió desitjada.<br />

b) Per aplicar Newton-Raphson començarem per localitzar i separar l’arrel.<br />

Calcular 3√ 7 és equivalent a trobar un zero de la funció f(x) =x 3 −7. Sifem<br />

una representació gràfica aproximada veiem que l’arrel es troba a l’interval


Ricard Dominguez, Imma Gilibets, M. Albina Puente 117<br />

[1, 2].<br />

• Localització de l’arrel (apliquem el teorema de Bolzano):<br />

⎫<br />

f contínua en [1, 2] ⎬<br />

f(1) = −6 < 0 ⇒∃α ∈ (1, 2) | f(α) =0<br />

⎭<br />

f(2) = 1 > 0<br />

• Separació de l’arrel (apliquem el teorema de Rolle):<br />

f 0 (x) =3x 2 6=0 ∀x ∈ (1, 2) ⇒ f(x) =0com a màxim té una arrel a<br />

l’interval [1,2]<br />

• Aplicació del mètode iteratiu a partir de x0 =1.5<br />

Aturarem el procés quan |f(xn)| ≤ 0.5 × 10 −5 .<br />

xn+1 = xn − f(xn)<br />

f 0 , n ≥ 0<br />

(xn)<br />

xn+1 = xn − x3n − 7<br />

3x2 ,n≥ 0<br />

n<br />

n xn |f(xn)|<br />

0 1.5 3.625<br />

1 2.037037037 1.452725<br />

2 1.920338741 0.08163<br />

3 1.912959720 0.31328 × 10 −3<br />

4 1.912931183 0.248 × 10 −8<br />

L’aproximació serà α ' 1.912931183


118 Cap. 5 Zeros de funcions<br />

c) Si apliquem ara el mètode de la secant partint de x0 =1i x1 =2, obtenim<br />

la següent taula:<br />

xn+1 = xn − f(xn) ·<br />

xn − xn−1<br />

, n ≥ 1<br />

f(xn) − f(xn−1)<br />

xn+1 = xn − (x 3 xn − xn−1<br />

n − 7) ·<br />

(x3 n − 7) − (x3 n−1<br />

L’aproximació serà α ' 1.912931183<br />

n xn |xn − xn−1|<br />

0 1<br />

1 2 1<br />

2 1.857142857 0.142857143<br />

3 1.910420475 0.053277618<br />

4 1.913005916 0.002585441<br />

5 1.912931085 0.000074831<br />

6 1.912931183 0.98 × 10 −7<br />

− 7), n ≥ 1<br />

Problema 5.3 Volem resoldre l’equació x +lnx =0pel mètode del punt<br />

fix. Podem triar les següents fórmules iteratives:<br />

1. xn+1 = − ln xn<br />

2. xn+1 = e −xn<br />

3. xn+1 = xn + e −xn<br />

2<br />

(a) Busqueu un interval en el què es pugui assegurar l’existència<br />

d’una arrel.<br />

(b) Quines de les fórmules anteriors poden ser usades?. Quina és la<br />

millor?.<br />

(c) Quants passos cal fer amb la fórmula més bona per tal d’obtenir<br />

unaprecisióde10−5 ?. Feu-ne un parell.<br />

a) En primer lloc busquem un interval en el qual es pugui assegurar l’existència<br />

d’una arrel.<br />

Considerem la funció f(x) =x+lnx que és contínua i derivable en (0, +∞).<br />

Aplicant el teorema de Bolzano obtenim:<br />

¾<br />

f(1) = 1 > 0<br />

⇒∃α ∈ (0.5, 1) | f(α) =0<br />

f(0.5) = −0.19 < 0<br />

b) Comprovem quines de les tres fórmules són equivalents a resoldre l’equació<br />

inicial i quines verifiquen les condicions del teorema del punt fix.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 119<br />

1. xn+1 = − ln xn<br />

L’equació inicial era x +lnx =0. Si aillem x obtenim x = − ln x i<br />

d’aquí s’obté la fórmula recurrent xn+1 = − ln xn.<br />

Per comprovar les condicions del teorema del punt fix, haurem de<br />

considerar que g(x) =− ln x.<br />

• g(x) ∈ C1 ([0.5, 1])<br />

• g([0.5, 1]) ⊂ [0.5, 1]<br />

g(x) =− ln x<br />

g0 (x) =− 1<br />

< 0 en I =[0.5, 1]. Per tant, g(x) és decreixent en I,<br />

x<br />

és a dir:<br />

0.5 ≤ x ≤ 1 ⇒ g(1) ≤ g(x) ≤ g(0.5)<br />

ipertant,<br />

∀x ∈ [0.5, 1] ⇒ 0 ≤ g(x) ≤−ln 0.5 ' 0.69<br />

Tenimdoncsquelasegonacondiciónoesverifica ja que [0, 0.69] *<br />

[0.5, 1].<br />

•|g0 (x)| ≤ L


120 Cap. 5 Zeros de funcions<br />

•|g 0 (x)| ≤ L


Ricard Dominguez, Imma Gilibets, M. Albina Puente 121<br />

En el nostre cas a =0.5, b=1i L =0.317<br />

|xn − α| ≤ (0.317) n × 0.5 ≤ 10 −5<br />

Prenent logaritmes neperians obtenim:<br />

n ≥ ln(2 × 10−5 )<br />

' 9.41<br />

ln 0.317<br />

Llavors amb 10 iteracions en tenim suficient.<br />

Calculem ara un parell d’iterats a partir de la fórmula xn+1 = xn + e−xn i<br />

2<br />

de x0 =0.5<br />

x1 = 0.5+e−0.5<br />

2<br />

x2 = x1 + e −x1<br />

2<br />

=0.553265329<br />

=0.56416714<br />

Problema 5.4 Trobeu el mínim de la funció f(x) = tan(x)<br />

x 2 , x>0.<br />

f(x) és contínua en D = R-{0, (2k+1) π<br />

2 }. Nosaltres ens restringirem a x ∈ D<br />

amb x>0.<br />

Per trobar el seu mínim calcularem els seus punts crítics:<br />

• f 0 (x) =0<br />

f 0 (x) =<br />

x − sin 2x<br />

x 3 cos 2 x =0<br />

Hem de resoldre l’equació x − sin 2x =0, x>0. Si fem una gràfica de<br />

f(x) =x − sin 2x, observem que talla l’eix OX en un sol punt (estem<br />

considerant x>0).


122 Cap. 5 Zeros de funcions<br />

— Localitzarem l’arrel aplicant el teorema de Bolzano a la funció<br />

g(x) =x − sin 2x que és contínua i derivable en R.<br />

g( π<br />

) < 0<br />

4<br />

g( π<br />

⎫<br />

⎬<br />

π<br />

⇒∃α ∈ (π , ) |g(α) =0<br />

) > 0 ⎭ 4 3<br />

3<br />

— Separarem l’arrel aplicant el teorema de Rolle<br />

g0 (x) =1− 2cos2x6= 0 ∀x ∈ ( π π<br />

, ) ⇒ g(x) =0té com a<br />

4 3<br />

màxim una arrel en I<br />

— Resoldrem x − sin 2x =0aplicant el mètode de Newton-Raphson<br />

apartirdex0 = π<br />

4 .<br />

xn+1 = xn − xn − sin 2xn<br />

,n≥ 0<br />

1 − 2cos2xn<br />

Obtenim els següents iterats:<br />

x1 =1<br />

x2 =0.9504977971<br />

x3 =0.9477558227<br />

x4 =0.9477471337<br />

x5 =0.9477471336<br />

La solució de l’equació amb 9 decimals exactes serà α =0.9477471336<br />

• @f 0 (x)<br />

Aquest cas només es presenta quan x =0, però estem suposant que<br />

x>0.<br />

Per tant, l’únic candidat a extrem de la funció f(x) = tan(x)<br />

x2 és α =<br />

0.9477471336. Per comprovar que efectivament es tracta d’un mínim veiem<br />

que f 00 (α) > 0 .<br />

f 00 (x) =2 x2 tan(x)+x 2 tan 3 (x) − 2x − 2x tan 2 (x)+3tan(x)<br />

x 4<br />

f 00 (α) =5.651264726 > 0<br />

Problema 5.5 Trobeu el valor de la constant c ∈ R tal que les següents<br />

corbes: y =2sinx i y =lnx − c siguin tangents en un punt pròxim a 8.<br />

Trobeu les coordenades del punt de contacte .<br />

Aquest enunciat queda reduït a imposar les següents condicions:


Ricard Dominguez, Imma Gilibets, M. Albina Puente 123<br />

1. Les dues corbes s’han de tallar, és a dir:<br />

2sinx =lnx − c<br />

2. Els pendents de les rectes tangents en el punt de tall han de ser els<br />

mateixos:<br />

y 0 1 = y 0 2 ⇔ 2cosx = 1<br />

1<br />

⇔ 2cosx− x x =0<br />

• Començarem per resoldre la condició 2 amb 6 decimals exactes partint<br />

de x0 =8fent servir el mètode de Newton-Raphson. El mètode<br />

iteratiu és:<br />

Ens aturarem quan:<br />

En el nostre cas tenim:<br />

xn+1 = xn − f(xn)<br />

f 0 ,n≥ 0.<br />

(xn)<br />

|xn − xn−1| ≤ 0.5 × 10 −6<br />

f(x) =2cosx − 1<br />

x<br />

f 0 (x) =−2sinx + 1<br />

x 2<br />

Substituint en el procés iteratiu obtenim α =7.7897506 amb 6 decimals<br />

exactes<br />

• Pertrobarelvalordec farem servir la condició 1 en el punt de tall α :<br />

Aillant c, tenim:<br />

2sinα =lnα − c<br />

c =lnα − 2sinα =0.056933<br />

• El punt de contacte entre les dues corbes és<br />

(7.7897506, 1. 9959)<br />

Problema 5.6 Trobeu el valor k ∈ R per tal que la funció<br />

sigui tangent a l ’ eix OX.<br />

y = ke x<br />

10 − ln x


124 Cap. 5 Zeros de funcions<br />

A l’igual que en el problema anterior, aquest enunciat el podem resumir en<br />

dues condicions:<br />

1. Les dues corbes s’han de tallar, és a dir:<br />

ke x<br />

10 − ln x =0⇐⇒ ke x<br />

10 =lnx<br />

2. El pendent de la recta tangent a la corba ha de ser 0:<br />

y 0 =0⇐⇒ k x<br />

e 10 −<br />

10 1<br />

x<br />

=0⇐⇒ ke 10 =<br />

x 10<br />

x<br />

Apartirde(1) i (2) obtenim la següent equació:<br />

ln x = 10<br />

⇐⇒ x ln x − 10 = 0<br />

x<br />

• Localització de l’arrel fent servir el teorema de Bolzano aplicat a la<br />

funció f(x) =x ln x − 10 que és contínua i derivable en (0, +∞).<br />

¾<br />

f(5) = 5 ln 5 − 10 < 0<br />

⇒∃α ∈ (5, 6) | f(α) =0<br />

f(6) = 6 ln 6 − 10 > 0<br />

• Separació de l’arrel fent servir el teorema de Rolle:<br />

f 0 (x) =lnx +16= 0∀x ∈ (5, 6) ⇒ f(x) =0técomamàximunaarrel<br />

en I.<br />

Apliquem el mètode de Newton-Raphson partint de x0 =6.<br />

En el nostre cas tenim:<br />

xn+1 = xn − f(xn)<br />

f 0 , n ≥ 0.<br />

(xn)<br />

f(x) = x ln x − 10<br />

f 0 (x) = lnx +1<br />

Aplicant el procés iteratiu arribem a α =5.7289256.<br />

Per obtenir finalment el valor de k farem servir la condició 1 avaluat en el<br />

punt de tangència α :<br />

ke α<br />

10 =lnα ⇒ k =<br />

ln α<br />

e α<br />

10<br />

=0.9842892<br />

Problema 5.7 Volem trobar un interval de longitud 1 sobre el qual la funció<br />

1<br />

f(t) =<br />

t4 tingui àrea màxima, seguint els següents passos:<br />

− 0.5t +1


Ricard Dominguez, Imma Gilibets, M. Albina Puente 125<br />

(a) Plantegeu el problema i desenvolupeu-lo fins que es tracti de buscar<br />

un zero d’una funció polinòmica a l’interval [−0.5, 0].<br />

(b) Plantegeu dos mètodes del punt fix per resoldre l’equació anterior.<br />

Podeu assegurar que són convergents?. Feu tres iterats per al<br />

millor.<br />

(c) Resoleu l’equació pel mètode de Newton-Raphson amb tres decimals<br />

exactes.<br />

a)L’interval de longitud 1 que busquem l’escriurem com [a, a +1]. L’àrea<br />

vindrà donada per la integral:<br />

A =<br />

Z a+1<br />

a<br />

1<br />

x 4 − 0.5x +1 dx<br />

La primera condició d’àrea màxima vindrà donada per:<br />

A 0 (a) =<br />

1<br />

(a +1) 4 − 0.5(a +1)+1 −<br />

1<br />

a4 − 0.5a +1 =0<br />

Si fem les operacions obtenim la següent equació polinòmica:<br />

4a 3 +6a 2 +4a +0.5 =0<br />

• Localitzarem una arrel a partir del teorema de Bolzano a partir de<br />

p(a) =4a 3 +6a 2 +4a +0.5<br />

p(−0.5) = −0.5 < 0<br />

p(0) = 0.5 > 0<br />

¾<br />

⇒∃α ∈ (−0.5, 0) |p(α) =0<br />

• Separarem l’arrel a partir del teorema de Rolle:<br />

p 0 (a) =12a 2 +12a +46= 0⇒ p(a) =0té com a màxim una arrel<br />

b)L’equació de partida és: 4x 3 +6x 2 +4x +0.5 =0. Podem considerar els<br />

següents mètodes:<br />

1. x = 1 4 (−0.5 − 6x2 − 4x3 )=− 1 8 − 3 2x2 − x3 i a partir d’aquí el procés<br />

iteratiu seria:<br />

xn+1 = − 1 3<br />

−<br />

8 2 x2n − x 3 n<br />

En aquest cas g(x) =− 1 8 − 3 2 x2 − x 3 . Es verifiquen les condicions del<br />

teorema?<br />

• g(x) ∈ C 1 ([−0.5, 0])


126 Cap. 5 Zeros de funcions<br />

• g([−0.5, 0]) ⊂ [−0.5, 0]<br />

Estudiem els extrems absoluts de g(x) en I =[−0.5, 0].<br />

— Extrems relatius de l’obert (−0.5, 0)<br />

g0 (x) =−3x − 3x2 ½<br />

x =0/∈ (−0.5, 0)<br />

=0⇒<br />

x = −1 /∈ (−0.5, 0)<br />

— Extrems de l’interval, x = −0.5, x=0<br />

— Avaluem les imatges dels candidats<br />

g(−0.5) = − 3<br />

ens proporciona el mínim absolut<br />

8<br />

g(0) = − 1<br />

ens proporciona el màxim absolut<br />

8<br />

Per tant ∀x ∈ [−0.5, 0] g(−0.5) ≤ g(x) ≤ g(0) iescompleixla<br />

segona condició del teorema ja que [g(−0.5),g(0)] ⊂ [−0.5, 0].<br />

•|g 0 (x)| ≤ L


Ricard Dominguez, Imma Gilibets, M. Albina Puente 127<br />

— Extrems relatius de l’obert (−0.5, 0)<br />

g 0 (x) =−12x 2 − 12x − 3=0⇒ x = −0.5 /∈ (−0.5, 0)<br />

— Extrems de l’interval, x = −0.5, x=0<br />

— Avaluem les imatges dels candidats<br />

g(−0.5) = 0 ens proporciona el màxim absolut<br />

g(0) = −0.5 ens proporciona el mínim absolut<br />

Per tant ∀x ∈ [−0.5, 0] g(0) ≤ g(x) ≤ g(−0.5) iescompleixla<br />

segona condició del teorema ja que [g(0),g(−0.5)] ⊂ [−0.5, 0].<br />

•|g 0 (x)| ≤ L


128 Cap. 5 Zeros de funcions<br />

x1 = 0<br />

x2 = −0.125<br />

x3 = −0.1569767442<br />

x4 = −0.1588302087<br />

x5 = −0.1588360980<br />

5.3 Problemes resolts amb Maple<br />

Maple V permet calcular directament les solucions d’una equació a partir<br />

de la instrucció:<br />

fsolve(equació, variable);<br />

En aquest capítol treballarem amb aquesta comanda, així com amb els mètodes<br />

iteratius descrits en ell, ajudant-nos, a la vegada, de la instrucció<br />

i del bucle for-while.<br />

plot(f(x),x=a..b);<br />

Problema 5.8 Comproveu que l’equació e x =2− x té una única solució i<br />

doneu-ne una aproximació.<br />

• Definim la funció associada a l’equació ex − 2+x =0.<br />

> f:=x->evalf(exp(x)-2+x);<br />

f := x → evalf (e x − 2+x)<br />

• Representem gràficament la funció en un interval prou ampli<br />

> plot(f(x),x=-5..5);


Ricard Dominguez, Imma Gilibets, M. Albina Puente 129<br />

• Observem que existeix una arrel a l’interval [−2, 2]. Repetimlagràfica<br />

en aquest interval per poder-la localitzar millor.<br />

> plot(f(x),x=-2..2);<br />

• Ara podem dir que l’arrel es troba a l’interval [0, 1] ihocomprovem<br />

verificant les hipòtesi del teorema de Bolzano.<br />

¾<br />

f(x) és contínua en R, enparticularen[0, 1].<br />

⇒∃α ∈ (0, 1) |f(α) =0<br />

f(0) · f(1) < 0<br />

• Comprovem, a partir del teorema de Rolle, que la solució és única. Per<br />

a això estudiem els zeros de f 0 (x).<br />

>f1:=D(f);<br />

f1 :=x → evalf (e x +1)<br />

Observem que f1(x) > 0 ∀x ∈ R, per tant, l’equació inicial tindrà com<br />

a màxim una solució, que ja hem localitzat a l’apartat anterior.<br />

• Trobemaraunaaproximaciódelasolució directament a partir de la<br />

instrucció<br />

fsolve (equació,variable)<br />

>a:=fsolve(exp(x)-2+x=0,x);<br />

a := .4428544010<br />

Problema 5.9 Aproximeu la solució de l’equació e x =2−x amb 3 decimals<br />

exactes pel mètode de Newton-Raphson.<br />

Tenint en compte el problema anterior on ja hem definit la funció i on hem<br />

determinat l’interval que conté la solució, a partir del valor inicial x0 =0


130 Cap. 5 Zeros de funcions<br />

(punt de l’interval[0, 1]) calculem els successius iterats aplicant la fórmula<br />

recurrent del mètode amb un bucle for-while.<br />

> x[0]:=0;<br />

error:=abs(x[0]-a);<br />

x0 : = 0<br />

error : = .4428544010<br />

> for i from 0 to 20 while error>0.5*10ˆ(-3) do<br />

od;<br />

x[i+1]:=x[i]-f(x[i])/D(f)(x[i]);<br />

error:=abs(x[i+1]-a);<br />

x1 : = .5000000000<br />

error : = .057145599<br />

x2 : = .4438516719<br />

error : = .00099727<br />

x3 : = .4428547037<br />

error : = .000000302<br />

La instrucció for-while permet aturar el procés iteratiu quan es deixa de<br />

complir la condició del while o quan s’arriba al màxim nombre d’iterats. En<br />

aquest cas, observem que amb 3 iterats en tenim prou per obtenir l’aproximaciódelasolucióamblaprecisiódesitjada.<br />

Problema 5.10 Aproximeu la solució de l’equació e x − 2+x =0amb 3<br />

decimals exactes aplicant el mètode de la secant.<br />

Construïm un bucle for-while per descriure el mètode iteratiu, partint dels<br />

valors inicials x0 =0i x1 =1.<br />

> x[0]:=0;<br />

x[1]:=1;<br />

error:=infinity;<br />

x0 : = 0<br />

x1 : = 1<br />

error : = ∞


Ricard Dominguez, Imma Gilibets, M. Albina Puente 131<br />

> for i from 1 to 20 while error>0.5*10ˆ(-3) do<br />

od;<br />

x[i+1]:=x[i]-f(x[i])*(x[i]-x[i-1])/(f(x[i])-f(x[i-1]));<br />

error:=abs(x[i+1]-x[i]);<br />

x2 : = .3678794412<br />

error : = .6321205588<br />

x3 : = .4300563617<br />

error : = .0621769205<br />

x4 : = .4431457542<br />

error : = .0130893925<br />

x5 : = .4428532663<br />

error : = .0002924879<br />

Observem que en aquest cas hem necessitat calcular 5 iterats per obtenir<br />

l’arrel amb la precisió desitjada.<br />

Problema 5.11 Aproximeu la solució de l’equació e x − 2+x =0amb 3<br />

decimals exactes aplicant el mètode de bisecció.<br />

Construïm un bucle for-while per descriure el mètode iteratiu a partir de<br />

l’interval [a, b] =[0, 1].<br />

>f:=x->exp(x)-2+x;<br />

>a[1]:=0;<br />

>b[1]:=1;<br />

>error:=infinity;<br />

>c[0]:=a[1];<br />

f := x → e x − 2+x<br />

a0 := 0<br />

b0 := 1<br />

error := ∞<br />

c−1 := 0<br />

> for i from 1 to 10 while error>0.5*10ˆ(-3) do<br />

c[i]:=evalf((a[i]+b[i])/2);<br />

fc:=evalf(f(c[i]));


132 Cap. 5 Zeros de funcions<br />

fa:=evalf(f(a[i]));<br />

if fc=0 then print(‘arrel exacta‘);break;fi;<br />

if fa*fc


Ricard Dominguez, Imma Gilibets, M. Albina Puente 133<br />

Aquestacondiciólacomprovaremapartirdelagràfica de g(x) en<br />

[0, 1].<br />

>g:=x->2-exp(x);<br />

g := x → 2 − exp(x)<br />

>plot(g(x),x=0..1);<br />

Veiem que aquesta condició no es verifica.<br />

•|g0 (x)| ≤ Lg1:=D(g);<br />

g1 :=x→−exp(x) >plot({g1(x),-1,1},x=0..1);<br />

Aquesta propietat tampoc es verifica.


134 Cap. 5 Zeros de funcions<br />

Escriurem l’equació inicial d’una altra manera per tal d’obtenir una nova<br />

funció g(x) que compleixi les condicions del teorema.<br />

e x − 2+x =0⇔ e x =2− x ⇔ x =ln(2− x)<br />

Considerem a partir d’ara g(x) =ln(2− x).<br />

• g ∈ C 1 ([0, 1])<br />

• g([0, 1]) ⊂ [0, 1]<br />

Aquestacondiciólacomprovaremapartirdelagràfica de g(x) en<br />

[0, 1].<br />

>g:=x->ln(2-x);<br />

>plot(g(x),x=0..1);<br />

g := x → ln(2 − x)<br />

Observem que sí que es verifica la condició.<br />

•|g 0 (x)| ≤ Lg1:=D(g);<br />

g1 :=x− > − 1<br />

2 − x


Ricard Dominguez, Imma Gilibets, M. Albina Puente 135<br />

>plot({g1(x),-1,1},x=0..1);<br />

Observem que g1(1) = g 0 (1) = −1, per tant, aquesta condició no es<br />

verifica. Intentem localitzar l’arrel en un interval més petit. Repetim<br />

la gràfica de f(x) (problema 5.8) a l’interval [0, 1].<br />

>plot(f(x),x=0..1);<br />

Prenem com a nou interval [0,0.8].<br />

• g ∈ C 1 ([0, 0.8])<br />

• g([0, 0.8]) ⊂ [0, 0.8]


136 Cap. 5 Zeros de funcions<br />

>plot(g(x),x=0..0.8);<br />

La condició es verifica.<br />

•|g0 (x)| ≤ Lplot({g1(x),-1,1},x=0..0.8);<br />

Ara veiem que, efectivament, es compleix la condició.<br />

Per tant, considerant g(x) =ln(2−x) i I =[0, 0.8] el mètode iteratiu definit<br />

pel mètode del punt fix per<br />

½<br />

x0 ∈ I<br />

xn+1 = g(xn) =ln(2− xn),n≥ 0


Ricard Dominguez, Imma Gilibets, M. Albina Puente 137<br />

serà convergent cap a la solució de l’equació.<br />

Passem ara a definir el bucle for-while:<br />

> x[0]:=0.5;<br />

error:=infinity;<br />

x0 : = 0<br />

error : = ∞<br />

>for ifrom 0 to 20 while error>0.5*10ˆ(-3)do<br />

od;<br />

x[i+1]:=evalf(g(x[i]));<br />

error:=abs(x[i+1]-x[i]);<br />

x1 : = .4054651081 error := .0945348919<br />

x2 : = .4665820900 error := .0611169819<br />

x3 : = .4274991720 error := .0390829180<br />

x4 : = .4526672361 error := .0251680641<br />

x5 : = .4365326512 error := .0161345849<br />

x6 : = .4469060144 error := .0103733632<br />

x7 : = .4402490613 error := .0066569531<br />

x8 : = .4445261540 error := .0042770927<br />

x9 : = .4417802233 error := .0027459307<br />

x10 : = .4435440010 error := .0017637777<br />

x11 : = .4424114413 error := .0011325597<br />

x12 : = .4431388298 error := .0007273885<br />

x13 : = .4426717238 error := .0004671060<br />

5.4 Problemes proposats<br />

1. Trobeu una aproximació amb 2 decimals exactes de les solucions de les<br />

següents equacions, aplicant el mètode de bisecció a l’interval que s’indica:<br />

(a) ex − 3x =0a I =[0, 1]<br />

(b) x3 − 2sinx =0a I =[0.5, 2]<br />

2. Trobeu amb 2 decimals exactes, a partir del mètode de Newton, una<br />

aproximació de la solució de les següents equacions:


138 Cap. 5 Zeros de funcions<br />

(a) x =2sinx<br />

(b) sin x =1− x<br />

3. Trobeu una aproximació amb 3 decimals exactes de √ 2 fent servir el<br />

mètode de la secant.<br />

4. Raoneu per a cadascuna de les expressions següents si és o no adequada per<br />

a calcular aproximacions de 3√ 2 utilitzant el mètode del punt fix a l’interval<br />

[1, 2].<br />

(a) xn+1 = 2<br />

x 2 n<br />

(b) xn+1 = 2x3n +2<br />

3x2 n<br />

(c) xn+1 = x3n 1<br />

−<br />

60 30x2 n<br />

(d) xn+1 = x3 n + xn − 2<br />

Quants iterats caldria fer amb la més adequada per obtenir 3√ 2 amb tres<br />

decimals exactes?. Calculeu els tres primers.<br />

5. Volem trobar el mínim de la funció y = e −x + x3<br />

3<br />

(a) Feu una representació gràfica aproximada, donant un interval de<br />

longitud 1 que contingui el mínim.<br />

(b) Determineu dues possibles maneres d’aplicar el mètode del punt<br />

fix, indicant si són convergents i quina és la millor.<br />

(c) Feu tres iterats. Quants en caldria fer per aconseguir 5 decimals<br />

correctes?.<br />

6. Considerem la funció y = ex<br />

x<br />

(a) Feu una gràfica aproximada de la funció per a x>0.<br />

(b) En quin interval de longitud 1 l’àrea sota la gràfica és mínima?.<br />

Quant val aproximadament aquesta àrea?.<br />

7. Utilitzeu la regla de Descartes, el teorema de Gersghorin i el mètode que<br />

vulgueu per aproximar les solucions del polinomi 36x 4 −60x 3 −29x 2 +9x+2.<br />

8. Donat el polinomi Q(x) = 3 2 x4 + 11 3 x3 − 3 2 x2 − 2x +3, volem els seus<br />

extrems relatius.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 139<br />

(a) Utilitzant el mètode que vulgueu , trobeu-los tots.<br />

(b) Comproveu quins són màxim i quins són mínim.<br />

9. Donada l’equació 3lnx − x =0:<br />

(a) Trobeu, fent servir la comanda plot, els teoremes de Bolzano i<br />

de Rolle, un interval que contingui una única arrel.<br />

(b) Trobeu una aproximació de la solució a partir de la instrucció<br />

fsolve.<br />

(c) Trobeu una aproximació de la solució amb 6 decimals exactes<br />

a partir del mètode de bisecció emprant un bucle for-while i<br />

if-then-else.<br />

10. Donada l’equació 2 −x − x =0:<br />

(a) Trobeu, fent servir la comanda plot, els teoremes de Bolzano i<br />

de Rolle, un interval que contingui una única arrel.<br />

(b) Trobeu una aproximació de la solució a partir de la instrucció<br />

fsolve.<br />

(c) Trobeu una aproximació de la solució amb 6 decimals exactes<br />

a partir del mètode de Newton-Raphson emprant un bucle forwhile.<br />

11. Donada l’equació e x =2− x 2 :<br />

(a) Trobeu, fent servir la comanda plot, els teoremes de Bolzano i<br />

de Rolle, un interval que contingui una única arrel.<br />

(b) Trobeu una aproximació de la solució a partir de la instrucció<br />

fsolve.<br />

(c) Trobeu una aproximació de la solució amb 6 decimals exactes a<br />

partir del mètode de la secant emprant un bucle for-while.<br />

12. Feu el problema 4 ajudant-vos de les comandes necessàries del Maple<br />

V, tant per a comprovar les hipòtesis del teorema del punt fix, com per a<br />

donar l’aproximació de 3√ 2.<br />

13. Donada l’equació e −3x =ln(x)<br />

(a) Demostreu que té exactament una solució a l’interval [1, 2]<br />

(b) Si apliquessim el mètode de la bisecció, quantes iteracions ens<br />

caldrien per obtenir una aproximació de la solució amb 3 decimals<br />

exactes? Fes les cinc primeres iteracions.


140 Cap. 5 Zeros de funcions<br />

(c) Calculeu els valors de les quatre primeres iteracions corresponents<br />

a l’aplicació del mètode de Newton-Raphson a partir del valor<br />

inicial x0 =1.5.<br />

14. Donada l’equació 3lnx − x =0<br />

(a) Demostreu que aquesta equació té una única solució a l’interval<br />

[1, 2]. Té alguna altra solució?<br />

(b) De les fórmules següents, quina és la millor per resoldre l’equació<br />

aplicant el mètode del punt fix:<br />

(b.1) x = e x<br />

3 (b.2) x = 3ln(x)+2x<br />

3<br />

(b.3) x = √ x +2<br />

(c) Quantes iteracions calen per obtenir 3 decimals exactes amb la<br />

millor de les fórmules anteriors?<br />

15. Volem resoldre l’equació x 3 +4x 2 − 16 = 0<br />

(a) Demostreu que té una única solució a l’interval [1, 2]<br />

4<br />

(b) Demostreu que l’equació inicial és equivalent a x = √ ique<br />

4+x<br />

el mètode del punt fix per a resoldre-la és convergent en aquest<br />

interval.<br />

(c) Quants iterats cal fer per obtenir una aproximació de la solució<br />

amb tres decimals exactes?<br />

16. A partir de la taula següent:<br />

x −2 −1 0 1<br />

y −5 0 1 4<br />

(a) Calculeu el polinomi interpolador.<br />

(b) Quantes arrels té el polinomi anterior? Què pots dir sobre el<br />

nombre d’arrels positives i negatives? Fiteu-les en mòdul. Trobeu<br />

les arrels exactament i comproveu que es compleix el que heu dit.


Capítol 6<br />

Sistemes d’equacions lineals<br />

6.1 Introducció<br />

Considerem el sistema d’equacions lineals<br />

a11x1 + a12x2 + ...+ a1nxn = b1<br />

a21x1 + a22x2 + ...+ a2nxn = b2<br />

...<br />

an1x1 + an2x2 + ...+ annxn = bn<br />

que, en notació matricial escriurem, AX = b, on:<br />

⎛<br />

⎜<br />

A = ⎝<br />

a11 ··· a1n<br />

.<br />

. ..<br />

an1 ··· ann<br />

.<br />

⎞ ⎛<br />

⎟ ⎜<br />

⎠ , X = ⎝<br />

x1<br />

.<br />

xn<br />

⎫<br />

⎪⎬<br />

⎪⎭<br />

⎞ ⎛<br />

⎟ ⎜<br />

⎠ , b = ⎝<br />

b1<br />

.<br />

bn<br />

⎞<br />

⎟<br />

⎠<br />

Distingirem dos tipus de mètodes numèrics per resoldre equacions lineals:<br />

(6.1)<br />

• Mètodes directes: Permeten obtenir la solució del sistema després<br />

d’un nombre finit de passos. Aquests mètodes solen reduir la resolució<br />

del sistema a la d’un sistema triangular. Els més representatius són el<br />

mètode de Gauss i la regla de Cramer.<br />

• Mètodes iteratius: Es construeix una successió de vectors X 0 ,X 1 ,X 2 ,...<br />

que convergeix cap a la solució X del sistema. Aquests mètodes s’apliquen<br />

sovint quan la matriu del sistema és escassa, (amb molts elements<br />

que són zero).<br />

141


142 Cap. 6 Sistemes d’equacions lineals<br />

6.2 Resolució de sistemes triangulars<br />

Considerem el sistema UX = b, enquèU és triangular superior:<br />

u11x1 + u12x2 + ...+ u1nxn = b1<br />

u22x2 + ...+ u1nxn = b2<br />

............................<br />

unnxn = bn<br />

⎫<br />

⎪⎬<br />

⎪⎭<br />

(6.2)<br />

Un sistema d’aquesta forma es resol començant per l’última equació i substituint<br />

els resultats a les anteriors:<br />

És a dir,<br />

xn = bn<br />

unn<br />

xn−1 = bn−1 − un−1nxn<br />

un−1n−1<br />

.<br />

x1 = b1 − u1nxn − u1n−1xn−1 − ...− u12x2<br />

u11<br />

xn = bn<br />

unn<br />

xi = bi − P n<br />

j=i+1 uijxj<br />

uii<br />

(i = n − 1 ÷ 1)<br />

Aquest procés s’anomena de substitució cap al darrera.<br />

6.3 Mètode de Gauss<br />

⎫<br />

⎪⎬<br />

⎪⎭<br />

(6.3)<br />

Considerem el sistema (6.1) i suposem que det A 6= 0de manera que el<br />

sistema té una única solució. El mètode de Gauss consta de dues fases:<br />

• Fase 1: eliminació gaussiana: consisteix en transformar el sistema<br />

inicial en un altre equivalent de manera que la matriu dels coeficients<br />

sigui triangular superior. Això s’aconsegueix fent transformacions elementals<br />

sobre la matriu ampliada del sistema.<br />

• Fase 2: substitució cap enrera: es resol el sistema triangular superior<br />

que hem obtingut, mitjançant les fórmules (6.3).


Ricard Dominguez, Imma Gilibets, M. Albina Puente 143<br />

Recordem que les transformacions elementals per filessónlessegüents:<br />

• Fij :Permutarlesfiles i,j<br />

• Fi + αFj : Sumar a la fila i-èsima la fila j multiplicada per α<br />

• αFi : Multiplicar la fila i-èsima per l’escalar α<br />

A més, si convé, podem permutar l’ordre de les n primeres columnes, que<br />

equival a permutar l’ordre de les incògnites. D’aquesta manera, el sistema<br />

resultant té les mateixes solucions que l’original, llevat potser de l’ordre de<br />

les incògnites.<br />

Exemple 6.1 Resoleu pel mètode de Gauss el següent sistema d’equacions:<br />

⎧<br />

⎨<br />

⎩<br />

2x1 + x2 +4x3 = 12<br />

8x1 − 3x2 +2x3 = 20<br />

4x1 +11x2 − x3 = 33<br />

Les transformacions elementals necessàries i les matrius obtingudes fins a<br />

tenir la matriu triangulada són:<br />

⎛<br />

¯ ⎞ ⎛<br />

¯ ⎞<br />

2 1 4 ¯ 12<br />

2 1 4 ¯ 12<br />

⎝ 8 −3 2 ¯ 20 ⎠ → ⎝ 0 −7 −14 ¯ −28 ⎠ →<br />

4 11 −1 ¯ 33<br />

0 9 −9 ¯ 9<br />

⎛<br />

→ ⎝<br />

2 1 4<br />

0 −7 −14<br />

0 0 −27<br />

F2−4F1<br />

F3−2F1<br />

¯<br />

12<br />

−28<br />

−27<br />

⎞<br />

⎠ ⇔<br />

2x1 + x2 +4x3 =12<br />

−7x2 − 14x3 = −28<br />

−27x3 = −27<br />

F3+ 9<br />

7 F2<br />

Aquest darrer sistema és triangular superior i el podem resoldre per substitució<br />

cap enrera. La solució que s’obté és, segons (6.3), x3 =1,x2 =2,<br />

x1 =3.<br />

En cada pas, les matrius dels sistemes equivalents obtinguts són:<br />

A (1) ⎛<br />

2 1<br />

⎞<br />

4<br />

= ⎝ 8 −3 2 ⎠ b<br />

4 11 −1<br />

(1) ⎛ ⎞<br />

12<br />

= ⎝ 20 ⎠<br />

33<br />

A (2) ⎛<br />

2 1<br />

⎞<br />

4<br />

= ⎝ 0 −7 −14 ⎠ b<br />

0 9 −9<br />

(2) ⎛ ⎞<br />

12<br />

= ⎝ −28 ⎠<br />

9<br />

A (3) ⎛<br />

2 1<br />

⎞<br />

4<br />

= ⎝ 0 −7 −14 ⎠ b<br />

0 0 −27<br />

(3) ⎛ ⎞<br />

12<br />

= ⎝ −28 ⎠<br />

−27<br />

⎫<br />

⎬<br />


144 Cap. 6 Sistemes d’equacions lineals<br />

Podem interpretar el mètode d’eliminació de Gauss com una successió de<br />

n − 1 etapes que donen com a resultat les successions de matrius:<br />

on A (k) ³<br />

=<br />

a (k)<br />

ij<br />

A = A (1) → A (2) → ···→ A (n)<br />

b = b (1) → b (2) → ···→ b (n)<br />

´<br />

, b (k) ³ ´<br />

= (k =2,...,n) ,deformaqueA (n) resulta ser<br />

b (k)<br />

i<br />

triangular superior. En el pas k-èsim, A (k) X = b (k) és el sistema equivalent<br />

en el qual hem eliminat les variables x1,x2,...,xk−1 per sota la diagonal de<br />

les k-1 primeres columnes:<br />

⎛<br />

A (k) ⎜<br />

= ⎜<br />

⎝<br />

a (k)<br />

12 ··· a (k)<br />

1k ··· a (k)<br />

0 a<br />

1n<br />

(k)<br />

22 ··· a (k)<br />

2k ··· a (k)<br />

. .. .<br />

a<br />

···<br />

2n<br />

.<br />

(k)<br />

kk ··· a (k)<br />

. ···<br />

kn<br />

.<br />

a (k)<br />

nk ··· a (k)<br />

⎞<br />

⎟ ;<br />

⎟<br />

⎠<br />

b<br />

nn<br />

(k) ⎛<br />

⎜<br />

= ⎜<br />

⎝<br />

a (k)<br />

11<br />

Per a k =2,...,n, resulta:<br />

a (k)<br />

ij<br />

b (k)<br />

i<br />

=<br />

=<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

b (1)<br />

1<br />

b (2)<br />

2.<br />

b (k)<br />

k.<br />

b (k)<br />

n<br />

a (k−1)<br />

ij si i ≤ k − 1<br />

0 si i ≥ k, j≤ k − 1<br />

ij − a(k−1)<br />

i,k−1<br />

a (k−1)<br />

a (k−1)<br />

k−1,k−1<br />

a (k−1)<br />

k−1,j si i ≥ k, j≥ k<br />

b (k−1)<br />

i si i ≤ k − 1<br />

i − a(k−1)<br />

ik−1<br />

b (k−1)<br />

a (k−1)<br />

k−1,k−1<br />

b (k−1)<br />

k−1 si i ≥ k<br />

Aquestes fórmules representen el resultat de multiplicar la (k-1)-ena equació<br />

en A (k−1) X = b (k−1) per a(k−1)<br />

i,k−1<br />

a (k−1)<br />

k−1,k−1<br />

És a dir,<br />

⎞<br />

⎟<br />

⎠<br />

i restar a la i-èsima equació, ∀i ≥ k.<br />

Fi → Fi − a(k−1)<br />

i,k−1<br />

a (k−1)<br />

Fk−1<br />

k−1,k−1<br />

on Fi és l’equació (o fila) i-èsima. D’aquesta manera, la variable xk−1 s’elimina<br />

de les n-(k-1) darreres equacions. Al final del procés el sistema és<br />

triangular superior i es resol pel mètode de substitució cap al darrera.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 145<br />

• Els elements a (1)<br />

11 ,a(2) 22 ,...,a(n) nn que apareixen en la fase d’eliminació<br />

gaussiana se’n diuen pivots.<br />

Observacions:<br />

1. El nombre total d’operacions que es realitzen per resoldre un sistema<br />

pelmètodedeGaussés n3 +3n2−n 3 . Per Cramer serien ¡ n2 − 1 ¢ · n!<br />

operacions. Com a exemple, podem comparar el nombre d’operacions<br />

en els següents casos:<br />

Gauss Cramer<br />

n=2 ⇒ 6 6<br />

n=3 ⇒ 17 48<br />

2. Si, en la fase d’eliminació gaussiana, algun pivot a (k)<br />

k,k<br />

= 0, llavors<br />

existirà algun element a (k)<br />

rk 6=0de la columna k-èsima (ja que det A 6=<br />

0). En aquest cas, només cal permutar l’equació k-èsima amb la i-èsima<br />

i continuar el procés.<br />

Per exemple, sigui el sistema<br />

x1 +3x2 + x3 =<br />

⎫<br />

−3 ⎬<br />

3x1 +9x2 +4x3<br />

2x1 − x2 + x3<br />

=<br />

=<br />

−7<br />

⎭<br />

6<br />

En el primer pas ens queda:<br />

⎛<br />

1<br />

⎝ 3<br />

2<br />

3<br />

9<br />

−1<br />

¯<br />

1 ¯<br />

4 ¯<br />

1 ¯<br />

⎞<br />

−3<br />

−7 ⎠<br />

6<br />

⎛<br />

1<br />

→ ⎝ 0<br />

0<br />

3<br />

0<br />

−7<br />

¯<br />

1 ¯<br />

1 ¯<br />

−1 ¯<br />

⎞<br />

−3<br />

2 ⎠<br />

12<br />

F2−3F1<br />

F3−2F1<br />

i, per tant, a (2)<br />

22 =0. Aleshores, canviem les dues darreres equacions<br />

d’ordre i com que, en aquest cas, el sistema ja estarà triangularitzat<br />

podem resoldre’l per substitució cap al darrera.<br />

3. El mètode de Gauss, sense permutacions de files, pot aplicar-se directament<br />

si i només si els determinants principals<br />

¯<br />

¯A (k)¯¯ (1)<br />

¯ = a 11 ···a(k) kk<br />

són diferents de zero, ∀k.<br />

4. Si el pivot és no nul, però molt petit, el mètode és inestable numèricament<br />

en el sentit que les solucions obtingudes poden diferir notablement<br />

de la solució real, degut a la propagació dels errors d’arrodoniment.<br />

Per exemple, considerem el següent sistema:<br />

10−11 ¾<br />

x +2y = 2<br />

x − 2y = −1


146 Cap. 6 Sistemes d’equacions lineals<br />

Avaluant els coeficients del sistema en notació decimal, i treballant<br />

amb 10 dígits amb punt flotant, la fase d’eliminació gaussiana ens<br />

dóna les matrius:<br />

³<br />

A (1) | b (1)´<br />

µ ¯ <br />

.1000000000 × 10−10 2. ¯<br />

=<br />

¯ 2.<br />

1. −2. ¯ −1.<br />

³<br />

A (2) | b (2)´<br />

µ<br />

.1000 ...× 10−10 2.<br />

=<br />

0 −.2000 ...× 1012 ¯<br />

2.<br />

−.2000 ...× 10 12<br />

i, resolent el sistema triangular corresponent, obtenim les solucions<br />

x =0i y =1que són clarament incorrectes, (no es compleix la segona<br />

equació).<br />

5. En canvi, si canviem les equacions d’ordre:<br />

x − 2y = −1<br />

10 −11 x +2y = 2<br />

aleshores, s’obté x = y =1. , que és una bona aproximació. Així<br />

doncs, per tal de prevenir possibles errors, triarem el pivot en el pas<br />

k-èsim entre les següents opcions:<br />

• Pivotatge parcial (o maximal per columnes): Es pren com a nou pivot<br />

a (k)<br />

kk l’element de màxim valor absolut dels elements a(k)<br />

ik , (i = k,...,n),<br />

i intercanviem les files i-èsima i k-èsima.<br />

• Pivotatge complet: El nou pivot passa a ser l’element de màxim valor<br />

absolut dels elements a (k)<br />

ij , (i, j = k ÷ n). Llavors, intercanviem les files<br />

i, k i les columnes k, j.<br />

En general, el pivotatge parcial resulta prou eficienti,comquerequereix<br />

menys temps de càlcul, és el més usual. És convenient utilitzar-lo en cas que<br />

els coeficients de la matriu del sistema siguin de magnituds molt diferents.<br />

Observació: En els següents casos, l’algorisme de Gauss és numèricament<br />

estable i no cal fer intercanvis de files ni de columnes:<br />

• Si A és estrictament dominant diagonalment, és a dir:<br />

nX<br />

|aii| > |aij| (i =1÷ n)<br />

j=1<br />

j6=i<br />

• Si A és simètrica i definida positiva:<br />

A = A T<br />

i x T Ax > 0,<br />

¾<br />

³<br />

x 6= −→ ´<br />

0


Ricard Dominguez, Imma Gilibets, M. Albina Puente 147<br />

Càlcul de determinants<br />

En fer el procés d’eliminació gaussiana a una matriu quadrada A, comque<br />

les transformacions que realitzem són combinacions lineals de files, el seu<br />

determinant no varia llevat, potser, del signe. Aleshores, donat que el determinant<br />

de la matriu triangular resultant és el producte dels elements de<br />

la seva diagonal (que és el producte dels pivots), resulta:<br />

|A| =(−1) s ¯ ¯ ¯A (n) ¯ ¯ ¯ =(−1) s a (1)<br />

11<br />

· ...· a(n)<br />

nn<br />

on s és el nombre d’intercanvis de files que s’hagin fet.<br />

Observem que si en el k-èsim pas a (k)<br />

ik<br />

=0 (k ≤ i ≤ n), llavors det(A) =0.<br />

Exemple 6.2 Calculeu el determinant de la matriu del sistema resolt al<br />

primer exemple.<br />

Com que la matriu triangular és<br />

A (3) ⎛<br />

2 1 4<br />

= ⎝ 0 −7 −14<br />

0 0 −27<br />

resulta<br />

|A| =<br />

6.4 Descomposició LU<br />

⎞<br />

⎠<br />

¯<br />

¯A (3)¯ ¯ ¯ =2· (−7) · (−27) = 378<br />

El mètode de Gauss, aplicat al sistema AX = b sense intercanvis de files<br />

ni d’incògnites, proporciona una factorització de la matriu A en la forma<br />

A = LU, on U = A (n) és triangular superior i L =(lik) és triangular inferior<br />

amb<br />

lik =<br />

⎧<br />

⎪⎨<br />

⎪⎩<br />

0 (ik)<br />

Aleshores, la solució del sistema AX = b es troba resolent successivament<br />

elssistemestriangularsLy = b i Ux = y.<br />

Exemple 6.3 Resoleu el sistema<br />

2x1 + x2 +4x3 =12<br />

8x1 − 3x2 +2x3 =20<br />

4x1 +11x2 − x3 =33<br />

⎫<br />

⎬<br />


148 Cap. 6 Sistemes d’equacions lineals<br />

de l’exemple 6.1 aplicant la descomposició LU:<br />

Recordant les transformacions que haviem aplicat a aquest sistema resulta:<br />

F2 − 4F1 ⇒ l21 =4<br />

F3 − 2F1 ⇒ l31 =2<br />

F3 + 9<br />

7 F2 ⇒ l32 = − 9<br />

7<br />

A la pràctica, podem portar a terme el procés substituint els elements que<br />

es van convertint en 0 pels corresponents<br />

lik = a(k)<br />

ik<br />

a (k)<br />

kk<br />

2 - 9<br />

7<br />

(i = k +1÷ n ; k =1÷ n)<br />

Reescrivint altre cop l’exemple 1, trobem<br />

A (1) ⎛<br />

2 1<br />

⎞<br />

4<br />

= ⎝ 8 −3 2 ⎠ → A<br />

4 11 −1 F2−4F1<br />

F3−2F1<br />

(2) ⎛<br />

= ⎝<br />

→ A (3) ⎛<br />

2 1 4<br />

⎜<br />

= ⎝ 4 −7 −14<br />

−27<br />

⎞<br />

⎟<br />

⎠<br />

Aleshores,<br />

⎛<br />

L = ⎝<br />

1 0 0<br />

4 1 0<br />

2 − 9<br />

7 1<br />

⎞<br />

⎛<br />

⎠ ,U= ⎝<br />

2 1 4<br />

4 −7 −14<br />

2 9 −9<br />

2 1 4<br />

0 −7 −14<br />

0 0 −27<br />

⎞<br />

⎠<br />

⎞<br />

⎠<br />

F3+ 9<br />

7 F2<br />

Per resoldre el sistema inicial, plantegem primer el sistema triangular inferior<br />

⎧<br />

⎨ y1<br />

=12<br />

Ly = b ⇔ 4y1 + y2<br />

⎩<br />

que es resol per substitució cap endavant:<br />

=20<br />

2y1 − 9 7 y2 + y3 =33<br />

— Primera equació: y1 =12<br />

— Segona equació: 4y1 + y2 =20⇒ 48 + y2 =20⇒ y2 = −28<br />

— Tercera equació: 24 + 36 + y3 =33⇒ y3 = −27<br />

A continuació, resolem el sistema triangular superior<br />

⎧<br />

⎨ 2x1 + x2 +4x3 =12<br />

Ux = y ⇔ −7x2 − 14x3 = −28<br />

⎩<br />

−27x3 = −27<br />

la solució del qual ja sabem que és<br />

(x1,x2,x3) T =(3, 2, 1) T<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 149<br />

Descomposició LU amb pivotatge<br />

Si en la descomposició de la matriu A fem intercanvis de files (pivotatge<br />

parcial), obtenim la matriu A 0 (la matriu A amb les files canviades).<br />

Exemple 6.4 Resolem el sistema anterior pel mètode LU amb pivotatge<br />

parcial.<br />

L’element pivot per a la primera transformació serà el màxim, en valor<br />

absolut, dels coeficients de la x en la primera columna:<br />

max{2, 8, 4} =8<br />

Per tant, intercanviem la primera i la segona fila de la matriu A:<br />

⎛<br />

A (1) = ⎝<br />

8 −3 2<br />

2 1 4<br />

4 11 −1<br />

⎞<br />

⎠<br />

F2− 1<br />

4 F1<br />

F3− 1<br />

2 F1<br />

→ A (2) =<br />

⎛<br />

⎜<br />

⎝<br />

1<br />

4<br />

1<br />

2<br />

8 −3 2<br />

Com que el màxim, en valor absolut, dels elements de la segona columna per<br />

damunt i per sota la diagonal és max{ 7 4 , 25 25<br />

2 } = 2 , intercanviem la segona i<br />

tercera files:<br />

⎛<br />

8 −3 2<br />

⎜ 1 25<br />

→ ⎜<br />

⎝ 2 2 −2<br />

⎞<br />

⎟<br />

⎠ → A (3) ⎛<br />

8 −3 2<br />

⎜ 1 25<br />

= ⎜<br />

⎝ 2 2 −2<br />

⎞<br />

⎟<br />

⎠<br />

Per tant<br />

1<br />

4<br />

7<br />

4<br />

1<br />

4<br />

7<br />

2<br />

7<br />

50 1<br />

F3− 7<br />

50 F2<br />

1<br />

4<br />

0 0 189<br />

50<br />

7<br />

50<br />

⎛<br />

1 0<br />

⎞<br />

0<br />

⎛<br />

8 −3 2<br />

L = ⎝ 1<br />

2 1 0 ⎠ ; U = ⎝ 0 25<br />

2 −2<br />

⎞<br />

⎠<br />

Els mateixos intercanvis de files que hem fet en les matrius A (k) els hem<br />

de fer en b =(12, 20, 33) T . Així doncs, hem de resoldre, successivament, els<br />

sistemes:<br />

⎛<br />

1 0<br />

⎞ ⎛<br />

0<br />

⎝<br />

⎛<br />

1<br />

2<br />

1<br />

4<br />

1<br />

7<br />

50<br />

0 ⎠ ⎝<br />

1<br />

⎞ ⎛<br />

⎝<br />

8 −3 2<br />

0 25 2 −2<br />

0 0 189<br />

50<br />

⎠ ⎝<br />

y1<br />

y2<br />

y3<br />

x1<br />

x2<br />

x3<br />

⎞<br />

⎠ =<br />

⎞<br />

⎠ =<br />

⎛<br />

⎝<br />

⎛<br />

⎝<br />

20<br />

33<br />

12<br />

y1<br />

y2<br />

y3<br />

⎞<br />

⎠<br />

⎞<br />

⎠<br />

7<br />

4<br />

25<br />

2<br />

7<br />

2<br />

−2<br />

189<br />

50<br />

⎞<br />

⎟<br />


150 Cap. 6 Sistemes d’equacions lineals<br />

les solucions dels quals són:<br />

Observacions:<br />

(y1,y2,y3) T =<br />

µ<br />

20, 23, 189<br />

50<br />

(x1,x2,x3) T = (3, 2, 1) T<br />

• Una matriu de permutació P es aquella que té un 1 a cada fila i<br />

columna i zeros a la resta. És, per tant, una reordenació per files (o<br />

columnes) de la matriu unitat. Per exemple,<br />

⎛<br />

P = ⎝<br />

0 0 1<br />

1 0 0<br />

0 1 0<br />

• La inversa d’una matriu de permutació és la seva transposada, és a dir<br />

P −1 = P T<br />

• Multiplicar per l’esquerra una matriu de permutació P per una matriu<br />

A 0 ,PA 0 , equival a fer intercanvis de files en la matriu A 0 . Per tant,<br />

com que en la descomposició LU amb pivotatge obtenim A 0 = LU, es<br />

pot trobar una matriu de permutació P tal que A = PA 0 = PLU.<br />

Aleshores, la resolució del sistema AX = b equival a la resolució successiva<br />

dels sistemes triangulars PLY = b , UX = Y. Aprofitant que<br />

P −1 = P T , la solució del sistema AX = b es troba resolent, successivament<br />

els sistemes ½ LY = P T b<br />

UX = Y<br />

Perexemple,enelcasanterior,tenim:<br />

⎛<br />

= ⎝<br />

0 0 1<br />

1 0 0<br />

0 1 0<br />

⎞<br />

⎛<br />

1 0 0<br />

1<br />

1<br />

4<br />

7<br />

50 1<br />

⎞<br />

⎛<br />

⎠ · ⎝<br />

2 1 0 ⎠ · ⎝<br />

⎞<br />

⎠<br />

T<br />

8 −3 2<br />

0 25 2 −2<br />

0 0 189<br />

50<br />

(6.4)<br />

⎞ ⎛<br />

A = PLU =<br />

⎞<br />

2 1 4<br />

⎠ = ⎝ 8 −3 2 ⎠<br />

4 11 −1<br />

La matriu P la trobarem, amb MapleV, a partir de l’ordre LUdecomp.<br />

6.5 Mètodes iteratius<br />

Sigui AX = b un sistema lineal de n equacions i n incògnites i suposem<br />

det A 6= 0. Els mètodes iteratius obtenen la solució mitjançant aproximacions


Ricard Dominguez, Imma Gilibets, M. Albina Puente 151<br />

successives, és a dir, partint d’un vector inicial X (0) ∈ R n ,es construeix una<br />

successió X (1) ,X (2) ,...,X (k) ,...que convergeixi cap a la solució X = A −1 b<br />

Sigui A = N − P una descomposició de la matriu A, ambN invertible.<br />

Aleshores, el sistema AX = b pot escriure’s (N − P )X = b i, com que N és<br />

invertible, resulta<br />

X = N −1 PX + N −1 b<br />

Partint de X (0) arbitrari, definim per recursió una successió de vectors<br />

{X (k) }:<br />

X (k) = N −1 PX (k−1) + N −1 b (6.5)<br />

La matriu M = N −1P se’n diu matriu d’iteració. El mètode iteratiu vé<br />

donat, doncs, per<br />

X (k) = MX (k−1) + N −1 b k =1, 2,... (6.6)<br />

Variant l’elecció de N i P tindrem diferents mètodes iteratius. Els més<br />

habituals són el mètode de Jacobi ieldeGauss-Seidel.<br />

6.5.1 Convergència dels mètodes iteratius<br />

La convergència d’un mètode iteratiu es pot estudiar a partir del radi espectral<br />

de la matriu d’iteració o bé de la seva norma:<br />

• Definim el radi espectral d’una matriu com el màxim, en valor absolut,<br />

dels valors propis de la matriu. Així doncs:<br />

ρ(M) =max|λi|<br />

i<br />

on λi són els valors propis de la matriu M.<br />

• Les normes matricials més habituals són:<br />

kAk 1 = max<br />

x6=0<br />

kAk ∞ = max<br />

x6=0<br />

on A és una matriu n × n.<br />

kAXk 1<br />

kXk 1<br />

kAXk ∞<br />

kXk ∞<br />

= max<br />

1≤j≤n<br />

= max<br />

nX<br />

i=1<br />

nX<br />

|aij|<br />

|aij|<br />

1≤i≤n<br />

j=1<br />

Exemple 6.5 Calculeu kAk1 i kAk∞ per a la següent matriu:<br />

⎛<br />

⎞<br />

1 1.1 1.2<br />

A = ⎝ 1.3 −2 −1.4 ⎠<br />

−1 1.4 1.5


152 Cap. 6 Sistemes d’equacions lineals<br />

A partir de les fórmules anteriors, trobem<br />

kAk1 = max{3.3, 4.5, 4.1} =4.5<br />

kAk∞ = max{3.3, 4.7, 3.9} =4.7<br />

Aleshores, tenim els següents resultats sobre la convergència d’un mètode<br />

iteratiu:<br />

• El mètode iteratiu X (k) = MX (k−1) + N −1 b és convergent si i noméssielradiespectraldelamatriud’iteracióρ(M)<br />

és menor que 1,<br />

independentment de l’elecció de X (0) .<br />

• En particular, si kMk < 1 per a alguna norma matricial, el mètode és<br />

convergent per a qualsevol X (0) .<br />

Criteris d’aturada de les iteracions. Fita de l’error<br />

• Suposant kMk < 1, aleshores,tenim una fita per a l’error absolut:<br />

°<br />

°X (k) °<br />

− X°<br />

≤ kMk<br />

°<br />

°X<br />

1 − kMk<br />

(k) − X (k−1)<br />

°<br />

Aquesta desigualtat es pot fer servir com a test per aturar les iteracions:<br />

si la fita d’error prefixada és ε, caldrà comprovar a cada iteració<br />

si<br />

kMk ° X (k) − X (k−1)<br />

1 − kMk<br />

° ≤ ε (6.7)<br />

kMk<br />

Si kMk és molt propera a 1, 1−kMk és molt gran i la fita de l’error no<br />

és operativa. En aquests casos podem utilitzar:<br />

° X (k) − X (k−1) ° ° ≤ ε (6.8)<br />

• De vegades, pot ser millor obtenir una estimació de l’error relatiu:<br />

° X (k) − X (k−1) ° ° X (k) ° ≤ ε (6.9)<br />

• Suposant kMk < 1, la següent desigualtat pot utilitzar-se per a obtenir<br />

una fita, sovint excessiva, del nombre d’iteracions necessàries per<br />

trobar la solució amb una precisió donada<br />

° °<br />

° X (k) − X °<br />

kMk<br />

≤ k ° X (1) − X (0)<br />

1 − kMk<br />

° (6.10)


Ricard Dominguez, Imma Gilibets, M. Albina Puente 153<br />

6.5.2 Mètode de Jacobi<br />

Donat el sistema AX = b ,suposemaii 6= 0, (i =1÷ n)<br />

Definim<br />

⎛<br />

⎜<br />

N = ⎝<br />

a11<br />

Aleshores,<br />

⎛<br />

0<br />

⎜<br />

P = N − A = ⎜<br />

⎝<br />

. ..<br />

−aij<br />

. ..<br />

−aij<br />

. ..<br />

⎞<br />

⎟<br />

⎠<br />

0<br />

El mètode de Jacobi pot aplicar-se si det N 6= 0,ésadir,siaii 6= 0, (i =<br />

1 ÷ n). En components, l’algorisme d’iteració (6.6) és:<br />

x (k)<br />

⎛<br />

1 ⎜<br />

i = ⎜<br />

aii<br />

⎝bi nX<br />

− aijx (k−1)<br />

⎞<br />

⎟<br />

j ⎠ (i =1÷ n) (6.11)<br />

Observacions:<br />

j=1<br />

j6=i<br />

. ..<br />

ann<br />

⎞<br />

⎟<br />

⎠<br />

1. Si en el sistema AX = b aïllem la variable xi en l’equació i-èsima,<br />

obtenim<br />

ai1x1 + ai2x2 + ...+ ainxn = bi<br />

xi = 1<br />

⎡<br />

⎢<br />

⎣bi nX<br />

−<br />

aii<br />

j=1<br />

j6=i<br />

aijxj<br />

⎤<br />

⎥<br />

⎦<br />

d’on el mètode iteratiu és el descrit en (6.11)<br />

(i =1÷ n)<br />

2. El nombre d’operacions a cada iteració (de X (k−1) a X (k) )ésn 2 .<br />

3. La condició kMk < 1 per a les normes kk1 i kk∞ és, en aquest cas,<br />

nX<br />

¯ ¯<br />

¯aij<br />

¯<br />

kMk1 = max ¯ ¯<br />

j ¯ ¯ < 1 (6.12)<br />

kMk ∞ = max<br />

i<br />

i=1<br />

i6=j<br />

nX<br />

¯<br />

j=1<br />

j6=i<br />

aii<br />

aij<br />

aii<br />

¯ < 1 (6.13)


154 Cap. 6 Sistemes d’equacions lineals<br />

Exemple 6.6 Resoleu, pel mètode de Jacobi, el sistema:<br />

⎛<br />

0 2<br />

⎞<br />

1<br />

⎛ ⎞<br />

x<br />

⎛ ⎞<br />

1<br />

⎝ 4 1 1 ⎠ · ⎝ y ⎠ = ⎝ 0 ⎠ (6.14)<br />

1 1 4 z −3<br />

amb un error menor que 10 −3 .<br />

És fàcil comprovar que la solució exacta és x =0,y=1,z= −1.<br />

Com que la matriu diagonal N no és invertible, hem de reordenar les equacions<br />

i resoldre el sistema:<br />

⎛<br />

4 1<br />

⎞<br />

1<br />

⎛ ⎞<br />

x<br />

⎛ ⎞<br />

0<br />

⎝ 0 2 1 ⎠ · ⎝ y ⎠ = ⎝ 1 ⎠<br />

1 1 4 z −3<br />

Observem que el mètode de Jacobi serà convergent per a qualsevol valor<br />

inicial perquè, segons(6.13), tenim:<br />

nX<br />

¯ ¯<br />

¯aij<br />

¯<br />

kMk∞ =max ¯ ¯<br />

i ¯ ¯ =max<br />

½ ¾<br />

1 1 1 1 1<br />

+ , , + =0.5<br />

4 4 2 4 4<br />

⎛<br />

Així doncs, N = ⎝<br />

j=1<br />

j6=i<br />

4 0 0<br />

0 2 0<br />

0 0 4<br />

aii<br />

⎞<br />

P = N − A = ⎝<br />

⎠ i, per tant,<br />

⎛<br />

⎛<br />

M = N −1 P = ⎝<br />

0 −1 −1<br />

0 0 −1<br />

−1 −1 0<br />

C = N −1 b =(0, 0.5, −0.75) T<br />

⎞<br />

⎠<br />

0 −.25000 −.25000<br />

0 0 −.50000<br />

−.25000 −.25000 0<br />

Partint de X (0) = C i utilitzant (6.7) amb la norma kk ∞ peraturarles<br />

iteracions, el mètode de Jacobi dóna les següents aproximacions:<br />

X (1) = MX (0) + C =(.06250,.87500, −.87500) T<br />

X (2) = MX (1) + C =(0,.93750, −.98438) T<br />

X (3) = MX (2) + C =(.01172,.99219, −.98438) T<br />

X (4) = MX (3) + C =(−.00195,.99219, −1.0010) T<br />

X (5) = MX (4) + C =(.00220, 1.0005, −.99756) T<br />

X (6) = MX (5) + C =(−.00074,.99878, −1.0007) T<br />

X (7) = MX (6) + C =(.00048, 1.0004, −.99952) T<br />

X (8) = MX (7) + C =(−.00022,.99976, −1.0002) T<br />

⎞<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 155<br />

Donat que ° °X (8) − X (7)° ° ∞ = k(−.00070, −.00064, −.00068)k ∞ =0.00070,<br />

la solució X (8) obtinguda és tal que:<br />

°<br />

°X (8) °<br />

− X°<br />

≤<br />

∞<br />

6.5.3 Mètode de Gauss-Seidel<br />

kMk<br />

°<br />

∞ °<br />

°X<br />

1 − kMk∞ (8) − X (7)<br />

° =<br />

∞<br />

0.5<br />

· 0.00070 = 0.00070 < 10−3<br />

1 − 0.5<br />

El mètode de Gauss-Seidel es basa en la mateixa fórmula (6.11), amb la<br />

diferència que utilitzem a cada iteració els x (k)<br />

i acabats de calcular, és a dir,<br />

x (k)<br />

⎡<br />

1 Xi−1<br />

i = ⎣bi − aijx<br />

aii<br />

(k)<br />

j −<br />

nX<br />

aijx (k−1)<br />

⎤<br />

⎦<br />

j (i =1÷ n) (6.15)<br />

j=1<br />

j=i+1<br />

Donat que aquest mètode utilitza en el càlcul de x (k)<br />

i valors més aproximats<br />

que el mètode de Jacobi, és d’esperar, en principi, una convergència més<br />

ràpida.<br />

La descomposició d’A que dóna lloc a aquest esquema iteratiu s’obté prenent<br />

⎛<br />

a11<br />

⎜<br />

N = ⎜ a21<br />

⎜<br />

⎝ .<br />

0<br />

a22<br />

···<br />

. ..<br />

. ..<br />

0<br />

.<br />

0<br />

⎞<br />

⎟<br />

⎠<br />

an1 ··· ··· ann<br />

Observacions:<br />

1. La condició kMk < 1 per a la norma kk∞ és la mateixa que per al<br />

mètode de Jacobi:<br />

nX<br />

¯ ¯<br />

¯aij<br />

¯<br />

kMk∞ =max ¯ ¯<br />

i ¯ ¯ < 1<br />

j=1<br />

j6=i<br />

2. Si A és estrictament dominant diagonalment, els mètodes de Jacobi i<br />

de Gauss-Seidel convergeixen.<br />

3. Si A és simètrica amb elements positius a la diagonal, el mètode de<br />

Gauss-Seidel convergeix si i només si A és definida positiva.<br />

aii


156 Cap. 6 Sistemes d’equacions lineals<br />

Exemple 6.7 Resoleu el sistema (6.14) pel mètode de Gauss-Seidel.<br />

Igual que quan hem aplicat el mètode de Jacobi, hem de reordenar les equacions<br />

per tal que la matriu N sigui invertible:<br />

⎛<br />

4 1<br />

⎞<br />

1<br />

⎛ ⎞<br />

x<br />

⎛ ⎞<br />

0<br />

⎝ 0 2 1 ⎠ · ⎝ y ⎠ = ⎝ 1 ⎠<br />

1 1 4 z −3<br />

Com que la matriu A és estrictament dominant diagonalment, el mètode de<br />

Gauss-Seidel convergeix per a qualsevol valor inicial. Tenint en compte que<br />

⎛<br />

4 0<br />

⎞<br />

0<br />

N = ⎝ 0 2 0 ⎠<br />

1 1 4<br />

resulta:<br />

⎛<br />

P = N − A = ⎝<br />

⎛<br />

M = N −1 P = ⎝<br />

⎛<br />

C = N −1 b = ⎝<br />

0 −1 −1<br />

0 0 −1<br />

0 0 0<br />

⎞<br />

⎠<br />

0 −.25000 −.25000<br />

0 0 −.50000<br />

0 .062500 .18750<br />

0<br />

.50000<br />

−.87500<br />

Aleshores, utilitzant (6.7) amb la norma kk ∞ per aturar les iteracions i<br />

partint de X (0) = C, obtenim les següents aproximacions:<br />

X (0) = (0, 0.50000, −0.87500)<br />

X (1) = MX (0) + C =(.09375,.93750, −1.0078) T<br />

X (2) = MX (1) + C =(0.01757, 1.0039, −1.0054) T<br />

X (3) = MX (2) + C =(.00037, 1.0027, −1.0008) T<br />

X (4) = MX (3) + C =(−.00048, 1.0004, −.99998) T<br />

X (5) = MX (4) + C =(−.00010,.99999, −.99998) T<br />

Com que ° X (5) − X (4) ° = k(.00038, −.00041, 0)k ∞ ∞ =0.00041, l’estimació<br />

de l’error comès per a la solució X (5) obtinguda és:<br />

°<br />

°X (5) °<br />

− X°<br />

∞<br />

≤<br />

kMk<br />

°<br />

∞ °<br />

°X<br />

1 − kMk∞ (5) − X (4)<br />

° =<br />

∞<br />

0.5<br />

· 0.00041 = 0.00041 < 10−3<br />

1 − 0.5<br />

⎞<br />

⎠<br />

⎞<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 157<br />

6.6 Problemes resolts<br />

Problema 6.1 Resoleu, aplicant el mètode de Gauss, el sistema<br />

⎧<br />

⎨<br />

⎩<br />

2x1 − x2 + x3 = −1<br />

3x1 +3x2 +9x3 = 0<br />

3x1 +3x2 +5x3 = 4<br />

Els passos de la fase d’eliminació gaussiana són:<br />

⎛ ¯ ⎞<br />

2 −1 1 ¯ −1<br />

⎝ 3 3 9 ¯ 0 ⎠<br />

3 3 5 ¯ 4<br />

F2 − 3 2F1 F3 − 3<br />

2F1 ⎛<br />

¯ ⎞<br />

2 −1 1 ¯ −1<br />

→ ⎝ 9 15 0 ¯ 32 ⎠<br />

2 2 ¯<br />

9 7 0 ¯ 112<br />

2 2<br />

F3−F2 →<br />

⎛<br />

¯ ⎞<br />

2 −1 1 ¯ −1 2x1 − x2 + x3 = −1<br />

⎝ 9 15 0 ¯ 3 ⎠ 9<br />

2 2 ¯ 2 ⇔ 2<br />

0 0 −4 ¯ 4<br />

x2 + 15<br />

2 x3 = 3<br />

⎫<br />

⎬<br />

2 ⎭<br />

−4x3 =4<br />

Finalment, resolem el sistema triangular superior:<br />

— Tercera equació: −4x3 =4⇒ x3 = −1<br />

— Segona equació: 9 2 x2 + 15 2 x3 = 3 2 ⇒ 9 2 x2 − 15 2 = 3 2 ⇒ x2 =2<br />

(6.16)<br />

— Primera equació: 2x1−x2+x3 = −1 ⇒ 2x1−2−1 =−1 ⇒ x1 =1<br />

Problema 6.2 Resoleu el sistema (6.16) anterior utilitzant el mètode LU<br />

Sigui A la matriu del sistema. Aprofitarem els càlculs realitzats al problema<br />

anterior per trobar la factorització A = LU<br />

La matriu U és la matriu triangular superior que hem obtingut en l’eliminació<br />

gaussiana. Per tant, tenim<br />

⎛<br />

2 −1<br />

⎞<br />

1<br />

U = ⎝ 0<br />

0<br />

9<br />

2<br />

0<br />

15 ⎠<br />

2<br />

−4<br />

D’altra banda, tenint en compte les transformacions que hem realitzat sobre<br />

les files trobem els elements de la matriu L:<br />

F2 − 3<br />

2 F1 ⇒ l21 = 3<br />

2<br />

F3 − 3<br />

2 F1 ⇒ l31 = 3<br />

2<br />

F3 − F1 ⇒ l32 =1


158 Cap. 6 Sistemes d’equacions lineals<br />

Així doncs, la factorització LU de la matriu A és:<br />

⎛ ⎞ ⎛<br />

2 −1 1<br />

⎞<br />

A = LU = ⎝ ⎠ ⎝ 0<br />

0<br />

9<br />

2<br />

0<br />

15 ⎠<br />

2<br />

−4<br />

1 0 0<br />

3<br />

2 1 0<br />

3<br />

2 1 1<br />

Aleshores, hem de resoldre successivament els sistemes<br />

LY = b<br />

UX = y<br />

Plantegem primer el sistema triangular inferior<br />

⎛ ⎞ ⎛ ⎞ ⎛<br />

quetépersolució<br />

⎝<br />

1 0 0<br />

3<br />

2 1 0<br />

3<br />

2 1 1<br />

⎠ ⎝<br />

y1<br />

y2<br />

y3<br />

⎠ = ⎝<br />

Y T µ<br />

= −1, 3<br />

T<br />

, 4<br />

2<br />

i, després, el sistema triangular superior<br />

⎛<br />

2 −1 1<br />

⎞ ⎛<br />

⎝ 0<br />

0<br />

9<br />

2<br />

0<br />

15 ⎠ ⎝<br />

2<br />

−4<br />

la solució del qual és<br />

x1<br />

x2<br />

x3<br />

⎞<br />

X T =(1, 2, −1) T<br />

⎛<br />

⎠ = ⎝<br />

Problema 6.3 Fent servir aritmètica de punt flotant amb quatre dígits,<br />

resoleu el sistema<br />

a)<br />

⎧<br />

⎨<br />

⎩<br />

−1<br />

0<br />

4<br />

−1<br />

3<br />

2<br />

4<br />

x1 + 1<br />

2x2 + 1<br />

5x3 = 3<br />

−4x1 +2x2 +3x3 = −1<br />

5<br />

3x1 − x2 − x3 = 2<br />

(a) pel mètode de Gauss, sense pivotatge<br />

(b) pel mètode de Gauss amb pivotatge parcial<br />

⎛<br />

⎝<br />

1 .5000 .2000<br />

−4 2 3<br />

1.667 −1 −1<br />

¯<br />

⎞<br />

⎠<br />

3<br />

−1<br />

2<br />

⎞<br />

⎠<br />

⎞<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 159<br />

Aleshores<br />

b)<br />

F2+4F1<br />

F3−1.667F1<br />

→<br />

F3−0.4585F2 →<br />

⇔<br />

⎛<br />

⎝<br />

⎛<br />

⎝<br />

1 .5000 .2000<br />

0 4 3.800<br />

0 −1.834 −1.333<br />

1 .5000 .2000<br />

0 4 3.800<br />

0 0 .4090<br />

¯<br />

¯<br />

3<br />

11<br />

2.043<br />

3<br />

11<br />

−3.001<br />

⎞<br />

⎠<br />

⎞<br />

⎠<br />

x1 +0.5000x2 +0.2000x3 = 3<br />

4x2 +3.800x3 = 11<br />

0.4090x3 = 2.043<br />

x3 = 2.043<br />

0.4090 =4.995<br />

x2 =<br />

11 − 3.800 · 4.995<br />

= −1.995<br />

4<br />

x1 = 3−0.5 · (−1.995) − 0.2 · 4.995 = 2.999<br />

Com que el màxim valor absolut dels elements de la primera columna és 4,<br />

intercanviem la primera i segona files<br />

⎛<br />

¯ ⎞<br />

−4 2 3 ¯ −1<br />

F12 → ⎝ 1 .5000 .2000 ¯ 3 ⎠<br />

1.667 −1 −1 ¯ 2<br />

⎛<br />

¯ ⎞<br />

−4 2 3 ¯ −1<br />

F2+0.25F1 → ⎝ 0 1 .9500 ¯ 2.750 ⎠<br />

F3+0.4168F1 0 −.1664 .2500 ¯ 2.041<br />

Com que max{|1| , |−0.1664|} =1, no cal intercanviar la segona i tercera<br />

files. Aleshores:<br />

⎛<br />

¯ ⎞<br />

−4 2 3 ¯ −1<br />

F3 +0.1664F2 → ⎝ 0 1 .9500 ¯ 2.750 ⎠<br />

0 0 .4081 ¯ 2.041<br />

El sistema triangular superior que hem de resoldre és<br />

quetépersolució:<br />

−4x1 +2x2 +3x3 = −1<br />

x2 +0.9500x3 = 2.750<br />

0.4081x3 = 2.041<br />

⎫<br />

⎬<br />

⎭<br />

(x1,x2,x3) T =(3.000, −2.001, 5.001) T<br />

⎫<br />

⎬<br />


160 Cap. 6 Sistemes d’equacions lineals<br />

Problema 6.4 Utilitzant el mètode de Jacobi, trobeu el nombre d’iteracions<br />

necessàries per resoldre el sistema<br />

⎛<br />

⎝<br />

6 2 0<br />

2 3 0<br />

1 0 3<br />

amb un error menor que 10 −3 .<br />

⎞ ⎛<br />

⎠ ⎝<br />

x<br />

y<br />

z<br />

⎞<br />

⎛<br />

⎠ = ⎝<br />

El mètode és convergent perquè la matriu A del sistema és estrictament<br />

dominant diagonalment<br />

Prenent<br />

⎛<br />

N = ⎝<br />

trobem les matrius P, M i C = N −1 b :<br />

P =<br />

M =<br />

C =<br />

⎛<br />

⎝<br />

⎛<br />

⎝<br />

⎛<br />

⎝<br />

6 0 0<br />

0 3 0<br />

0 0 3<br />

0 −2 0<br />

−2 0 0<br />

−1 0 0<br />

⎞<br />

⎠<br />

⎞<br />

⎠<br />

4<br />

3<br />

3<br />

⎞<br />

⎠<br />

0 −.33333 0<br />

−.66667 0 0<br />

−.33333 0 0<br />

.66667<br />

1<br />

1<br />

Aplicant la desigualtat (6.10), volem trobar k tal que<br />

kMk k °<br />

1 − kMk<br />

⎞<br />

⎠<br />

°X (1) − X (0)<br />

° ≤ 10 −3<br />

Partint de X (0) = C, trobemX (1) = MX (0) +C =(.33334,.55555,.77778) T .<br />

Utilitzant kk ∞ itenintencomptequekMk ∞ = .66667 ique ° °X (1) − X (0)° ° ∞ =<br />

0.44445, hem de trobar k tal que<br />

d’on<br />

0.66667k · 0.44445 ≤ 10−3<br />

1 − 0.66667<br />

³ ´<br />

10−3 (1−0.66667)<br />

ln 0.44445<br />

k ≥<br />

=17.747<br />

ln 0.66667<br />

⎞<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 161<br />

Per tant, amb 18 iteracions podrem assegurar que l’error comès en la solució<br />

aproximada és menor que 10 −3 . A la pràctica, però, aquesta precisió s’obté<br />

amb 9 iteracions:<br />

X (1) = (.33334,.55555,.77778)<br />

error : = .22222<br />

X (2)<br />

: = (.48149,.77777,.88889)<br />

error : = .11111<br />

X (8)<br />

.<br />

: = (.42916,.71497,.85749)<br />

error : = .0012150<br />

X (9)<br />

: = (.42835,.71389,.85695)<br />

error : = .00053999 < 10 −3<br />

Problema 6.5 Resoleu el sistema anterior pel mètode de Gauss-Seidel,<br />

amb un error menor que 10 −3 .<br />

Hem d’aplicar la fórmula (6.6) amb<br />

N =<br />

⎛<br />

⎝<br />

6 0 0<br />

2 3 0<br />

1 0 3<br />

⎛<br />

M = N −1 P = ⎝<br />

⎞<br />

⎛<br />

⎠ ; P = ⎝<br />

0 −.33333 0<br />

0 .22222 0<br />

0 .11111 0<br />

0 −2 0<br />

0 0 0<br />

0 0 0<br />

⎞<br />

⎞<br />

⎠<br />

⎛<br />

⎠ ; C = N −1 b = ⎝<br />

.66667<br />

.55556<br />

.77778<br />

Partint de X (0) = C i utilitzant (6.7) per aturar les iteracions amb ε =0.001,<br />

obtenim:<br />

X (1) = MX (0) + C =(.48149,.67902,.83951)<br />

error = .092588<br />

X (2) = MX (1) + C =(.44033,.70645,.85323)<br />

error = .020580<br />

X (3) = MX (2) + C =(.43119,.71255,.85627)<br />

error = .0045699<br />

X (4) = MX (3) + C =(.42916,.71390,.85695)<br />

error = .0010150<br />

X (5) = MX (4) + C =(.42871,.71420,.85710)<br />

error = .00022500 < 0.001<br />

⎞<br />


162 Cap. 6 Sistemes d’equacions lineals<br />

6.7 Problemes resolts amb Maple<br />

La llibreria linalg ens permet realitzar operacions pròpies de l’àlgebra lineal.<br />

Per resoldre sistemes d’equacions utilitzarem, entre d’altres, les següents<br />

instruccions:<br />

• linsolve(A, b, ’rang’ );<br />

— Permet resoldre el sistema d’equacions AX = b, on b pot ser un<br />

vector o una matriu.<br />

— Si s’especifica un tercer argument, aquest serà el nom que s’assignarà<br />

al rang d’A.<br />

• swaprow(A, i, j);<br />

— Intercanvia les files i-èsima i j-èsima en la matriu A. Anàlogament,<br />

swapcol(A, i ,j) intercanvia les columnes especificades.<br />

• gausselim(A, ’var1’, ’var2’ );<br />

— Aplica el mètode de Gauss a la matriu A per tal d’obtenir una<br />

matriu triangular superior. Si els elements de la matriu s’escriuen<br />

en notació decimal, es porta a terme l’eliminació gaussiana amb<br />

pivotatge parcial.<br />

— Si s’especifica el paràmetre var1, aquestcorrespondràalrangde<br />

la matriu. El paràmetre var2 s’assigna al determinant de la submatriu<br />

formada per les n primeres files i columnes, que coincideix<br />

amb el determinant d’A si aquesta és quadrada.<br />

— Si només especifiquem un segon paràmetre i és un enter, l’eliminació<br />

gaussiana s’acaba en aquesta posició de columna.<br />

• pivot(A, i, j, r..s);<br />

— Transforma la matriu A en una altra d’equivalent, de manera que<br />

la j-èsima columna tindrà tots els elements iguals a 0, llevat de<br />

l’element aij. El paràmetre r..s s’indica quan volem que aquestes<br />

transformacions siguin només de la fila r a la s.<br />

• augment(A,B,...);<br />

— Ajunta horitzontalment en una sola matriu dues o més matrius o<br />

vectors. Els vectors són afegits en columna.<br />

• backsub(U, b);


Ricard Dominguez, Imma Gilibets, M. Albina Puente 163<br />

— Obté el vector solució del sistema triangular superior UX = b.<br />

Si s’omet el paràmetre b, la darrera columna de la matriu U<br />

s’utilitza en comptes de b.<br />

• forwardsub(L,b);<br />

— És anàloga a la instrucció backsub, peròperasistemestriangulars<br />

inferiors.<br />

• LUdecomp(A,P=’p’,L=’l’,U=’u’,rank=’rang’,det=’d’);<br />

— CalculaladescomposicióLU d’una matriu A i dóna com a resultat<br />

la matriu U.<br />

— Si els elements de la matriu A estan en notació decimal, s’utilitza<br />

pivotatge parcial. Aleshores, es té A=PLU, onP és la matriu de<br />

permutació.<br />

— El paràmetre rank és el rang de la matriu A. Si aquesta té rang<br />

màxim, det correspon al seu determinant.<br />

Problema 6.6 La matriu de Hilbert d’ordre 4 és:<br />

⎛<br />

⎜<br />

H4 = ⎜<br />

⎝<br />

1<br />

1<br />

2<br />

1<br />

3<br />

1<br />

1<br />

2<br />

1<br />

3<br />

1<br />

4<br />

1<br />

1<br />

3<br />

1<br />

4<br />

1<br />

5<br />

1<br />

1<br />

4<br />

1<br />

5<br />

1<br />

6<br />

1<br />

⎞<br />

⎟<br />

⎠<br />

4 5 6 7<br />

Resoleu el sistema H4X = b, amb b T = ¡ 4, 163<br />

60<br />

, 21<br />

10<br />

¢<br />

241 , 140<br />

(a) pel mètode de Gauss<br />

(b) pel mètode de Gauss amb pivotatge parcial.<br />

Comencem carregant la llibreria linalg:<br />

> restart; with(linalg):<br />

Warning, new definition for norm<br />

Warning, new definition for trace


164 Cap. 6 Sistemes d’equacions lineals<br />

a)<br />

Maple disposa d’una ordre específica per a crear una matriu de Hilbert<br />

d’ordre n:<br />

> h:=hilbert(4);<br />

⎡<br />

⎢<br />

h := ⎢<br />

⎣<br />

> b:= vector( [4,163/60,21/10,241/140] );<br />

∙<br />

b := 4, 163<br />

¸<br />

21 241<br />

, ,<br />

60 10 140<br />

La solució exacta del sistema és:<br />

> linsolve(h,b);<br />

1<br />

1<br />

2<br />

1<br />

3<br />

1<br />

4<br />

1<br />

2<br />

1<br />

3<br />

1<br />

4<br />

1<br />

5<br />

1<br />

3<br />

1<br />

4<br />

1<br />

5<br />

1<br />

6<br />

[1, 2, 3, 4]<br />

Comencem formant la matriu ampliada sobre la que efectuar l’eliminació<br />

gaussiana:<br />

>amp:=augment(h,b);<br />

⎡<br />

1<br />

⎢<br />

1<br />

⎢ 2<br />

amp := ⎢ 1<br />

⎢ 3<br />

⎢<br />

⎣<br />

1<br />

4<br />

1<br />

2<br />

1<br />

3<br />

1<br />

4<br />

1<br />

5<br />

1<br />

3<br />

1<br />

4<br />

1<br />

5<br />

1<br />

6<br />

1<br />

4<br />

1<br />

5<br />

1<br />

6<br />

1<br />

7<br />

1<br />

4<br />

1<br />

5<br />

1<br />

6<br />

1<br />

7<br />

⎤<br />

⎥<br />

⎦<br />

4<br />

163<br />

60<br />

21<br />

10<br />

241<br />

140<br />

Escrivim els elements de la matriu en notació decimal utilitzant, per exemple,<br />

vuit dígits:<br />

> Digits:=8;<br />

Digits := 8<br />

⎤<br />

⎥<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 165<br />

>gauss[1]:=map(evalf,amp);<br />

gauss1 :=<br />

⎡<br />

⎢<br />

⎣<br />

1. .50000000 .33333333 .25000000 4.<br />

.50000000 .33333333 .25000000 .20000000 2.7166667<br />

.33333333 .25000000 .20000000 .16666667 2.1000000<br />

.25000000 .20000000 .16666667 .14285714 1.7214286<br />

Les diferents matrius que s’obtenen en la fase d’eliminació gaussiana són:<br />

> n:=4;<br />

for i from 1 to n-1 do gauss[i+1]:= pivot(gauss[i],i,i,i..n);od ;<br />

gauss2 :=<br />

gauss3 =<br />

gauss4 =<br />

⎡<br />

⎢<br />

⎣<br />

⎡<br />

⎢<br />

⎣<br />

⎡<br />

⎢<br />

⎣<br />

n := 4<br />

1. .50000000 .33333333 .25000000 4.<br />

0 .083333330 .083333330 .075000000 .71666670<br />

0 .083333330 .088888890 .083333337 .76666670<br />

0 .075000000 .083333337 .080357140 .72142860<br />

1 .50000000 .33333333 .25000000 4.<br />

0 .083333330 .083333330 .075000000 .71666670<br />

0 0 .0055555600 .0083333370 .050000000<br />

0 0 .0083333370 .012857137 .076428540<br />

1 .50000000 .33333333 .25000000 4.<br />

0 .083333330 .083333330 .075000000 .71666670<br />

0 0 .0055555600 .0083333370 .050000000<br />

0 0 −.20000000 · 10 −9 .00035713600 .0014285650<br />

Resolem el sistema triangular que representa la darrera matriu:<br />

> A:= submatrix(gauss[4],1..4,1..4);<br />

bg:=col(gauss[n],5);<br />

A : =<br />

⎡<br />

⎢<br />

⎣<br />

1 .50000000 .33333333 .25000000<br />

0 .083333330 .083333330 .075000000<br />

0 0 .0055555600 .0083333370<br />

0 0 −.20000000 · 10 −9 .00035713600<br />

bg : = [.25000000,.075000000,.0083333370,.00035713600]<br />

>solucio1:= linsolve(A, bg);<br />

b)<br />

solucio1 :=[.9999959, 2.0000418, 2.9999043, 4.0000605]<br />

⎤<br />

⎥<br />

⎦<br />

⎤<br />

⎥<br />

⎦<br />

⎤<br />

⎥<br />

⎦<br />

⎤<br />

⎥<br />

⎦<br />

⎤<br />

⎥<br />


166 Cap. 6 Sistemes d’equacions lineals<br />

Resolem ara el sistema utilitzant pivotatge parcial. Si la matriu associada al<br />

sistema té els seus elements en notació decimal, ho podem fer directament<br />

amb la instrucció gausselim:<br />

> U:= gausselim(gauss[1]) ;<br />

⎡<br />

1. .50000000 .33333333 .25000000 4.<br />

⎤<br />

⎢<br />

U := ⎢<br />

⎣<br />

0<br />

0<br />

.08333333<br />

0<br />

.08333333<br />

.008333337<br />

.07500000<br />

.012857137<br />

.7166667<br />

.07642854<br />

⎥<br />

⎦<br />

0 0 0 −.0002380908 −.000952379<br />

Resolent el sistema triangular que representa aquesta matriu, obtenim la<br />

solució del sistema:<br />

> solucio2:=backsub(U) ;<br />

solucio2 :=[.99999550, 2.0000456, 2.9998952, 4.0000664]<br />

Si volem fer nosaltres mateixos el pivotatge parcial, aprofitant l’apartat anterior<br />

veiem que en la matriu gauss3 hem d’intercanviar la tercera i quarta<br />

files. Ho farem amb l’ordre swaprow:<br />

> a3:= swaprow(gauss[3],3,4);<br />

⎡<br />

1 .50000000 .33333333 .25000000 4.<br />

⎤<br />

⎢<br />

a3 := ⎢ 0<br />

⎣ 0<br />

.083333330<br />

0<br />

.083333330<br />

.0083333370<br />

.075000000<br />

.012857137<br />

.71666670 ⎥<br />

.076428540 ⎦<br />

0 0 .0055555600 .0083333370 .050000000<br />

> a4:= pivot(a3,3,3,3..4);<br />

⎡<br />

1. .50000000 .33333333 .25000000 4.<br />

⎤<br />

⎢<br />

a4 := ⎢<br />

⎣<br />

0<br />

0<br />

.08333333<br />

0<br />

.083333330<br />

.0083333370<br />

.07500000<br />

.012857137<br />

.71666670<br />

.076428540<br />

⎥<br />

⎦<br />

0 0 0 −.00023809080 −.00095237900<br />

Com que aquesta matriu correspon a un sistema triangular superior, trobem<br />

la solució mitjançant l’ordre backsub:<br />

> sol:= backsub(a4);<br />

sol := [.99999550, 2.0000456, 2.9998952, 4.0000664]<br />

Problema 6.7 Resoleu el sistema<br />

⎧<br />

⎨<br />

⎩<br />

4x + y +5z = 10<br />

3x + y +2z = 6<br />

x − y +2z = 4


Ricard Dominguez, Imma Gilibets, M. Albina Puente 167<br />

(a) aplicant el mètode de Gauss.<br />

(b) aplicant la factorització LU.<br />

Carreguem la llibreria linalg:<br />

> with(linalg):<br />

a)<br />

Warning, new definition for norm<br />

Warning, new definition for trace<br />

> A:=matrix([[4,1,5],[3,1,2],[1,-1,2]]);<br />

b:=vector([10,6,4]);<br />

⎡<br />

4 1 5<br />

A : = ⎣ 3 1 2<br />

1 −1 2<br />

b : = [10, 6, 4]<br />

Formem la matriu sobre la qual realitzar l’eliminació gaussiana<br />

> A1:=augment(A,b);<br />

⎡<br />

A1 := ⎣<br />

4 1 5 10<br />

3 1 2 6<br />

1 −1 2 4<br />

Aplicant el mètode de Gauss a aquesta matriu s’obté una matriu triangular<br />

superior<br />

> U:=gausselim(A1);<br />

⎡<br />

4 1 5 10<br />

U := ⎣ 0<br />

0<br />

1<br />

4<br />

0<br />

7 − 4<br />

−8 6<br />

Resolem el sistema que representa aquesta matriu amb l’ordre backsub<br />

> sol1:=backsub(A1);<br />

sol1 :=<br />

∙ 7<br />

4<br />

, −3<br />

4<br />

− 3<br />

2<br />

¸<br />

3<br />

,<br />

4<br />

Si expressem els elements de la matriu A1 en notació decimal, l’ordre gausselim<br />

executa el mètode de Gauss amb pivotatge parcial:<br />

⎤<br />

⎦<br />

⎤<br />

⎦<br />

⎤<br />


168 Cap. 6 Sistemes d’equacions lineals<br />

>A1:=map(evalf ,A1);<br />

⎡<br />

A1 := ⎣<br />

4. 1. 5. 10.<br />

3. 1. 2. 6.<br />

1. −1. 2. 4.<br />

>U:= gausselim(A1);<br />

⎡<br />

4. 1. 5. 10.<br />

⎤<br />

U := ⎣ 0 −1.250000000 .750000000 1.500000000 ⎦<br />

0 0 −1.600000000 −1.200000000<br />

Observem que la segona fila d’aquesta matriu no es correspon amb la segona<br />

fila d’abans. La solució del sistema és<br />

> sol2 := backsub(U);<br />

sol2 :=[1.750000000, −.7500000000,.7500000000]<br />

b) Resolem ara el sistema a partir de la factorització LU de la matriu A:<br />

> LUdecomp( A,L=’L’,U=’U’);<br />

⎡<br />

4 1 5<br />

⎤<br />

⎣ 0<br />

0<br />

1<br />

4<br />

0<br />

−7 ⎦<br />

4<br />

−8<br />

La instrucció LUdecomp dóna com a resultat la matriu U. Vegem quina<br />

és la matriu L<br />

> evalm(L);<br />

⎡<br />

1 0<br />

⎤<br />

0<br />

⎣ 3<br />

4 1<br />

−5<br />

0 ⎦<br />

1<br />

1<br />

4<br />

Ara, hem de resoldre el sistema LY=b i després el sistema UX=Y<br />

> Y:=forward(L,b);<br />

X:=backsub(U,Y);<br />

Y :<br />

∙<br />

= 10, −3<br />

¸<br />

, −6<br />

2<br />

X :<br />

∙ ¸<br />

7 −3 3<br />

= , ,<br />

4 4 4<br />

Si els elements de la matriu A estan en notació decimal, aleshores es realitza<br />

la descomposició LU amb pivotatge parcial:<br />

⎤<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 169<br />

> A:= map( evalf, A);<br />

⎡<br />

A := ⎣<br />

4. 1. 5.<br />

3. 1. 2.<br />

1. −1. 2.<br />

> LUdecomp( A, L=’L’,U=’U’, P=’p’);<br />

⎡<br />

4. 1. 5.<br />

⎤<br />

⎣ 0 −1.250000000000000 .7500000000000000 ⎦<br />

0 0 −1.600000000000000<br />

Vegem quines són les matrius L i P, matrius triangular inferior i de permutació,<br />

respectivament<br />

> evalm(L);<br />

evalm(p);<br />

⎡<br />

⎣<br />

1. 0 0<br />

.2500000000 1. 0<br />

.7500000000 −.2000000000 1.<br />

⎡<br />

⎣<br />

1. 0 0<br />

0 0 1.<br />

0 1. 0<br />

Segons (6.4), per resoldre el sistema AX=b hemderesoldreprimerLY=P T b<br />

i després UX=Y<br />

> Y:=forwardsub(L,transpose(p)&*b);<br />

X:= backsub(U,Y);<br />

Y : = [10.00000000, 1.500000000, −1.200000000]<br />

X : = [1.750000000, −.7500000000,.7500000000]<br />

Comprovem la solució obtinguda:<br />

> evalm(A &* X);<br />

[10.00000000, 6.000000000, 4.000000000]<br />

Problema 6.8 Resoleu el següent sistema pel mètode de Jacobi, amb un<br />

error menor que 10 −3<br />

⎧<br />

⎨<br />

⎩<br />

⎤<br />

⎦<br />

⎤<br />

⎦<br />

3x + y + z = 5<br />

x +3y − z = 3<br />

3x + y − 5z = −1<br />

fent servir aritmètica de punt flotant amb 5 dígits.<br />

⎤<br />


170 Cap. 6 Sistemes d’equacions lineals<br />

> restart; with(linalg):<br />

Warning, new definition for norm<br />

Warning, new definition for trace<br />

> Digits:=5;<br />

Digits := 5<br />

> A:= matrix(3,3, [3,1,1,1,3,-1,3,1,-5]);<br />

b:= vector([5,3,-1]);<br />

⎡<br />

3 1 1<br />

A : = ⎣ 1 3 −1<br />

3 1 −5<br />

b : = [5, 3, −1]<br />

La solució del sistema és<br />

> linsolve(A,b);<br />

[1, 1, 1]<br />

L’esquema iteratiu que hem d’aplicar és X (k) = MX (k−1) + C amb M =<br />

N −1 P i C = N −1 b, on la matriu N és<br />

> N:= diag(3,3,-5);<br />

Calculem P, M i C<br />

> P:= evalm(N-A);<br />

⎡<br />

N := ⎣<br />

3 0 0<br />

0 3 0<br />

0 0 −5<br />

M:= map (evalf , evalm(inverse(N)&*P));<br />

C:= map (evalf , evalm(inverse(N)&*b));<br />

⎡<br />

0 −1<br />

⎤<br />

−1<br />

P : = ⎣ −1 0 1 ⎦<br />

−3 −1 0<br />

⎡<br />

0 −.33333<br />

⎤<br />

−.33333<br />

M : = ⎣ −.33333 0 .33333 ⎦<br />

.60000 .20000 0<br />

C : = [1.6667, 1., .20000]<br />

Observem que la norma infinit de M és menor que 1 i, per tant, el mètode<br />

és convergent<br />

⎤<br />

⎦<br />

⎤<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 171<br />

> norm(M);<br />

.80000<br />

Apliquem l’esquema iteratiu (6.6) prenent (6.8) amb la norma infinit com a<br />

criteri per aturar les iteracions<br />

> X[0]:= evalm(C);<br />

error:=infinity;<br />

for i from 0 to 10 while error>10^(-3) do<br />

X[i+1]:= map(evalf,evalm(M&*X[i]+C));<br />

error:=norm(X[i+1]-X[i]); od;<br />

X0 : = [1.6667, 1., .20000]<br />

error : = ∞<br />

X1 : = [1.2667,.51111, 1.4000]<br />

error : = 1.2000<br />

X2 : = [1.0297, 1.0444, 1.0622]<br />

error : = .53329<br />

X3 : = [.96451, 1.0108, 1.0267]<br />

error : = .06519<br />

X4 : = [.98754, 1.0207,.98087]<br />

error : = .04583<br />

X5 : = [.99952,.99777,.99666]<br />

error : = .02293<br />

X6 : = [1.0019,.99905,.99926]<br />

error : = .00260<br />

X7 : = [1.0006,.99912, 1.0010]<br />

error : = .00174<br />

X8 : = [1.0000, 1.0001, 1.0002]<br />

error : = .00098<br />

Problema 6.9 Resoleu el problema anterior utilitzant el mètode de Gauss-<br />

Seidel<br />

> restart; with(linalg):<br />

Warning, new definition for norm<br />

Warning, new definition for trace


172 Cap. 6 Sistemes d’equacions lineals<br />

> Digits := 5;<br />

Digits := 5<br />

Introduïm les matrius A i b<br />

⎡<br />

3 1 1<br />

A : = ⎣ 1 3 −1<br />

3 1 −5<br />

b : = [5, 3, −1]<br />

Per aplicar Gauss-Seidel hem de prendre la següent matriu N<br />

> N:= matrix(3,3,[3,0,0,1,3,0,3,1,-5]);<br />

⎡<br />

N := ⎣<br />

Aleshores, les matrius P, M i C són<br />

> P:= evalm(N-A);<br />

3 0 0<br />

1 3 0<br />

3 1 −5<br />

M:= map (evalf , evalm(inverse(N)&*P));<br />

C:= map (evalf , evalm(inverse(N)&*b));<br />

⎡<br />

P : = ⎣<br />

⎡<br />

0 −1 −1<br />

0 0 1<br />

0 0 0<br />

0 −.33333 −.33333<br />

M : = ⎣ 0 .11111 .44444<br />

0 −.17778 −.11111<br />

C : = [1.6667, .44444, 1.2889]<br />

Com que la norma infinit de M és menor que 1, el mètode és convergent<br />

> norm(M);<br />

.66666<br />

Imposant el mateix criteri (6.8) per aturar les iteracions, obtenim<br />

> X[0]:= evalm(C);<br />

error:=infinity;<br />

for i from 0 to 10 while error>10^(-3) do<br />

X[i+1]:= map(evalf,evalm(M&*X[i]+C));<br />

⎤<br />

⎦<br />

⎤<br />

⎦<br />

⎤<br />

⎦<br />

⎤<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 173<br />

error:=norm(X[i+1]-X[i]); od;<br />

X0 : = [1.6667,.44444, 1.2889]<br />

error : = ∞<br />

X1 : = [1.0889, 1.0667, 1.0667]<br />

error : = .62226<br />

X2 : = [.95558, 1.0370,.98074]<br />

error : = .13332<br />

X3 : = [.99413,.99554,.99557]<br />

error : = .04146<br />

X4 : = [1.0030,.99752, 1.0013]<br />

error : = .00887<br />

X5 : = [1.0004, 1.0003, 1.0003]<br />

error : = .00278<br />

X6 : = [.99984, 1.0002,.99993]<br />

error : = .00056<br />

6.8 Problemes proposats<br />

1. Resoleu el següent sistema<br />

⎧<br />

⎨<br />

⎩<br />

x1 + x2 + x3 = 1<br />

x1 +1.0001x2 − 2x3 = 2<br />

x1 +2x2 +2x3 = 1<br />

pel mètode de Gauss emprant aritmètica de punt flotant amb 3 dígits.<br />

2. Resoleu el sistema anterior trobant la factorització LU de la matriu A.<br />

3. Resoleu el següent sistema<br />

⎛<br />

−1 1 0 −3<br />

⎜<br />

⎝<br />

1<br />

0<br />

0<br />

1<br />

3<br />

−1<br />

1<br />

−1<br />

3 0 1 2<br />

⎞ ⎛<br />

⎟ ⎜<br />

⎟ ⎜<br />

⎠ ⎝<br />

x1<br />

x2<br />

x3<br />

x4<br />

⎞<br />

⎟<br />

⎠ =<br />

⎛<br />

⎜<br />

⎝<br />

(a) pel mètode de Gauss<br />

(b) pel mètode de Gauss amb pivotatge parcial<br />

(c) pel mètode LU<br />

4. Resoleu els següents sistemes fent servir el mètode de Jacobi amb un<br />

error menor que 10 −3 :<br />

4<br />

0<br />

3<br />

1<br />

⎞<br />

⎟<br />


174 Cap. 6 Sistemes d’equacions lineals<br />

(a)<br />

(b)<br />

(c)<br />

⎛<br />

⎜<br />

⎝<br />

⎛<br />

⎝<br />

⎧<br />

⎨<br />

⎩<br />

2x2 +4x3 = 0<br />

x1 − x2 − x3 = 0.375<br />

x1 − x2 +2x3 = 0<br />

10 −1 0<br />

−1 10 −2<br />

0 −2 10<br />

10 −1 2 0<br />

−1 11 −1 3<br />

2 −1 10 0<br />

0 3 −1 8<br />

⎞ ⎛<br />

⎠ ⎝<br />

⎞ ⎛<br />

⎟ ⎜<br />

⎟ ⎜<br />

⎠ ⎝<br />

x1<br />

x2<br />

x3<br />

x1<br />

x2<br />

x3<br />

x4<br />

⎞<br />

⎛<br />

⎠ = ⎝<br />

⎞<br />

⎟<br />

⎠ =<br />

⎛<br />

⎜<br />

⎝<br />

9<br />

7<br />

6<br />

⎞<br />

⎠<br />

6<br />

25<br />

−11<br />

−11<br />

5. Repetiu l’exercici anterior aplicant el mètode de Gauss-Seidel<br />

6. Fent servir el mètode de Jacobi resoleu el sistema<br />

⎧<br />

⎨<br />

⎩<br />

amb un error relatiu < 5%.<br />

−5x +2y +2z = −8<br />

3x − 7y +2z = −7<br />

3x +4y − 7z = −11<br />

7. Siguin A i B matrius d’ordre n estrictament dominants diagonalment.<br />

(a) És -A estrictament dominant diagonalment?<br />

(b) És AT estrictament dominant diagonalment?<br />

(c) És A+B estrictament dominant diagonalment?<br />

8. Considerem el següent sistema amb un paràmetre<br />

⎛<br />

4 1<br />

⎞ ⎛ ⎞<br />

a x<br />

⎛ ⎞<br />

1<br />

⎝ 1 4 1 ⎠ ⎝ y ⎠ = ⎝ 2 ⎠<br />

1 1 4 z 3<br />

(a) Per a quins valors d’a el mètode de Jacobi és convergent?<br />

(b) I el de Gauss-Seidel?<br />

(c) Sigui a = −1. Resoleu el sistema per cadascun dels mètodes amb<br />

un error < 10−2 ⎞<br />

⎟<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 175<br />

9. Sigui A =<br />

µ 1 −a<br />

−a 1<br />

<br />

Volem resoldre el sistema AX = b iterativament mitjançant la fórmula<br />

µ 1 0<br />

−a 1<br />

<br />

X (n+1) =<br />

µ 0 a<br />

0 0<br />

Per a quins valors de a convergeix el mètode?<br />

10. Donat el sistema d’equacions lineals:<br />

x +0.1y +0.1z =1.2<br />

0.2x + y +0.1z =1.3<br />

0.2x +0.2y + z =1.4<br />

<br />

X (n) + b<br />

(a) Comproveu si és convergent el mètode de Gauss-Seidel.<br />

(b) Calculeu els tres primers iterats agafant X (0) =(0, 0, 0) T .<br />

(c) Calculeu quants iterats són necessaris per obtenir un error menor<br />

que 10 −4 a partir de l’aproximació inicial anterior.<br />

11. Donat el sistema d’equacions lineals depenent del paràmetre a<br />

6x +2y =4<br />

2x +3y =3<br />

x + ay +3z =3<br />

(a) Formuleu el sistema matricialment i escriviu explícitament el mètode<br />

de Jacobi per a resoldre’l, en funció del paràmetre.<br />

(b) Per a quins valors de a podem assegurar la convergència del mètode?<br />

(c) Posem a =0. Quantes iteracions hauríem de fer, a partir del<br />

vector inicial X (0) =(0, 0, 0) T , per obtenir una precisió de dos<br />

decimals exactes?<br />

12. Donat el sistema d’equacions lineals<br />

És convergent el mètode de Jacobi?<br />

x + y +2z =1<br />

2x + y +2z =1<br />

−2x + y + z =1<br />

13. Donat el sistema d’equacions lineals<br />

3x + y =4<br />

x +3y =7<br />

x − y +3z =2<br />

⎫<br />

⎬<br />

⎭<br />

⎫<br />

⎬<br />

⎭<br />

⎫<br />

⎬<br />

⎭<br />

⎫<br />

⎬<br />


176 Cap. 6 Sistemes d’equacions lineals<br />

i el vector inicial X (0) =(0, 0, 0) T , trobeu el nombre d’iterats necessaris per<br />

tal d’obtenir una aproximació de la solució pel mètode de Jacobi amb un<br />

error menor que 10 −3 , usant la norma infinit.


Capítol 7<br />

Valors i vectors propis.<br />

7.1 Resum teòric i exemples.<br />

7.1.1 Definicionsbàsiquesipropietats.<br />

Valors i vectors propis.<br />

Sigui A una matriu quadrada d’ordre n.<br />

Direm que −→ v és un vector propi de valor propi λ associat a A si −→ v 6= −→ 0 i<br />

A −→ v = λ −→ v.<br />

Això és equivalent a cadascun dels apartats següents:<br />

(a) A −→ v − λ −→ v = −→ 0<br />

(b) (A − λ Id) −→ v = −→ 0<br />

(c) −→ v ∈ Ker(A − λ Id)<br />

(d) det(A − λ Id)=0<br />

El determinant de A − λ Id és un polinomi de grau n en la variable λ i<br />

s’anomena polinomi característic de la matriu A.<br />

Es diuen valors propis de la matriu A a les arrels del polinomi característic.<br />

El conjunt de tots els valors propis d’una matriu A s’anomena espectre de<br />

la matriu A i es denota per σ(A).<br />

El valor propi de mòdul màxim es coneix com radi espectral de la matriu.<br />

ρ(A) =max{|µ| /µ és un valor propi d’A}<br />

177


178 Cap. 7 Valors i vectors propis.<br />

Exemple 7.1 Trobeu els valors propis de la matriu<br />

⎛<br />

A = ⎝<br />

2 1 −1<br />

1 2 0<br />

−1 1 2<br />

1r. Calculem el polinomi característic, és a dir, el determinant de A − λ Id.<br />

¯ 2 − λ<br />

¯ 1<br />

¯ −1<br />

1<br />

2−λ 1<br />

¯<br />

−1 ¯<br />

0 ¯<br />

2−λ¯ = (2−λ)3−1− (2 − λ) − (2 − λ) =<br />

⎞<br />

⎠<br />

= 8−12λ +6λ 2 − λ 3 − 1 − 2+λ − 2+λ =<br />

= −λ 3 +6λ 2 − 10λ +3<br />

2n. Busquem les arrels del polinomi anterior, és a dir, resolem l’equació:<br />

les solucions de la qual són<br />

−λ 3 +6λ 2 − 10λ +3=0<br />

λ1 =3, λ2 = 3 − √ 5<br />

2<br />

i λ3 = 3+√ 5<br />

2<br />

Per tant, l’espectre de la matriu A és:<br />

(<br />

3 −<br />

σ(A) =<br />

√ 5<br />

,<br />

2<br />

3+√ )<br />

5<br />

, 3<br />

2<br />

El radi espectral de la matriu A, enaquestcas,és:<br />

Càlcul de vectors propis.<br />

ρ(A) =3<br />

Peracadavalorpropiλide la matriu A existeix, com a mínim, un vector<br />

−→<br />

v ,demaneraque<br />

A −→ v = λi −→ v<br />

és a dir, existeix, com a mínim, un vector propi. Per trobar-lo, com hem<br />

vist en les equivalències, calcularem el nucli de l’aplicació (A − λi Id).<br />

Exemple 7.2 Per a la matriu de l’exemple anterior, trobeu els vectors propis<br />

corresponents a cada valor propi.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 179<br />

Per λ =3,calculemKer(A − 3 Id)<br />

⎛<br />

2 − 3 1 −1<br />

⎞ ⎛<br />

⎝ 1 2−3 0 ⎠ ⎝<br />

−1 1 2−3 per això hem de resoldre el sistema:<br />

d’on obtenim la solució<br />

i, per tant, el vector del nucli serà:<br />

x<br />

y<br />

z<br />

−x + y − z = 0<br />

x − y = 0<br />

−x + y − z = 0<br />

z = 0<br />

x = y<br />

⎞<br />

⎛<br />

⎠ = ⎝<br />

⎫<br />

⎬<br />

⎭<br />

(x, y, z) =(y, y, 0) = y(1, 1, 0)<br />

Així, doncs, un vector propi de valor propi 3 és:<br />

−→ v1 =(1, 1, 0) T<br />

Seguint el mateix procés per als altres dos valors propis s’obté que:<br />

Ã<br />

−→ −<br />

v2 =<br />

√ 5 − 1<br />

, 1,<br />

2<br />

−√ ! T<br />

5 − 1<br />

=(−<br />

2<br />

√ 5 − 1, 2, − √ 5 − 1) T<br />

és un vector propi de valor propi 3 − √ 5<br />

,i<br />

2<br />

Ã√ √ ! T<br />

−→ 5 − 1 5 − 1<br />

v3 = , 1,<br />

=(<br />

2 2<br />

√ 5 − 1, 2, √ 5 − 1) T<br />

és un vector propi de valor propi 3+√5 .<br />

2<br />

Matrius semblants.<br />

Dues matrius A i B direm que són semblants si existeix una matriu P no<br />

singular (det(P ) 6= 0)tal que B = P −1 · A · P .<br />

Exemple 7.3 Matrius semblants.<br />

0<br />

0<br />

0<br />

⎞<br />


180 Cap. 7 Valors i vectors propis.<br />

Les matrius<br />

⎛<br />

A = ⎝<br />

2 1 −1<br />

1 2 0<br />

−1 1 2<br />

⎞ ⎛<br />

3 0 0<br />

⎠ ⎜<br />

i B = ⎝<br />

0<br />

3+ 0 √ 5<br />

2<br />

3− 0 0 √ 5<br />

2<br />

són semblants, ja que existeix una matriu P , formada pels vectors propis,<br />

⎛<br />

1<br />

P = ⎝<br />

√ 5 − 1 − √ 5 − 1<br />

1<br />

0<br />

2 2<br />

√ 5 − 1 − √ ⎞<br />

⎠<br />

5 − 1<br />

que compleix la condició B = P −1 · A · P .<br />

Propietats.<br />

1. A i B són matrius semblants ⇒ σ(A) =σ(B)<br />

2. Si A i B són matrius semblants, aleshores:<br />

(a) −→ v és vector propi d’A ⇒ −→ v 0 = P −1−→ v és vector propi de B.<br />

(b) −→ v 0 és vector propi de B ⇒ −→ v = P −→ v 0 és vector propi d’A<br />

3. A és invertible (det(A) 6= 0)⇐⇒ 0 no és valor propi d’A<br />

4. λ 6= 0és un valor propi d’A de vector propi −→ v ⇒ 1<br />

és valor propi<br />

λ<br />

d’A−1 de vector propi −→ v.<br />

½<br />

tr (A) =λ1 + λ2 + ...+ λn<br />

5. λ1, λ2, ... λn valors propis d’A ⇒<br />

det(A) =λ1 · λ2 · ...· λn<br />

6. Tota matriu simètrica a coeficients reals és diagonalitzable i els seus<br />

valors propis són reals.<br />

7.1.2 Càlcul numèric de valors i vectors propis.<br />

Hem vist, per definició, que per trobar els valors i vectors propis d’una<br />

matriu busquem:<br />

a) el polinomi característic: càlcul d’un determinant.<br />

b) les arrels del polinomi característic: resolució d’una equació polinòmica.<br />

c) per cada valor propi, el nucli de l’aplicació A−λ Id: resolució d’un sistema<br />

d’equacions.<br />

⎞<br />

⎟<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 181<br />

Aquest procés, en teoria, molt senzill; a la pràctica, si l’ordre de la matriu<br />

és superior a 3 ó 4, ens porta força problemes degut:<br />

1. a la complicació dels càlculs en el cas del determinant.<br />

2. a que per equacions de grau superior a 2, no sempre podem trobar una<br />

solució directament i, per tant, hauríem d’aplicar qualssevol dels mètodes<br />

que hem vist en el capítol 5.<br />

3. a que per a la resolució dels sistemes d’equacions, com hem vist en el<br />

capítol 6, a vegades, també necessitem mètodes numèrics per a poder trobar<br />

la solució.<br />

Per a tot això, ens trobem en la necessitat de buscar algun mètode numèric<br />

que ens permeti calcular els valors i vectors propis d’una matriu sense utilitzar<br />

el polinomi característic. Aquí veurem el mètode de la potència que<br />

ens dóna el valor propi de mòdul màxim i un vector propi associat.<br />

Localització de valors propis: teorema de Gersghorin.<br />

Aquest resultat ens permet trobar unes fites pels valors propis.<br />

Teorema 7.1 Sigui A =(aij)1≤i≤n una matriu i<br />

1≤j≤n<br />

Aleshores, es té<br />

Ki =<br />

⎧ ,<br />

⎨<br />

µ ∈ C | µ − aii | ≤<br />

⎩ X<br />

⎫<br />

⎬<br />

| aij |<br />

⎭<br />

σ(A) ⊂ n<br />

∪<br />

i=1 Ki<br />

Com a conseqüència del teorema tenim una fita pel radi espectral.<br />

nX<br />

ρ(A) ≤ max | aij |<br />

i<br />

Exemple 7.4 Trobeu una fita del radi espectral, aplicant el teorema de<br />

Gersghorin, de la matriu<br />

⎛<br />

2 1<br />

⎞<br />

−1<br />

A = ⎝ 1 2 0 ⎠<br />

−1 1 2<br />

j=1<br />

i compareu-la amb els valors propis trobats en l’exemple 1.<br />

j6=i


182 Cap. 7 Valors i vectors propis.<br />

En primer lloc, calcularem els cercles Ki per a cada fila de la matriu A.<br />

K1 = {µ , | µ − 2 | ≤ 2} = {µ, −2 ≤ µ − 2 ≤ 2} = {µ, 0 ≤ µ ≤ 4}<br />

K2 = {µ, | µ − 2 | ≤ 1} = {µ, −1 ≤ µ − 2 ≤ 1} = {µ, 1 ≤ µ ≤ 3}<br />

K3 = {µ, | µ − 2 | ≤ 2} = {µ, −2 ≤ µ − 2 ≤ 2} = {µ, 0 ≤ µ ≤ 4}<br />

Fent la unió dels tres cercles tenim que<br />

σ(A) ⊂ {µ, 0 ≤ µ ≤ 4}<br />

i, per tant, podem afitar el radi espectral així<br />

ρ(A) ≤ 4<br />

En l’exemple 1 veiem que ρ(A) =3, per tant, és certa la fita anterior i a més<br />

els valors propis que hem trobat estan compresos entre 0 i 4.<br />

0 ≤ λ3 = 3 − √ 5<br />

2<br />

7.1.3 Mètode de la potència.<br />

≤ λ2 = 3+√ 5<br />

2<br />

≤ λ1 =3≤ 4<br />

Aquest mètode ens permet determinar el valor propi de mòdul màxim i un<br />

vector propi associat.<br />

Suposarem que la matriu A és diagonalitzable amb valors propis λ1, λ2, ... , λn<br />

i vectors propis associats −→ v1 , −→ v2 ,..., −→ vn i que el valor propi de mòdul màxim<br />

és únic |λ1| > |λ2| ≥ ...≥ |λn|.<br />

L’algorisme del mètode de la potència, donat un vector inicial normalitzat<br />

x (0) 6= −→ 0 , és:<br />

y (k+1) = Ax (k)<br />

x (k+1) = y(k+1)<br />

k y (k+1) k<br />

Aleshores, si el mètode és convergent s’obté:<br />

(a) k y (k) k −→ | λ1 |<br />

k→∞<br />

(b) x (k) −→<br />

k →∞<br />

−→ v1<br />

per a k ≥ 0<br />

Exemple 7.5 Trobeu, aplicant el mètode de la potència, el valor propi de<br />

mòdul màxim de la matriu<br />

⎛<br />

2 1<br />

⎞<br />

−1<br />

A = ⎝ 1 2 0 ⎠<br />

−1 1 2<br />

agafant com a vector inicial x (0) =(0, 0, 1) T .


Ricard Dominguez, Imma Gilibets, M. Albina Puente 183<br />

Agafem el vector inicial normalitzat en norma infinit.<br />

x (0) =(0, 0, 1) T<br />

i anem calculant iterats segons l’algorisme<br />

y (1) = Ax (0) ⎛<br />

2 1<br />

⎞ ⎛ ⎞<br />

−1 0<br />

⎛ ⎞<br />

−1<br />

= ⎝ 1 2 0 ⎠ ⎝ 0 ⎠ = ⎝ 0 ⎠<br />

x<br />

−1 1 2 1 2<br />

(1) =<br />

y (1)<br />

k y (1) ⎛ ⎞ ⎛ ⎞<br />

−1 −0.5<br />

1<br />

= ⎝ 0 ⎠ = ⎝ 0 ⎠<br />

k 2<br />

2<br />

1<br />

y (2) = Ax (1) ⎛<br />

⎞ ⎛ ⎞<br />

2 1 −1 −0.5<br />

⎛ ⎞<br />

−2.0<br />

= ⎝ 1 2 0 ⎠ ⎝ 0 ⎠ = ⎝ −.5 ⎠<br />

x<br />

−1 1 2 1<br />

2.5<br />

(2) =<br />

y (2)<br />

k y (2) ⎛ ⎞ ⎛ ⎞<br />

−2.0 −0.8<br />

1<br />

= ⎝ −.5 ⎠ = ⎝ −0.2 ⎠<br />

k 2.5<br />

2.5<br />

1<br />

...<br />

Seguint aquest procés obtenim els següents resultats que escrivim en forma<br />

de taula.<br />

k y (k) k y (k) k x (k)<br />

1 (−1, 0, 2) T 2 (−0.5, 0, 1) T<br />

2 (−2, −0.5, 2.5) T 2.5 (−0.8, −0.2, 1) T<br />

3 (−2.8, −1.2, 2.6) T 2.8 (−0.99999, −0.42857, 0.92856) T<br />

4 (−3.3572, −1.8571, 2.4285) T 3.3572 (−1, −0.553170, 0.72338) T<br />

5 (−3.2766, −2.1063, 1.8936) T 3.2766 (−0.99999, −0.64282, 0.57791) T<br />

... ... ... ...<br />

29 (−3.0062, −2.9799, 0.042578) T 3.0062 (−0.99999, −0.99126, 0.014164) T<br />

30 (−3.0055, −2.9825, 0.037068) T 3.0055 (−0.99999, −0.99234, 0.012333) T<br />

31 (−3.0046, −2.9847, 0.032316) T 3.0046 (−0.99999, −0.99337, 0.010755) T<br />

↓ ↓<br />

|λ| =3 −→ v =(−1, −1, 0) T<br />

Per tant, observem⎛ que el ⎞ mòdul del valor propi dominant és 3 i un vector<br />

−1<br />

propi associat és ⎝ −1 ⎠ .<br />

0<br />

Observacions.<br />

• Com hem vist el mètode de la potència ens dóna el mòdul del valor<br />

propi però no el signe d’aquest. Per determinar el signe compararem


184 Cap. 7 Valors i vectors propis.<br />

dos iterats consecutius: si els dos vectors tenen el mateix signe, el valor<br />

propi és positiu; mentre que si tenen signes contraris, el valor propi és<br />

negatiu.<br />

En efecte, si x (k) tendeix cap al vector propi i λk és una aproximació<br />

del valor propi, tenim:<br />

x (k+1) = Ax(k)<br />

k Ax (k) k =<br />

1<br />

k Ax (k) k λk x (k)<br />

icomquek Ax (k) k > 0, el signe de λk és l’única diferència entre dos<br />

iterats consecutius.<br />

Exemple 7.6 Determineu el signe del valor propi dominant de l’exemple<br />

anterior.<br />

⎛<br />

−0.99999<br />

−0.99234<br />

⎞<br />

⎛<br />

−0.99999<br />

−0.99337<br />

Observem el vector x (30) = ⎝ ⎠ ielvectorx<br />

0.012333<br />

(31) = ⎝ ⎠,<br />

0.010755<br />

com que el signe dels dos vectors coincideix, podem assegurar que el valor<br />

propi dominant és positiu. Per tant, λ =3.<br />

• A l’hora de descriure el mètode hem suposat que el valor propi de mòdul<br />

màxim és únic. En cas de que tingui multiplicitat, el mètode també<br />

funciona, però no ens dóna la multiplicitat del valor propi i el vector<br />

resultant és una combinació lineal dels vectors propis corresponents.<br />

• Per la propietat 6, sabem que tota matriu simètrica a coeficients reals<br />

té tots els valors propis reals. En aquest cas, el mètode funciona<br />

correctament excepte en el supòsit de dos valors propis oposats λ1 =<br />

−λ2.<br />

Malgrat tot, el mètode ens permet trobar els valors propis i els vectors<br />

propis corresponents amb unes petites modificacions. Ara, els successius<br />

iterats tendiran alternativament a dos valors diferents α i β.<br />

Els valors propis s’obtenen aplicant |λ | = ± p |α · β|. Elsvectorsque<br />

surten alternativament no són els vectors propis finals, per obtenir-los<br />

hem de sumar i restar els vectors iterats. Es a dir,<br />

k y (k) k→ |α| ,x (k) → −→ u<br />

k y (k+1) k→ |β | ,x (k+1) → −→ v<br />

7.1.4 Mètode de la potència inversa.<br />

Es basa en el següent resultat:<br />

λ 6= 0 és valor propi d’A de vector propi −→ v<br />

¾<br />

⎞<br />

⇒ λ1 =+ p |α · β|, −→ v1 = −→ u + −→ v<br />

λ2 = − p |α · β|, −→ v2 = −→ u − −→ v


Ricard Dominguez, Imma Gilibets, M. Albina Puente 185<br />

⇒ µ = 1<br />

λ és valor propi d’A−1 de vector propi −→ v.<br />

Aplicant el mètode de la potència a la matriu A −1 , trobem que µ és el valor<br />

propi de mòdul màxim, i, per tant, λ és el valor propi de mòdul mínim de<br />

la matriu A.<br />

Així, doncs, el mètode de la potència ens dóna el valor propi de mòdul mínim<br />

i un vector propi associat quan l’apliquem a la inversa de la matriu donada.<br />

Exemple 7.7 Trobeu, aplicant el mètode de la potència inversa, el valor<br />

propi de mòdul mínim de la matriu<br />

⎛<br />

A = ⎝<br />

2 1 −1<br />

1 2 0<br />

−1 1 2<br />

agafant com a vector inicial x (0) =(2, 1, 1) T .<br />

Calculem la matriu inversa de la matriu A.<br />

A −1 ⎛<br />

1.3333 −1<br />

⎞<br />

0.66667<br />

= ⎝ −0.66667 1 −0.33333 ⎠<br />

1 −1 1<br />

Agafem el vector inicial normalitzat en norma infinit.<br />

⎞<br />

⎠<br />

x (0) = 1<br />

2 (2, 1, 1)T =(1, 0.5, 0.5) T<br />

i anem calculant iterats<br />

y (1) = A −1 x (0) ⎛<br />

1.3333 −1<br />

⎞ ⎛<br />

0.66667 1<br />

⎞ ⎛<br />

1.1666<br />

⎞<br />

= ⎝ −0.66667 1 −0.33333 ⎠ ⎝ 0.5 ⎠ = ⎝ −0.33334 ⎠<br />

x<br />

1 −1 1 0.5<br />

1.0<br />

(1) =<br />

y (1)<br />

k y (1) k =<br />

1<br />

⎛ ⎞ ⎛ ⎞<br />

1.1666<br />

1<br />

⎝ −0.33334 ⎠ = ⎝ −0.28574 ⎠<br />

1.1666<br />

1.0<br />

0.85719<br />

y (2) = A −1 x (1) ⎛<br />

⎞ ⎛<br />

1.3333 −1 0.66667 1<br />

⎞ ⎛<br />

2.1905<br />

⎞<br />

= ⎝ −0.66667 1 −0.33333 ⎠ ⎝ −0.28574 ⎠ = ⎝ −1.2381 ⎠<br />

x<br />

1 −1 1 0.85719 2.1429<br />

(2) =<br />

y (2)<br />

k y (2) k =<br />

1<br />

⎛ ⎞ ⎛ ⎞<br />

2.1905<br />

1<br />

⎝ −1.2381 ⎠ = ⎝ −0.56522 ⎠<br />

2.1905<br />

2.1429 0.97828<br />

...


186 Cap. 7 Valors i vectors propis.<br />

Seguint aquest algorisme obtenim els següents resultats que escrivim en<br />

forma de taula.<br />

k y (k) k y (k) k x (k)<br />

1 (1.1666, −0.33334, 1) T 1.1666 (1, −0.28574, 0.85719) T<br />

2 (2.1905, −1.2381, 2.1429) T 2.1905 (1, −0.56522, 0.97828) T<br />

3 (2.5507, −1.5580, 2.5435) T 2.5507 (1, −0.61081, 0.99718) T<br />

4 (2.6089, −1.6099, 2.6080) T 2.6089 (1, −0.61707, 0.99965) T<br />

5 (2.6168, −1.6169, 2.6168) T 2.6168 (1, −0.61790, 1) T<br />

6 (2.6179, −1.6179, 2.6179) T 2.6179 (1, −0.61802, 1) T<br />

7 (2.6180, −1.6180, 2.6180) T 2.6180 (1, −0.6180, 1) T<br />

8 (2.6180, −1.6180, 2.6180) T 2.6180 (1, −0.6180, 1) T<br />

↓ ↓<br />

|µ| =2.6180 −→ v =(1, −0.6180, 1) T<br />

Per tant, el mòdul del valor propi mínim és |λ| = 1<br />

|µ| =<br />

un vector propi associat és −→ ⎛ ⎞<br />

1<br />

v = ⎝ −0.6180 ⎠<br />

1<br />

1<br />

=0.38197 i<br />

2.6180<br />

Com que dos vectors consecutius tenen el mateix signe, el valor propi més<br />

petit és positiu i val λ =0.38197 ' 3−√ 5<br />

2 .<br />

7.1.5 Mètode de la potència desplaçada.<br />

Aquest mètode l’utilitzarem quan coneguem una aproximació d’un valor<br />

propi de la matriu. Es basa en el resultat<br />

λ és valor propi d’A<br />

p és un polinomi qualsevol<br />

¾<br />

⇒ p(λ) és valor propi de p(A)<br />

En particular, si δ és una aproximació del valor propi es compleix:<br />

λ ≈ δ és valor propi d’A ⇒ µ = λ − δ ≈ 0 és valor propi de A − δ Id<br />

Per trobar el valor de µ aplicarem el mètode de la potència inversa a la<br />

matriu A − δ Id.<br />

Exemple 7.8 La matriu<br />

⎛<br />

B = ⎝<br />

11 5 4<br />

5 6 2<br />

4 2 6<br />

⎞<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 187<br />

té un valor propi prop de 16. Trobeu-lo amb precisió 10−4 agafant com a<br />

vector inicial el vector x (0) ⎛ ⎞<br />

0<br />

= ⎝ 1 ⎠ .<br />

1<br />

Primer busquem la matriu a la que hem d’aplicar el mètode de la potència.<br />

⎛<br />

B − 16 Id = ⎝<br />

−5 5 4<br />

5 −10 2<br />

4 2 −10<br />

Com que volem el valor propi de mòdul mínim, calculem la matriu inversa.<br />

⎛<br />

A =(B − 16 Id) −1 = ⎝<br />

⎞<br />

⎠<br />

9.6 5.8 5<br />

5.8 3.4 3<br />

5 3 2.5<br />

Aplicant el mètode de la potència a la matriu A obtenim els següents resultats:<br />

k y (k) k y (k) k x (k)<br />

0 1 (0, 1, 1) T<br />

1 (10.8, 6.4, 5.5) T 10.8 (1, 0.59260, 0.50926) T<br />

2 (15.583, 9.3426, 8.0510) T 15.583 (0.99999, 0.59953, 0.51665) T<br />

3 (15.660, 9.3883, 8.0902) T 15.660 (1, 0.59951, 0.51662) T<br />

↓<br />

|ξ| =15.660<br />

↓<br />

−→ v =(1, 0.59951, 0.51662) T<br />

El valor propi de mòdul màxim de A és ξ =15.660, amb un error 0.00003 i,<br />

per tant, el valor propi de mòdul mínim de la matriu B − 16 Id és µ = 1<br />

ξ =<br />

0.063857.<br />

El valor propi de la matriu B que busquem és λ = µ +16=16.063857.<br />

7.2 Problemes resolts.<br />

Problema 7.1 Trobeu el valor propi de mòdul màxim, pel mètode de la<br />

potència, de la matriu<br />

⎛<br />

−4 14<br />

⎞<br />

0<br />

A = ⎝ −5 13 0 ⎠<br />

−1 0 2<br />

considerant com a vector inicial x (0) =(1, 1, 1) T iambunaprecisióde10 −3 .<br />

⎞<br />


188 Cap. 7 Valors i vectors propis.<br />

Per començar el mètode de la potència, considerem el vector inicial normalitzat<br />

en norma infinit:<br />

x (0) =(1, 1, 1) T<br />

El primer iterat serà:<br />

y (1) = Ax (0) =<br />

x (1) =<br />

El segon iterat és:<br />

y (2) = Ax (2) =<br />

x (2) =<br />

⎛<br />

⎝<br />

y (1)<br />

k y (1) 1<br />

=<br />

k 10<br />

⎛<br />

⎝<br />

y (2)<br />

k y (2) 1<br />

=<br />

k 7.2<br />

−4 14 0<br />

−5 13 0<br />

−1 0 2<br />

⎛<br />

⎝<br />

10<br />

8<br />

1<br />

−4 14 0<br />

−5 13 0<br />

−1 0 2<br />

⎛<br />

⎝<br />

7.2<br />

5.4<br />

0.1<br />

⎞<br />

⎞ ⎛<br />

⎠ ⎝<br />

⎛<br />

⎠ = ⎝<br />

Aplicant l’algorisme successivament obtenim:<br />

1<br />

1<br />

1<br />

1<br />

0.8<br />

0.1<br />

⎞<br />

⎛<br />

⎠ = ⎝<br />

⎞<br />

⎠<br />

10<br />

8<br />

1<br />

⎞<br />

⎠<br />

⎞ ⎛<br />

1<br />

⎞ ⎛<br />

7.2<br />

⎠ ⎝ 0.8 ⎠ = ⎝ 5.4<br />

⎞<br />

0.1<br />

⎛<br />

1<br />

−0.8<br />

⎞<br />

⎠ = ⎝ 0.75001<br />

−0.11111<br />

⎠<br />

k y (k) k y (k) k x (k)<br />

3 (6.5, 4.7501, −1.2222) T 6.5 (1, 0.73080, −0.18804) T<br />

4 (6.2310, 4.5004, −1.3761) T 6.2310 (1, 0.72227, −0.22085) T<br />

5 (6.1120, 4.3895, −1.4417) T 6.1120 (1, 0.71817, −0.23588) T<br />

6 (6.0541, 4.3363, −1.4717) T 6.0541 (1, 0.71627, −0.24310) T<br />

7 (6.0280, 4.3115, −1.4862) T 6.0280 (1, 0.71523, −0.24655) T<br />

8 (6.0131, 4.2981, −1.4931) T 6.0131 (1, 0.71477, −0.24830) T<br />

9 (6.0071, 4.2921, −1.4966) T 6.0071 (1, 0.71451, −0.24914) T<br />

10 (6.0030, 4.2886, −1.4983) T 6.0030 (1, 0.71439, −0.24959) T<br />

⎞<br />

⎠<br />

↓ ↓<br />

|λ| =6 −→ v =(1, 0.71439, −0.25) T<br />

El valor propi dominant de la matriu, amb un error 0.00045, ésλ =6, ja<br />

que es conserva el signe en dos iterats consecutius.<br />

Problema 7.2 Trobeu tots els valors propis de la matriu<br />

⎛<br />

1 −1 1<br />

⎞<br />

A = ⎝ −2 4 −2 ⎠<br />

2 −1 1<br />

aplicant el mètode de la potència, amb vector inicial x (0) =(2, 0, 1) T , per a<br />

trobar el de mòdul màxim i el de mòdul mínim.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 189<br />

A) Calculem el valor propi de mòdul màxim, per tant, apliquem el mètode<br />

de la potència a la matriu original.<br />

Per començar, considerem el vector inicial normalitzat en norma infinit:<br />

El primer iterat serà:<br />

y (1) = Ax (0) =<br />

x (1) =<br />

El segon iterat és:<br />

y (2) = Ax (2) =<br />

x (2) =<br />

x (0) = 1<br />

2 (2, 0, 1)T =(1, 0, 0.5) T<br />

⎛<br />

⎝<br />

y (1)<br />

k y (1) 1<br />

=<br />

k 3<br />

⎛<br />

⎝<br />

y (2)<br />

k y (2) k =<br />

1 −1 1<br />

−2 4 −2<br />

2 −1 1<br />

⎛<br />

⎝<br />

1.5<br />

−3<br />

2.5<br />

⎞<br />

1 −1 1<br />

−2 4 −2<br />

2 −1 1<br />

1<br />

6.6667<br />

⎛<br />

⎝<br />

⎠ = ⎝<br />

⎞ ⎛<br />

⎠ ⎝<br />

⎛<br />

⎞ ⎛<br />

⎠ ⎝<br />

2.3333<br />

−6.6667<br />

2.8333<br />

Aplicant l’algorisme successivament obtenim:<br />

1<br />

0<br />

0.5<br />

⎞<br />

0.5<br />

−0.99999<br />

0.83333<br />

0.5<br />

−0.99999<br />

0.83333<br />

⎞<br />

⎛<br />

⎠ = ⎝<br />

⎛<br />

⎠ = ⎝<br />

⎞<br />

0.35<br />

−1<br />

0.425<br />

⎞<br />

⎠<br />

⎛<br />

⎠ = ⎝<br />

⎞<br />

⎠<br />

1.5<br />

−3.0<br />

2.5<br />

⎞<br />

⎠<br />

2.3333<br />

−6.6667<br />

2.8333<br />

k y (k) k y (k) k x (k)<br />

3 (1.7750, −5.55, 2.125) T 5.55 (0.31982, −1, 0.38288) T<br />

4 (1.7027, −5.4054, 2.0225) T 5.4054 (0.315, −1, 0.37416) T<br />

5 (1.6892, −5.3783, 2.0042) T 5.3783 (0.31407, −1, 0.37264) T<br />

6 (1.6867, −5.3734, 2.0007) T 5.3734 (0.31389, −1, 0.37233) T<br />

7 (1.6862, −5.3725, 2.0001) T 5.3725 (0.31385, −1, 0.37228) T<br />

↓ ↓<br />

|λ| =5.3725 −→ v =(0.31385, −1, 0.37228) T<br />

El valor propi dominant de la matriu és λ1 =5.3725, ja que es conserva el<br />

signe en dos iterats consecutius.<br />

B) Busquem, ara, el valor propi de mòdul mínim. Per això, aplicarem el<br />

mètode de la potència a la matriu inversa de la matriu donada que és:<br />

⎛<br />

A −1 = ⎝<br />

1 −1 1<br />

−2 4 −2<br />

2 −1 1<br />

⎞<br />

⎠<br />

−1<br />

⎛<br />

= ⎝<br />

−1 0 1<br />

1 0.5 0<br />

3 0.5 −1<br />

⎞<br />

⎠<br />

⎞<br />


190 Cap. 7 Valors i vectors propis.<br />

Aplicant la fórmula recurrent del mètode obtenim:<br />

k y (k) k y (k) k x (k)<br />

0 (2, 0, 1) T 2 (1, 0, 0.5) T<br />

1 (−0.5, 1, 2.5) T 2.5 (−0.2, 0.4, 1) T<br />

2 (1.2, 0, −1.4) T 1.4 (0.85715, 0, −1) T<br />

3 (−1.8572, 0.85715, 3.5715) T 3.5715 (−0.52, 0.23999, 0.99998) T<br />

4 (1.52, −0.4, −2.44) T 2.44 (0.62296, −0.16394, −1) T<br />

5 (−1.6230, 0.54099, 2.7869) T 2.7869 (−0.58236, 0.19412, 1) T<br />

6 (1.5824, −0.48530, −2.65) T 2.65 (0.59713, −0.18313, −1) T<br />

7 (−1.5971, 0.50557, 2.6998) T 2.6998 (−0.59157, 0.18726, 1) T<br />

8 (1.5916, −0.49794, −2.6811) T 2.6811 (0.59363, −0.18572 − 1) T<br />

9 (−1.5936, 0.50077, 2.6880) T 2.6880 (−0.59285, 0.18630, 1) T<br />

10 (1.5928, −0.49970, −2.6855) T 2.6855 (0.59311, −0.18607, −1) T<br />

↓ ↓<br />

2.6855 (0.59311, −0.18607, −1) T<br />

El valor propi de mòdul mínim és λ3 = 1<br />

µ = −0.37229, és negatiu ja que dos<br />

vectors consecutius tenen signes oposats.<br />

C) Per a trobar el tercer valor propi usarem el fet que el producte de valors<br />

propis és el determinant de la matriu.<br />

det(A) =λ1 · λ2 · λ3<br />

Aproximats els valors de λ1 ideλ3, trobem λ2 aïllant-ho de la igualtat<br />

anterior. Per tant,<br />

λ2 = det(A)<br />

λ1 · λ3<br />

=<br />

−2<br />

=0.99995 ' 1<br />

5.3725 · (−0.37229)<br />

Problema 7.3 Trobeu el valor propi de mòdul màxim de la matriu<br />

⎛<br />

A = ⎝<br />

5 −4 4<br />

0 3 0<br />

−8 10 −7<br />

⎞<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 191<br />

Aplicarem el mètode de la potència i agafarem com a vector inicial el x (0) =<br />

(1, 1, 1) T . Els resultats obtinguts són els següents:<br />

k y (k) k y (k) k x (k)<br />

0 (1, 1, 1) T 1 (1, 1, 1) T<br />

1 (5, 3, −5) T 5 (1, 0.6, −1) T<br />

2 (−1.4, 1.8, 5) T 5 (−0.28, 0.36, 1) T<br />

3 (1.16, 1.08, −1.16) T 1.16 (1, 0.93104, −1) T<br />

4 (−2.7242, 2.7931, 8.3104) T 8.3104 (−0.32780, 0.33609, 1) T<br />

5 (1.0166, 1.0083, −1.0166) T 1.0166 (1, 0.99183, −1) T<br />

6 (−2.9673, 2.9755, 8.9183) T 8.9183 (−0.33272, 0.33364, 1) T<br />

7 (1.0018, 1.0009, −1.0018) T 1.0018 (1, 0.99910, −1) T<br />

8 (−2.9964, 2.9973, 8.9910) T 8.9910 (−0.33326, 0.33336, 1) T<br />

9 (1.0002, 1.0001, −1.0002) T 1.0002 (1, 0.99990, −1) T<br />

10 (−2.9996, 2.9997, 8.9990) T 8.9990 (−0.33332, 0.33333, 1) T<br />

Veiem que els iterats parells tendeixen a<br />

⎛ ⎞ ⎛<br />

−0.33332<br />

α =8.99898 ' 9<br />

−→<br />

u = ⎝ 0.33333 ⎠ ' ⎝<br />

1<br />

mentre que els iterats senars tendeixen a<br />

⎛<br />

β =1.000203 ' 1<br />

−→<br />

v = ⎝<br />

1<br />

0.99990<br />

−1<br />

⎞<br />

⎛<br />

⎠ ' ⎝<br />

−1/3<br />

1/3<br />

1<br />

Encara que la matriu no sigui simètrica, en aquest cas, tenim dos valors<br />

propis dominants però de signe contrari que són:<br />

de vectors propis respectius:<br />

−→<br />

v1 = −→ u + −→ ⎛<br />

v = ⎝<br />

λ1 = + p αβ =+ √ 9 · 1=+3<br />

λ2 = − p αβ = − √ 9 · 1=−3<br />

⎛<br />

−→<br />

v2 = −→ u − −→ v = ⎝<br />

−1<br />

1<br />

3<br />

−1<br />

1<br />

3<br />

⎞<br />

⎛<br />

⎠ + ⎝<br />

⎞<br />

⎛<br />

⎠ − ⎝<br />

1<br />

1<br />

−1<br />

1<br />

1<br />

−1<br />

⎞<br />

⎛<br />

⎠ = ⎝<br />

⎞<br />

⎠ = ⎝<br />

Problema 7.4 Trobeu el valor propi dominant de la matriu<br />

⎛<br />

−1 −0.5 1<br />

⎞<br />

A = ⎝ 6 3 −2 ⎠<br />

−3 −0.5 3<br />

⎛<br />

1<br />

1<br />

−1<br />

0<br />

2<br />

2<br />

−2<br />

0<br />

4<br />

⎞<br />

⎠<br />

⎞<br />

⎠<br />

⎞<br />

⎠<br />

⎞<br />


192 Cap. 7 Valors i vectors propis.<br />

aplicant el mètode de la potència amb vector inicial x (0) =(1, 1, 1) T .<br />

Els resultats obtinguts a l’aplicar l’algorisme<br />

són els de la taula següent:<br />

y (k+1) = Ax (k)<br />

x (k+1) = y(k+1)<br />

k y (k+1) k<br />

per a k ≥ 0<br />

k y (k) k y (k) k x (k)<br />

0 (1, 1, 1) T 1 (1, 1, 1) T<br />

1 (−0.5, 7, −0.5) T 7 (−0.071430, 1, −0.071430) T<br />

2 (−0.5, 2.7143, −0.5) T 2.7143 (−0.18421, 1, −0.18421) T<br />

3 (−0.5, 2.2631, −0.5) T 2.2631 (−0.22094, 1, −0.22094) T<br />

4 (−0.5, 2.1163, −0.5) T 2.1163 (−0.23626, 1, −0.23626) T<br />

5 (−0.5, 2.0549, −0.5) T 2.0549 (−0.24332, 1, −0.24332) T<br />

6 (−0.5, 2.0267, −0.5) T 2.0267 (−0.24671, 1, −0.24671) T<br />

7 (−0.5, 2.0131, −0.5) T 2.0131 (−0.24838, 1, −0.24838) T<br />

8 (−0.5, 2.0065, −0.5) T 2.0065 (−0.24919, 1, −0.24919) T<br />

9 (−0.5, 2.0033, −0.5) T 2.0033 (−0.24959, 1, −0.24959) T<br />

10 (−0.5, 2.0017, −0.5) T 2.0017 (−0.24979, 1, −0.24979) T<br />

11 (−0.5, 2.0009, −0.5) T 2.0009 (−0.24989, 1, −0.24989) T<br />

Com que el signe dels diferents iterats sempre és el mateix, el valor propi<br />

dominant és positiu i tendeix a λ =2,ambvectorpropiassociat −→ v =<br />

(−0.25, 1, −0.25) T .<br />

En aquest cas, l’ordre de la matriu és petit i podem calcular els valors propis<br />

a partir del polinomi característic.<br />

¯<br />

¯<br />

¯ −1 − x −0.5 1 ¯<br />

¯ 6 3−x−2 ¯<br />

¯ −3 −0.5 3−x¯ =4− 8x +5x2 − x 3<br />

Resolent l’equació característica<br />

−x 3 +5x 2 − 8x +4=0<br />

trobem com a solució x =1,x=2,x=2.<br />

Veiem, doncs, que el valor propi dominant té multiplicitat 2. Per aquest<br />

valor propi anem a calcular-ne el vector propi a partir del nucli de l’aplicació<br />

A − 2 Id. ⎛<br />

⎝<br />

−3 −0.5 1<br />

6 1 −2<br />

−3 −0.5 1<br />

⎞ ⎛<br />

⎠ ⎝<br />

x<br />

y<br />

z<br />

⎞<br />

⎛<br />

⎠ = ⎝<br />

0<br />

0<br />

0<br />

⎞<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 193<br />

que és equivalent a resoldre el sistema d’equacions:<br />

la solució del qual és<br />

És a dir, el vector solució serà<br />

−3x − 0.5y + z =0<br />

6x + y − 2z =0<br />

−3x − 0.5y + z =0<br />

⎫<br />

⎬<br />

⎭<br />

y =2z − 6x; x, z qualssevol<br />

(x, y, z) =(x, 2z − 6x, z) =x(1, −6, 0) + z(0, 2, 1)<br />

i els vectors propis de valor propi 2 són:<br />

−→ v1 =(1, −6, 0) T , −→ v2 =(0, 2, 1) T<br />

El vector que ens dóna el mètode de la potència és una combinació lineal<br />

d’aquests dos vectors propis, ja que<br />

−→ 1<br />

−1<br />

v = (−1, 4, −1) =<br />

4 4 (−→ v1 + −→ v2 )<br />

però el mètode no ens indica si el valor propi té o no multiplicitat.<br />

Problema 7.5 Afiteu els valors propis, a partir del teorema de Gersghorin,<br />

de la matriu<br />

⎛<br />

2 −2 3<br />

⎞<br />

A = ⎝ 1 1 1 ⎠<br />

1 3 −1<br />

Apliquem directament el teorema de Gersghorin calculant els cercles Ki per<br />

acadafila de la matriu<br />

K1 = {µ / | µ − 2 |≤ 5} = {µ / −3 ≤ µ ≤ 7}<br />

K2 = {µ / | µ − 1 |≤ 2} = {µ / −1 ≤ µ ≤ 3}<br />

K3 = {µ / | µ +1|≤ 4} = {µ / −5 ≤ µ ≤ 3}<br />

Fent la unió dels tres cercles, obtenim<br />

{µ / −5 ≤ µ ≤ 7}<br />

Per tant, tots els valors propis de la matriu estan compresos entre −5 i 7.<br />

Problema 7.6 Del problema anterior, calculeu el valor propi més proper a<br />

7 i el més allunyat de 7, aplicant el mètode de la potència desplaçada amb<br />

vector inicial x (0) =(1, 1, 0) T amb precisió 10 −4.


194 Cap. 7 Valors i vectors propis.<br />

El mètode de la potència desplaçada es basa en el fet:<br />

λ és valor propi d’A ⇒ µ = λ − 7 és valor propi de A − 7Id<br />

Per trobar el valor propi més proper a 7, haurem de buscar el valor µ més<br />

petit, és a dir, haurem d’aplicar el mètode de la potència inversa a la matriu<br />

⎛<br />

A − 7Id = ⎝<br />

−5 −2 3<br />

1 −6 1<br />

1 3 −8<br />

La matriu que hem d’utilitzar en l’algorisme és<br />

(A − 7Id) −1 = −1<br />

⎛<br />

⎝<br />

216<br />

i els resultats que obtenim són:<br />

⎞<br />

⎠<br />

45 −7 16<br />

9 37 8<br />

9 13 32<br />

k y (k) k y (k) k x (k)<br />

0 (1, 1, 0) T 1 (1, 1, 0) T<br />

1 (−0.17592, −0.21297, −0.10185) T 0.21297 (−0.82603, −1, −0.47824) T<br />

2 (0.17511, 0.22343, −0.16545) T 0.22343 (0.78374, 1, 0.74054) T<br />

3 (−0.18572, −0.23139, −0.20255) T 0.23139 (−0.80263, −1, −0.87536) T<br />

4 (0.19964, 0.23716, 0.22331) T 0.23716 (0.84180, 1, 0.94161) T<br />

5 (−0.21271, −0.24125, −0.23476) T 0.24125 (−0.88170, −1, −0.97310) T<br />

6 (0.22335, 0.24408, 0.24108) T 0.24408 (0.91506, 1, 0.98770) T<br />

7 (−0.23138, −0.24601, −0.24464) T 0.24601 (−0.94054, −1, −0.99444) T<br />

8 (0.23719, 0.24732, 0.24670) T 0.24732 (0.95903, 1, 0.99748) T<br />

9 (−0.24127, −0.24820, −0.24792) T 0.24820 (−0.97208, −1, −0.99887) T<br />

10 (0.24409, 0.24880, 0.24867) T 0.24880 (0.98107, 1, 0.99948) T<br />

11 (−0.24602, −0.24920, −0.24913) T 0.24920 (−0.98723, −1, −0.99971) T<br />

... ... ... ...<br />

23 (−0.24992, −0.24998, −0.24998) T 0.24998 (−0.99975, −1, −1) T<br />

24 (0.24994, 0.25, 0.24999) T 0.25 (0.99976, 1, 0.99996) T<br />

Observem que el valor propi dominant és negatiu, degut a l’alternança del<br />

signe en els iterats, i que tendeix a ξ = −0.25; com que apliquem potència<br />

inversa, el valor propi mínim de la matriu A − 7Id és µ = 1<br />

= −4.<br />

ξ<br />

El valor propi de la matriu A més proper a 7 és λ = µ +7=−4+7=3<br />

amb vector propi associat −→ v =(1, 1, 1) T .<br />

Per trobar el valor propi més allunyat de 7, haurem de buscar el valor de µ<br />

màxim i, per tant, aplicar el mètode de la potència a la matriu A − 7Id. Els<br />

⎞<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 195<br />

resultats obtinguts són a la taula següent:<br />

k y (k) k y (k) k x (k)<br />

0 (1, 1, 0) T 1 (1, 1, 0) T<br />

1 (−7, −5, 4) T 7 (−1, −0.71430, 0.57144) T<br />

2 (8.1429, 3.8572, −7.7144) T<br />

8.1429 (1, 0.47370, −0.94741) T<br />

3 (−8.7896, −2.7896, 10) T<br />

10 (−0.87896, −0.27896, 1) T<br />

4 (7.9527, 1.7948, 9.71578) T<br />

9.71578 (0.81852, 0.18472, −1) T<br />

5 (−7.46208, −1.28981, 9.3728) T<br />

9.3728 (−0.79616, −0.13761, 1) T<br />

6 (7.2559, 1.0295, −9.2088) T<br />

9.2088 (0.78792, 0.11179, −1) T<br />

7 (−7.1631, −0.88280, 9.1231) T<br />

9.1231 (−0.78515, −0.096764, 1) T<br />

8 (7.1192, 0.79541, −9.0752) T<br />

9.0752 0.78446, 0.087646, −1) T<br />

... ··· ... ...<br />

20 (7.0715, 0.64389, −9.0003) T<br />

9.0003 (0.78571, 0.07154, −1) T<br />

21 (−7.0717, −0.64355, 9.0003) T<br />

9.0003 (−0.78574, −0.071505, 1) T<br />

El valor propi dominant és µ ' −9, per tant, el valor propi de la matriu A<br />

més allunyat de 7 és λ = µ +7=−9+7=−2 amb un error 0.000038.<br />

Observem que els dos valors propis que hem trobat són dins de les fites<br />

obtingudes en el problema anterior.<br />

El tercer valor propi ha de ser entre −2 i 3. Si el calculem a partir del<br />

determinant trobem que és 1.<br />

Problema 7.7 Trobeu el valor propi de mòdul mínim de la matriu<br />

⎛<br />

B = ⎝<br />

9 10 8<br />

10 5 −1<br />

8 −1 3<br />

aplicant el mètode de la potència amb vector inicial x (0) =(1, 0, 0) T .<br />

Apliquem l’algorisme del mètode a la matriu<br />

B −1 ⎛<br />

−<br />

= ⎝<br />

7<br />

19<br />

327<br />

327<br />

25<br />

327<br />

19<br />

327<br />

37<br />

654<br />

89 −<br />

654<br />

25<br />

327<br />

89 −<br />

654<br />

55<br />

654<br />

⎞<br />

⎠<br />

⎞<br />

⎠ = 1<br />

⎛<br />

⎝<br />

654<br />

−14 38 50<br />

38 37 −89<br />

50 −89 55<br />

⎞<br />


196 Cap. 7 Valors i vectors propis.<br />

i els resultats són:<br />

k y (k) k y (k) k x (k)<br />

0 (1, 0, 0) T 1 (1, 0, 0) T<br />

1 (−0.021407, 0.058104, 0.076453) T 0.076453 (−0.28, −0.76, 1) T<br />

2 (0.12661, −0.10936, −0.040742) T 0.12661 (1, −0.86376, −0.32179) T<br />

3 (−0.096197, 0.053029, 0.16694) T 0.16694 (−0.57624, 0.31765, 1) T<br />

4 (0.10725, −0.15160, −0.003186) T<br />

0.15160 (0.70745, −1, −0.021016) T<br />

5 (−0.074855, −0.012609, 0.18841) T<br />

0.18841 (−0.39730, −.066924, 1) T<br />

6 (0.081069, −0.16296,.062831) T<br />

0.16296 (0.49748, −1, 0.38556) T<br />

7 (−0.039277, −0.080140, 0.20655) T<br />

0.20655 (−0.19016, −0.38799, 1) T<br />

8 (0.057979, −0.16909, 0.12236) T<br />

0.16909 (0.34289, −1, 0.72364) T<br />

9 (−0.010120, −0.13513, 0.22317) T<br />

0.22317 (−0.045347, −0.60550, 1) T<br />

10 (0.042242, −0.17298, 0.16303) T<br />

0.17298 (0.24420, −1, 0.94248) T<br />

... ... ...<br />

27 (0.024544, −0.17732, 0.20879) T<br />

0.20879 (0.11755, −0.84927, 1) T<br />

28 (0.024591, −0.17731, 0.20867) T<br />

0.20867 (0.11785, −0.84972, 1) T<br />

En aquest cas, si fem només 10 iterats veiem que el signe de dos vectors<br />

consecutius no és el mateix però tampoc és l’oposat. Per decidir el signe del<br />

valor propi ens calen més iterats i observem que el signe es conserva, per<br />

tant, el valor propi dominant és positiu i val µ =0.208687 amb un error<br />

0.00045.<br />

El valor propi de mòdul mínim de la matriu B és λ = 1<br />

µ =<br />

4.791865329.<br />

7.3 Problemes resolts amb MapleV.<br />

Càlculs directes amb MapleV.<br />

1<br />

0.208687 =<br />

Dins de la llibreria LINALG trobem diferents ordres que calculen directament<br />

els elements usats en la diagonalització d’una matriu.<br />

L’ordre charpoly ens dóna el polinomi característic de la matriu amb la<br />

variable que li assignem. La seva sintaxi és:<br />

charpoly (matriu, variable);<br />

Per calcular els valors propis d’una matriu tenim dues opcions:<br />

a) Directament amb l’ordre eigenvals de sintaxi<br />

eigenvals (matriu);


Ricard Dominguez, Imma Gilibets, M. Albina Puente 197<br />

b) Resolent l’equació característica amb l’ordre fsolve (vista en<br />

el capítol de Zeros de funcions).<br />

Els vectors propis d’una matriu ens els dóna directament l’ordre eigenvects,<br />

que s’escriu<br />

eigenvects (matriu);<br />

i presenta, en forma de llista, el valor propi, la seva multiplicitat i un vector<br />

propi associat o més -depenent de la multiplicitat-.<br />

Exemple 7.9 Calculeu el polinomi característic, els valors propis i uns vec-<br />

tors propis associats de la matriu<br />

⎛<br />

⎝<br />

3 5 7<br />

1 2 4<br />

2 6 8<br />

• Carreguem la llibreria d’Àlgebra Lineal (només ho farem al començament<br />

de la sessió).<br />

> with(linalg);<br />

• Introduïm la matriu (si volem que els valors siguin decimals entrarem<br />

cada element de la matriu amb un punt decimal. El MapleV, per<br />

defecte, opera amb valors exactes).<br />

> a:=matrix(3,3,[3.,5,7,1,2.,4,2,6,8.]);<br />

⎡<br />

a := ⎣<br />

• Calculem el polinomi característic<br />

> p:=charpoly (a,X);<br />

⎞<br />

⎠<br />

3. 5 7<br />

1 2. 4<br />

2 6 8.<br />

⎤<br />

⎦<br />

p := X 3 − 13X 2 +3X +10<br />

• Busquem els valors propis de les formes explicitades anteriorment:<br />

- calculant-ho directament,<br />

> eigenvals (a);<br />

1.05, 12.7, −.75<br />

- calculant les arrels del polinomi característic:<br />

> fsolve (p=0,X);<br />

1.05, 12.7, −0.75


198 Cap. 7 Valors i vectors propis.<br />

• Trobem els vectors propis associats amb l’ordre de Maple<br />

> eigenvects (a);<br />

[[1.05, 1, {[0.971, −0.0585, −0.229]}],<br />

[12.7, 1, {[0.802, 0.388, 0.836]}],<br />

[−0.75, 1, {[−0.072, 0.78, −0.519]}]]<br />

Acadafila hi ha el valor propi, la seva multiplicitat i un vector propi<br />

associat.<br />

També usarem l’ordre :<br />

percalcularlainversad’unamatriu.<br />

inverse (matriu);<br />

Programació del mètode de la potència.<br />

Veurem com podem calcular els successius iterats que tendeixen al valor<br />

propi de mòdul màxim a partir d’un bucle for i com, amb petites variants<br />

en la matriu d’entrada, trobarem les diferents opcions del mètode de la<br />

potència.<br />

(a) Introduïm la matriu i el vector inicial no nul.<br />

> a:=matrix(n,n,[llista d’elements]);<br />

x[0]:=vector(n,[llista d’elements]);<br />

(b) El bucle for corresponent al mètode de la potència és:<br />

> for i from 0 to N do<br />

y[i+1]:=evalm(a&*x[i]);<br />

l[i+1]:=norm(y[i+1], infinity);<br />

x[i+1]:=evalm(1/l[i+1]*y[i+1]);<br />

od;<br />

Si volem buscar el valor amb una determinada precisió afegirem una<br />

condició d’error en el bucle amb un while ielcàlculdel’error. En<br />

aquest cas, buscarem el vector error com a diferència de dos termes<br />

consecutius i en calcularem la seva norma infinit. Quan aquesta norma<br />

sigui menor de la precisió desitjada aturarem el procés.<br />

Això queda palès, en el programa, de la següent manera:<br />

> error:=infinity; p:=precisió; N:=nombre_iterats;


Ricard Dominguez, Imma Gilibets, M. Albina Puente 199<br />

l[0]:=norm(x[0]); x[-1]:=x[0];<br />

for i from 0 to N while (error>0.5*10^(-p)) do<br />

y[i+1]:=evalm(a&*x[i]);<br />

l[i+1]:=norm(y[i+1], infinity);<br />

x[i+1]:=evalm(1/l[i+1]*y[i+1]);<br />

er[i+1]:=vector(3);<br />

if (l[i+1]-l[i]


200 Cap. 7 Valors i vectors propis.<br />

de mòdul mínim de la matriu:<br />

⎛<br />

amb una precissió de 10 −3.<br />

⎝<br />

3 2 0<br />

2 2 1<br />

0 1 2<br />

• Introduïm la matriu i el vector inicial (si comencessim la sessió de<br />

MapleV hauríem de carregar la llibreria linalg) i programem el bucle<br />

for-while per trobar el valor propi de mòdul màxim amb el mètode<br />

de la potència.<br />

> a:=matrix(3,3,[3.,2.,0,2.,2.,1.,0,1.,2.]);<br />

x[0]:=vector(3,[1.,1.,1.]);<br />

l[0]:=norm(x[0]);<br />

error:=infinity;<br />

x[-1]:=x[0];<br />

⎞<br />

⎠<br />

⎡<br />

3. 2. 0<br />

a : = ⎣ 2. 2. 1.<br />

0 1. 2.<br />

x0 : = [1., 1., 1.]<br />

error : = ∞<br />

x−1 : = x0<br />

> for i from 0 to 15 while (error > 0.5*10^(-3)) do<br />

y[i+1]:=evalm(a&*x[i]);<br />

l[i+1]:=norm(y[i+1], infinity);<br />

x[i+1]:=evalm(1/l[i+1]*y[i+1]);<br />

er[i+1]:=vector(3);<br />

if (l[i+1]-l[i]


Ricard Dominguez, Imma Gilibets, M. Albina Puente 201<br />

fi;<br />

error:=norm(er[i+1],infinity);<br />

od;<br />

y1 : = [5., 5., 3.]<br />

l1 : = 5.<br />

x1 : = [1.000000000, 1.000000000,.6000000000]<br />

y2 : = [5.000000000, 4.600000000, 2.200000000]<br />

l2 : = 5.000000000<br />

x2 : = [1.000000000,.9200000000,.4400000000]<br />

y3 : = [4.840000000, 4.280000000, 1.800000000]<br />

l3 : = 4.840000000<br />

x3 : = [.9999999998,.8842975205,.3719008264]<br />

y4 : = [4.768595040, 4.140495867, 1.628099173]<br />

l4 : = 4.768595040<br />

x4 : = [1.000000000,.8682842290,.3414211439]<br />

y5 : = [4.736568458, 4.077989602, 1.551126517]<br />

l5 : = 4.736568458<br />

x5 : = [1.000000000,.8609586535,.3274789609]<br />

y6 : = [4.721917307, 4.049396268, 1.515916575]<br />

l6 : = 4.721917307<br />

x6 : = [1.000000000,.8575745836,.3210383572]<br />

y7 : = [4.715149167, 4.036187524, 1.499651298]<br />

l7 : = 4.715149167<br />

x7 : = [.9999999999,.8560042070,.3180495982]<br />

y8 : = [4.712008414, 4.030058012, 1.492103403]<br />

l8 : = 4.712008414<br />

x8 : = [1.000000000,.8552739422,.3166597493<br />

y9 : = [4.710547884, 4.027207633, 1.488593441]<br />

l9 : = 4.710547884<br />

x9 : = [1.000000000,.8549340188,.3160128031]<br />

y10 : = [4.709868038, 4.025880841, 1.486959625]<br />

l10 : = 4.709868038<br />

x10 : = [.9999999999,.8547757195,.3157115259]<br />

Per tant, veiem que el valor propi de mòdul màxim serà 4.709868038 i<br />

un vector propi associat (1, 0.8547787195, 0.3157115259) T , ambunerror<br />

0.0003012772.


202 Cap. 7 Valors i vectors propis.<br />

• Per trobar el valor propi de mòdul mínim aplicarem el mètode de la<br />

potènciaalamatriuinversa.<br />

> b:= inverse(a);<br />

x[0]:=vector(3,[1.,0,1.]);<br />

l[0]:=norm(x[0]);<br />

x[-1]:=x[0];<br />

⎡<br />

3.000000000 −4.000000000 2.000000000<br />

⎤<br />

b : = ⎣ −4.000000000 6.000000000 −3.00000000 ⎦<br />

2.000000000 −3.000000000 2.000000000<br />

x0 : = [1., 0, 1.]<br />

l0 : = 1<br />

x−1 : = x0<br />

> for i from 0 to 15 while (error > 0.5*10^(-3) do<br />

y[i+1]:=evalm(b&*x[i]);<br />

l[i+1]:=norm(y[i+1], infinity);<br />

x[i+1]:=evalm(1/l[i+1]*y[i+1]);<br />

er[i+1]:=vector(3);<br />

if ( l[i+1]- l[i]< 0.1) then<br />

for j from 1 to n do<br />

er[i+1][j]:=abs(abs(x[i+1][j]) - abs(x[i][j]));<br />

od;<br />

else<br />

for j from 1 to n do<br />

er[i+1][j]:=abs(abs(x[i+1][j]) - abs(x[i-1][j]));<br />

od;<br />

fi;<br />

error:=norm(er[i+1],infinity);<br />

od;<br />

y1 : = [5.000000000, −7.000000000, 4.000000000]<br />

l1 : = 7.000000000<br />

x1 : = [.7142857145, −1.000000000,.5714285716]<br />

error : = 1.000000000<br />

y2 : = [7.285714287, −10.57142857, 5.571428572]<br />

l2 : = 10.57142857


Ricard Dominguez, Imma Gilibets, M. Albina Puente 203<br />

x2 : = [.6891891894, −1.000000000,.5270270272]<br />

error : = 1.000000000<br />

y3 : = [7.121621622, −10.33783784, 5.432432433]<br />

l3 : = 10.33783784<br />

x3 : = [.6888888888, −1.000000000,.5254901960]<br />

error : = .0015368312<br />

y4 : = [7.117647058, −10.33202614, 5.428758170]<br />

l4 : = 10.33202614<br />

x4 : = [.6888917006, −1.000000000,.5254301621]<br />

error : = .0000600339<br />

1<br />

El valor propi de mòdul mínim serà,<br />

10.33202614 =0.09678643728<br />

i un vector propi associat (0.6888917006, −1, 0.5254301621) T amb un<br />

error 0.0000600339.<br />

• Comprovem amb les ordres directes del Maple que hem trobat unes<br />

bones aproximacions.<br />

> eigenvects(a);<br />

[4.709275360, 1, {[0.7392387395, 0.6317812812, 0.2331919784]}],<br />

[0.096788074, 1, {[0.5206573684, −0.7557893405, 0.3971125496]}],<br />

[2.193936564, 1, {[0.4271322871, −0.1721478589, −0.8876503387]}]<br />

Problema 7.9 Donada la matriu<br />

⎛<br />

3 2<br />

⎞<br />

1<br />

⎝ 2 0 1 ⎠<br />

0 1 2<br />

sabem que té un valor propi prop de 4. Trobeu quin és aquest valor propi,<br />

amb una precissió de 10 −4 , usant el mètode de la potència desplaçada.<br />

• Introduïm la matriu i la modifiquem per aplicar el mètode de la potència<br />

desplaçada, és a dir, busquem la matriu a−4Id iquanlatenim,<br />

en calculem la inversa ja que volem trobar el valor propi més proper a<br />

4i,pertant,elvalorpropidemòdulmínimdelamatriua−4Id. > a:=matrix(3,3,[3.,2.,1.,2.,0,1.,0,1.,2.]);<br />

a1:=evalm(a- 4*array(1..3,1..3,identity));<br />

b:=inverse(a1);<br />

⎡<br />

a : = ⎣<br />

3. 2. 1.<br />

2. 0 1.<br />

0 1. 2.<br />

⎤<br />


204 Cap. 7 Valors i vectors propis.<br />

⎡<br />

a1 : = ⎣<br />

⎡<br />

b : = ⎣<br />

−1. 2. 1.<br />

2. −4. 1.<br />

0 1. −2.<br />

⎤<br />

⎦<br />

2.333333333 1.666666667 2.000000000<br />

1.333333333 .6666666667 1.000000000<br />

.6666666667 .3333333333 0<br />

• Entrem el vector inicial i programem el bucle for-while per trobar<br />

el valor propi amb el mètode de la potència.<br />

> x[0]:=vector(3,[1.,1.,1.]);<br />

l[0]:=norm(x[0]);<br />

x[-1]:=x[0];<br />

error:=infinity;<br />

x0 : = [1., 1., 1.]<br />

l0 : = 1.<br />

x−1 : = x0<br />

error : = ∞<br />

> for i from 0 to 15 while (error > 0.5*10^(-4) do<br />

y[i+1]:=evalm(b&*x[i]);<br />

l[i+1]:=norm(y[i+1], infinity);<br />

x[i+1]:=evalm(1/l[i+1]*y[i+1]);<br />

er[i+1]:=vector(3);<br />

if ( l[i+1]- l[i] < 0.1) then<br />

for j from 1 to n do<br />

er[i+1][j]:=abs(abs(x[i+1][j]) - abs(x[i][j]));<br />

od;<br />

else<br />

for j from 1 to n do<br />

er[i+1][j]:=abs(abs(x[i+1][j]) - abs(x[i-1][j]));<br />

od;<br />

fi;<br />

error:=norm(er[i+1],infinity);<br />

od;<br />

y1 : = [6.000000000, 3.000000000, 1.000000000]<br />

⎤<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 205<br />

l1 : = 6.000000000<br />

x1 : = [1.000000000,.5000000001,.1666666667]<br />

error : = .8333333333<br />

y2 : = [3.500000000, 1.833333333,.8333333334]<br />

l2 : = 3.500000000<br />

x2 : = [1.000000000,.5238095237,.2380952381]<br />

error : = .0714285714<br />

y3 : = [3.682539682, 1.920634920,.8412698412]<br />

l3 : = 3.682539682<br />

x3 : = [1.000000000,.5215517241,.2284482759]<br />

error : = .0617816092<br />

y4 : = [3.659482759, 1.909482758,.8405172414]<br />

l4 : = 3.659482759<br />

x4 : = [.9999999999,.5217903413,.2296819788]<br />

error : = .0012337029<br />

y5 : = [3.662347860, 1.910875540,.8405967803]<br />

l5 : = 3.662347860<br />

x5 : = [1.000000000,.5217624358,.2295240137]<br />

error : = .0001579651<br />

y6 : = [3.661985420, 1.910698971,.8405874786]<br />

l6 : = 3.661985420<br />

x6 : = [.9999999999,.5217658597,.2295441904]<br />

error : = .0000201767<br />

El valor propi de mòdul mínim de la matriu a − 4Id el trobem:<br />

> mu:=1/l[6];<br />

µ := 0.2730759097<br />

i, per tant, el valor propi més proper a 4 és:<br />

> lambda:=4+mu;<br />

λ := 4.2730759097


206 Cap. 7 Valors i vectors propis.<br />

Problema 7.10 Calculeu els valors i vectors propis, directament amb les<br />

ordres Maple, de les matrius:<br />

⎛<br />

2 2<br />

⎞<br />

−2<br />

⎛<br />

0 −1<br />

⎞<br />

−1<br />

(a) ⎝ 1 3 −2 ⎠ (b) ⎝ −2 1 −1 ⎠<br />

⎛<br />

2 4 −3<br />

5 0 −1<br />

⎞<br />

0<br />

⎛<br />

−2<br />

2 1<br />

2<br />

−2<br />

2<br />

⎞<br />

0<br />

(c)<br />

⎜ 0<br />

⎝ −2<br />

3<br />

0<br />

0<br />

4<br />

0 ⎟<br />

0 ⎠ (d)<br />

⎜ 0<br />

⎝ 0<br />

0<br />

0<br />

1<br />

0<br />

0 ⎟<br />

1 ⎠<br />

1 0 1 6<br />

1 0 0 0<br />

(a) Per començar carreguem la llibreria d’Àlgebra Lineal i entrem la matriu.<br />

> with(linalg);<br />

> a:=matrix(3,3,[2.,2.,-2.,1,3,-2,2,4,-3]);<br />

⎡<br />

2. 2.<br />

⎤<br />

−2.<br />

a := ⎣ 1 3 −2 ⎦<br />

2 4 −3<br />

Calculem els valors i vectors propis usant l’ordre eigenvects:<br />

> eigenvects(a);<br />

[0, 1, {[1.414213563, 1.414213563, 2.828427125]}], [1.000000000, 2,<br />

{[.7071067812,.3535533906,.7071067812], [.087856586, 2.043928293, 2.087856586]}]<br />

En aquest cas, els valors propis són el 0, amb multiplicitat 1, i el 1, amb<br />

multiplicitat 2.<br />

El vector propi de valor propi 0 és [1.414213563, 1.414213563, 2.828427125] i<br />

els vectors propis de valor propi 2 són: [.7071067812,.3535533906,.7071067812],<br />

[.087856586, 2.043928293, 2.087856586]. Com que trobem tants vectors propis<br />

com multiplicitat té l’1, la matriu diagonalitza.<br />

(b) Amb les altres matrius fem exactament el mateix, entrem la matriu i<br />

apliquem l’ordre anterior.<br />

> b:=matrix([0,-1,-1],[-2.,1.,-1.],[-2,2,2]);<br />

⎡<br />

0 −1<br />

⎤<br />

−1<br />

b := ⎣ −2. 1. −1. ⎦<br />

−2 2 2<br />

> eigenvects(b);<br />

[2, 2, {[1, 1, −3]}], [−1, 1, {[1, 1, 0]}]


Ricard Dominguez, Imma Gilibets, M. Albina Puente 207<br />

És a dir, tenim dos valors propis: el 2 amb multiplicitat 2 i el −1 amb<br />

multiplicitat 1.<br />

El valor propi 2 només té un vector propi que és [1, 1, −3]; comquelaseva<br />

multiplicitat és 2, això vol dir que la matriu no diagonalitza i el que s’obté<br />

és una matriu de Jordan.<br />

El vector propi de valor propi −1 és [1, 1, 0].<br />

(c)<br />

> c:=matrix(4,4,[5.,0,-1.,0,0,3.,0,0,-2.,0,4.,0,1.,0,1.,6.]);<br />

⎡<br />

5. 0 −1.<br />

⎤<br />

0<br />

c :=<br />

⎢ 0<br />

⎣ −2.<br />

3.<br />

0<br />

0<br />

4.<br />

0 ⎥<br />

0 ⎦<br />

1. 0 1. 6.<br />

> eigenvects(c);<br />

[6, 2, {[.7071067812, 0, −.7071067812, 0], [0, 0, 0, 1]}],<br />

[3, 2, {[.4714045208, 0,.9428090416, −.4714045207], [0, 1, 0, 0]}]<br />

La matriu diagonalitza amb dos valors propis de multiplicitat 2 que són el<br />

6 iel3. Amb els vectors especificats en la resposta Maple.<br />

(d)<br />

> d:=matrix(4,4,[2,1,-2,0,0,0,1,0,0,0,0,1,1,0,0,0]);<br />

⎡<br />

2 1 −2<br />

⎤<br />

0<br />

⎢<br />

d := ⎢ 0<br />

⎣ 0<br />

0<br />

0<br />

1<br />

0<br />

0 ⎥<br />

1 ⎦<br />

1 0 0 0<br />

> eigenvects(d);<br />

[−1, 1, {[−1, 1, −1, 1]}], [1, 3, {[1, 1, 1, 1]}]<br />

La matriu no diagonalitzarà ja que el valor propi 1 té multiplicitat 3 i només<br />

té un vector propi.<br />

En aquest cas, calculem el polinomi característic i el factoritzem per veure<br />

la multiplicitat.<br />

> p:=charpoly(d,x);<br />

> factor(p);<br />

p := x 4 − 2x 3 − 1+2x<br />

(x +1)(x − 1) 3<br />

Per tant, observem que l’1 és una arrel amb multiplicitat 3, com veiem abans.


208 Cap. 7 Valors i vectors propis.<br />

7.4 Problemes proposats.<br />

1. Trobeu el valor propi dominant, aplicant el mètode de la potència, en els<br />

casos següents:<br />

⎛<br />

−4 14<br />

⎞<br />

0<br />

(a) ⎝ −5 13 0 ⎠ amb x<br />

−1 0 2<br />

(0) ⎛ ⎞<br />

1<br />

= ⎝ 1 ⎠<br />

⎛<br />

1 −1 0<br />

⎞<br />

1<br />

(b) ⎝ −2 4 −2 ⎠ amb x<br />

0 −1 1<br />

(0) ⎛ ⎞<br />

1<br />

= ⎝ 0 ⎠<br />

⎛<br />

0 0 4<br />

⎞<br />

−4<br />

0<br />

⎜<br />

(c) ⎜<br />

⎝<br />

0<br />

4<br />

3<br />

0<br />

0<br />

−2<br />

0<br />

0<br />

⎟<br />

⎠<br />

−4 0 0 2<br />

amb x(0) ⎛ ⎞<br />

1<br />

⎜<br />

= ⎜ 0 ⎟<br />

⎝ 0 ⎠<br />

0<br />

2. Donada la matriu<br />

⎛<br />

A = ⎝<br />

1 9 8<br />

9 2 7<br />

8 7 3<br />

(a) trobeu el valor propi dominant, aplicant el mètode de la potència, amb<br />

vector inicial x (0) =(1, 1, 1) T .<br />

(b) trobeu el valor propi de mòdul mínim, aplicant el mètode de la potència<br />

inversa, amb vector inicial x (0) =(1, 1, 1) T .<br />

(c) calculeu el valor propi restant a partir de la traça de la matriu.<br />

3. Calculeu tots els valors propis de la matriu<br />

⎛<br />

1 1 1<br />

⎞<br />

1<br />

⎜<br />

B = ⎜ 1<br />

⎝ 1<br />

2<br />

1<br />

1<br />

3<br />

1 ⎟<br />

1 ⎠<br />

1 1 1 4<br />

aplicant el mètode de la potència amb vector inicial x (0) =(1, 1, 1, 1) T .<br />

4. La matriu següent té un valor propi prop de -5.<br />

⎛<br />

−4.4 2<br />

⎞<br />

−0.4<br />

C = ⎝ 1.8 −1 0.8⎠<br />

1.6 0 −0.4<br />

Trobeu-lo aplicant el mètode de la potència desplaçada amb vector inicial<br />

x (0) =(1, 1, 1) T .<br />

⎞<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 209<br />

5. Trobeu tots els valors propis de:<br />

⎛<br />

1 −0.5 1<br />

⎞<br />

(a) ⎝ 6 3 −2 ⎠ amb vector inicial x<br />

−3 −0.5 3<br />

(0) ⎛ ⎞<br />

1<br />

= ⎝ 1 ⎠<br />

⎛<br />

3 0 0<br />

⎞<br />

0<br />

1<br />

⎜<br />

(b) ⎜ 0.4<br />

⎝ 0.4<br />

2.8<br />

−0.2<br />

−0.8<br />

2.2<br />

0 ⎟<br />

0 ⎠<br />

0.8 −0.4 −1.6 3<br />

amb vector inicial x(0) ⎛ ⎞<br />

1<br />

⎜<br />

= ⎜ 1 ⎟<br />

⎝ 1 ⎠<br />

1<br />

6. Comproveu, sense calcular-los, que el mòdul dels valors propis de la<br />

matriu ⎛<br />

6 2<br />

⎞<br />

1<br />

⎝ 1 −5 0 ⎠<br />

2 1 4<br />

està comprès entre 1 i 9. Trobeu el valor propi més proper a 1 agafant com<br />

a vector inicial<br />

x (0) =(2, 1, 5) T .<br />

7. Calculeu el polinomi característic, els valors propis i els vectors propis de<br />

les matrius següents, usant les ordres directes de Maple:<br />

⎛<br />

2 0<br />

⎞<br />

0<br />

⎛<br />

−1 −1<br />

⎞<br />

1<br />

(a) ⎝ −2 3 0 ⎠ (b) ⎝ 0 2 0 ⎠<br />

−2 −2 4<br />

2 0 0<br />

8. Donada la matriu ⎛<br />

−1 −1<br />

⎞<br />

1<br />

A = ⎝ 0 2 0 ⎠<br />

2 0 0<br />

trobeu el valor propi de mòdul màxim programant pel mètode de la potència<br />

amb vector inicial x0 =(1, 1, 0) T .<br />

Comproveu que es correspon amb la solució obtinguda en l’apartat b) de<br />

l’exercici anterior.<br />

9. Calculeu el valor propi de mòdul màxim amb una precisió de 10−3 ,<br />

programant el mètode de la potència per la matriu<br />

⎛<br />

1 3 −1<br />

⎞<br />

0<br />

⎜<br />

B = ⎜ 0<br />

⎝ 0<br />

4<br />

1<br />

−1<br />

2<br />

0 ⎟<br />

0 ⎠<br />

0 0 0 3<br />

amb vector inicial x0 =(0, 1, 1, 0) T .Compareu la vostra resposta amb la<br />

solució obtinguda al calcular directament els vectors propis.


210 Cap. 7 Valors i vectors propis.


Apèndix A<br />

Introducció al MapleV.<br />

A.1 Qüestions generals.<br />

A l’entrar a l’aplicació Maple ens trobem amb un full de treball en el qual<br />

apareix l’indicador de Maple, >, ielcursor,|.<br />

Aquest indicador ens permet executar instruccions matemàtiques. Si no<br />

apareix ens trobem en mode text, és a dir, podem introduir tot tipus de<br />

comentaris. Per passar de l’un a l’altre hem de prémer el botó T ó >.<br />

Nosaltres ens limitarem a comentar les ordres de tipus matemàtic necessàries<br />

per a resoldre els problemes de Mètodes Numèrics presentats en els capítols<br />

corresponents.<br />

Tota línia d’ordres s’ha d’acabar amb ; obéamb: per executar-la.<br />

> 3+2-7;<br />

> 3+2-7:<br />

−2<br />

Veiem que quan s’acaba amb ; ens retorna el resultat de l’operació, mentre<br />

queenl’altrecasnotornacapresultat.<br />

Per assignar un valor a una variable escriurem := . No l’hem de confondre<br />

amb = , que l’usem per a representar una equació o una igualtat entre<br />

expressions.<br />

> a:=4;<br />

> b:=3-5+2 ^4:<br />

a := 4<br />

211


212 Cap. A Introducció al MapleV.<br />

Per a fer referència al resultat anterior podem fer:<br />

> ”;<br />

obé:<br />

> b;<br />

14<br />

14<br />

Cal tenir en compte que Maple distingeix entre majúscules i minúscules, per<br />

tant, les variables a i A són diferents.<br />

SHIFT-RETURN permet escriure seqüències d’ordres de més d’una línia.<br />

> A:=24;<br />

a;<br />

A := 24<br />

4<br />

variable:=’variable’ neteja la variable<br />

> a:=’a’;<br />

a := a<br />

L’ordre restart reinicialitza el sistema i neteja totes les variables.<br />

A.2 Càlculs aritmètics<br />

A.2.1 Operacions bàsiques.<br />

Els operadors aritmètics disponibles són:<br />

suma +<br />

resta −<br />

producte ∗<br />

divisió /<br />

potenciació ∧ ó **<br />

L’ordre de prioritat d’aquests operadors és l’habitual, encara que pot modificarseusantparèntesis,perònoclaus,{},niclaudàtors,[].<br />

> 32/8+4*2-1+2^3;<br />

19<br />

Per calcular una arrel quadrada podem fer-ho a partir de la funció sqrt o<br />

bé com una potència d’exponent 1/2 .


Ricard Dominguez, Imma Gilibets, M. Albina Puente 213<br />

> sqrt(3);<br />

3^(1/2);<br />

√ 3<br />

√3<br />

A.2.2 Càlculs exactes i aproximats.<br />

Les operacions es realitzen de forma exacta i simplificada, per exemple, si<br />

calculem<br />

> 1/6+1/4+1/12;<br />

1<br />

2<br />

El nombre π està predefinit i s’escriu Pi.<br />

> Pi;<br />

π<br />

El nombre e, però, no està predefinit. Per a obtenir-lo cal fer:<br />

> exp(1);<br />

e<br />

Per a obtenir el resultat en forma decimal (float), podem escriure algun dels<br />

nombres seguit d’un punt o bé escriure’l en forma decimal.<br />

> 0.5+1/4;<br />

1/2.+1/4;<br />

3^(0.5);<br />

.7500000000<br />

.7500000000<br />

1.732050808<br />

obéferservirl’ordreevalf, la sintaxi de la qual és<br />

> evalf(sqrt(3),20) ;<br />

evalf(expressió, nombre de dígits) ;<br />

1.7320508075688772935<br />

Per defecte, Maple treballa amb 10 dígits. Si ens interessa treballar amb un<br />

altre nombre de dígits podem canviar-lo amb la variable pròpia del programa<br />

anomenada Digits.


214 Cap. A Introducció al MapleV.<br />

> Digits:=5;<br />

> evalf(sqrt(3));<br />

> evalf(sqrt(3)/33);<br />

Digits := 5<br />

1.7321<br />

.052488<br />

Observem que la variable Digits no compta el nombre de zeros a l’esquerra<br />

tot i que són xifres significatives.<br />

Cal escriure Digits amb majúscula. Si escrivim digits ho interpreta com<br />

una variable qualsevol i l’ordre no tindrà efecte.<br />

A.3 Expressions<br />

Fins ara a les variables només els hem assignat nombres, però també es<br />

poden assignar expressions:<br />

> p:=x ^3-2*x ^2-5*x+6;<br />

p := x 3 − 2x 2 − 5x +6<br />

Podem substituir la variable de l’expressió per un valor qualsevol fent servir<br />

la instrucció subs, la sintaxi de la qual és:<br />

> subs(x=-1,p);<br />

subs(x=’valor’,expressió);<br />

8<br />

Per factoritzar una expressió polinòmica usem la comanda factor de la<br />

següent manera:<br />

> factor(p);<br />

factor(expressió);<br />

(x − 1)(x +2)(x − 3)<br />

El procés contrari el podem realitzar a partir de l’ordre expand<br />

expand(expressió);


Ricard Dominguez, Imma Gilibets, M. Albina Puente 215<br />

> expand( ” ); x 3 − 2x 2 − 5x +6<br />

Observem que en aquest exemple usem ” per fer referència al resultat anterior.<br />

> expand((a+b)^4);<br />

a 4 +4a 3 b +6a 2 b 2 +4ab 3 + b 4<br />

Podem simplificar una expressió algebraica amb la instrucció<br />

> p1:=(x-1) ^2—(x+1) ^2;<br />

> simplify(p1);<br />

simplify(expressió);<br />

p1 :=(x − 1) 2 − (x +1) 2<br />

−4x<br />

> q1:=3*x ^2/(x ^2-1)-2*x ^4/(x ^2-1) ^2;<br />

> simplify(q1);<br />

A.4 Funcions.<br />

q1 :=3 x2<br />

x 2 − 1<br />

Funcions predefinides en Maple.<br />

− 2<br />

x 2 (x 2 − 3)<br />

(x 2 − 1) 2<br />

x 4<br />

(x 2 − 1) 2<br />

Per accedir a totes les funcions que Maple té predefinides fem:<br />

> ?inifcns;<br />

i apareix una finestra de l’ajuda amb una llista de les funcions disponibles i<br />

una breu descripció de cadascuna.


216 Cap. A Introducció al MapleV.<br />

Algunes de les funcions més habituals són les següents:<br />

Definició de funcions.<br />

Sintaxi Funció<br />

abs(x) Valor absolut de x: |x|<br />

exp(x) Funció exponencial: e x<br />

ln(x) ó log(x) Funció logaritme neperià<br />

log[a] (x) Funció logaritme en base a<br />

sin(x) Funció sinus (x en radians)<br />

cos(x) Funció cosinus (x en radians)<br />

tan(x) Funció tangent (x en radians)<br />

arcsin(x) Funció inversa del sinus<br />

arccos(x) Funció inversa del cosinus<br />

arctan(x) Funció inversa de la tangent.<br />

La definició d’una funció es fa de manera semblant a l’assignació de valors<br />

a una variable. La sintaxi és:<br />

nom_funció := variable(s) − > lleioexpressiódelafunció;<br />

Per exemple, per definir la funció f(x) =x sin(x) escriurem:<br />

> f:=x− >x*sin(x);<br />

f := x → x sin(x)<br />

Anàlogament, es poden definir funcions de vàries variables:<br />

> h:=(x,y)− >x^2+y^2;<br />

En canvi, si escrivim<br />

h := (x, y) → x 2 + y 2<br />

> g:=x*sin(x);<br />

g := x sin(x)<br />

el resultat és una expressió, no una funció.<br />

Càlcul d’imatges.<br />

El càlcul d’imatges a partir d’una funció es fa directament.<br />

> f(Pi/2);<br />

π<br />

2


Ricard Dominguez, Imma Gilibets, M. Albina Puente 217<br />

Si volem el resultat en forma decimal tenim dues opcions:<br />

-definir la funció amb l’ordre evalf:<br />

> f:=x− >evalf(x*sin(x));<br />

> f(Pi/2);<br />

-obé:<br />

> evalf(f (Pi/2));<br />

En canvi, si fem<br />

f : = x− >evalf(xsin(x)) 1.5707963267948966192<br />

1.5707963267948966192<br />

> g(Pi/2);<br />

x( 1<br />

2 π)sin(x)(1<br />

2 π)<br />

no ens avalua g en aquest punt, ja que recordem g és una expressió i, per<br />

tant, hauríem de fer:<br />

> subs(x=Pi/2,g);<br />

π<br />

2 sin(π<br />

2 )<br />

Si volem el resultat final de forma exacta fem:<br />

> simplify(”);<br />

π<br />

2<br />

Una altra possibilitat seria transformar l’expressió g en una funció a partir<br />

de la comanda<br />

> g1:=unapply(g,x);<br />

> g1(Pi/2);<br />

Representacions gràfiques.<br />

unapply (expressió, variable);<br />

g1 :=x → xsin(x)<br />

π<br />

2<br />

Per representar gràficament una o vàries funcions en l’interval [a,b] fem servir<br />

l’ordre:


218 Cap. A Introducció al MapleV.<br />

plot ( {funció 1, funció 2,..., funció n}, x=a..b);<br />

Representem la funció f(x) =x sin x en l’interval [0, π].<br />

> plot(f(x),x=0..Pi);<br />

Representem les funcions f(x) i e x en l’interval [-2,2].<br />

> plot({exp(x), f(x)}, x=-2..2);<br />

Aquesta mateixa ordre es pot aplicar per representar expressions.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 219<br />

> plot(g,x=0..Pi);<br />

Càlcul de derivades.<br />

La derivada d’una funció s’obté a partir de l’operador D. Per exemple, calculemladerivadadelafuncióf(x)<br />

=x sin(x) definida anteriorment:<br />

> f1:=D(f);<br />

f1 :=x → sin(x)+x cos(x)<br />

Observem que el resultat d’aplicar aquest operador és sempre una funció.<br />

La derivada d’una funció o d’una expressió es pot obtenir, també, fent servir<br />

l’ordre diff però, en aquest cas, el resultat sempre és una expressió. La<br />

sintaxi d’aquesta ordre és:<br />

> f2:=diff(f(x),x);<br />

> a:=x ^2+x*exp(x);<br />

> a1:= diff (a,x);<br />

diff (funció o expressió, variable);<br />

f2 :=sin(x)+x cos(x)<br />

a := x 2 + xe x<br />

a1 :=2x + e x + xe x<br />

Les derivades d’ordre superior, en ambdós casos, es troben fent:


220 Cap. A Introducció al MapleV.<br />

> g4:=diff(g,x$4);<br />

> f4:=(D@@4)(f);<br />

diff ( funció o expressió, variable $ ordre derivada);<br />

(D@@ordre derivada)(funció);<br />

g4 :=−4cos(x)+xsin(x)<br />

f4 :=x →−4cos(x)+xsin(x)<br />

Si la funció és de vàries variables llavors:<br />

D[i](funció);<br />

calcula la derivada parcial de f respecte de la variable i-èsima.<br />

D[i,j](funció);<br />

dóna la derivada parcial de segon ordre respecte a les variables i i j.<br />

> h:=(x,y)− >x ^2-x*y;<br />

> hx:=D[1](h);<br />

> h2x:=D[1,1](h);<br />

h := (x, y) → x 2 + xy<br />

hx := (x, y) → 2x + y<br />

h2x := (x, y) → 2<br />

Càlcul de primitives i integral definida<br />

El càlcul de primitives i integrals definides d’una funció es fa a partir de la<br />

instrucció int, els paràmetres de la qual variaran, segons es tracti d’un cas<br />

odel’altre.Lasintaxiés:<br />

int (funció o expressió,x);<br />

int (funció o expressió,x=a..b);


Ricard Dominguez, Imma Gilibets, M. Albina Puente 221<br />

per a integrals indefinides i integrals definides en l’interval [a,b], respectivament.<br />

> f:=1/x;<br />

> a:=int(f,x);<br />

> g:=x->1/x;<br />

> b:=int(g(x),x);<br />

f := 1<br />

x<br />

a := ln(x)<br />

g := x → 1<br />

x<br />

b := ln(x)<br />

Observem que en els dos casos el resultat és una expressió.<br />

> int(f,x=1..exp(1));<br />

> int(g(x),x=1..exp(1));<br />

> int(x*sin(x),x=0..1);<br />

> evalf(”);<br />

1<br />

1<br />

sin(1) − cos(1)<br />

.3011686789<br />

Si ens interessa en algun moment que aparegui el símbol d’integració, però<br />

no el resultat de la integral, podem escriure<br />

> Int(h(x),x=1..exp(1));<br />

Int( funció, x=a..b);<br />

Z e<br />

1<br />

h(x) dx<br />

A.5 Estructures de dades<br />

En aquesta secció veurem diferents estructures de dades tals com: llistes,<br />

seqüències i matrius.


222 Cap. A Introducció al MapleV.<br />

Llistes<br />

Estan formades per una col.lecció d’elements, separats per comes i entre<br />

claudàtors, cadascun dels quals ocupa la posició en la que s’ha entrat. Podem<br />

fer referència a cadascun d’ells segons la posició que ocupin.<br />

> llista1:=[1,a,4,5,b,c];<br />

> llista1[3];<br />

> llista1[2..4];<br />

Seqüències<br />

llista1:=[1,a,4,5,b,c]<br />

4<br />

[a,4,5]<br />

Són un cas particular de llistes, on tots els elements segueixen la mateixa<br />

fórmula recurrent. Per a generar-les fem servir l’ordre seq.<br />

Per exemple, si volem definir els elements 2 n per a valors enters d’n entre -2<br />

i4,escriurem:<br />

> a:=[seq(2^n,n=-2..4)];<br />

Arrays i matrius<br />

a := [ 1 1<br />

, , 1, 2, 4, 8, 16]<br />

4 2<br />

Les arrays són taules de dades on els índexs poden prendre qualsevol valor<br />

enter.<br />

> A:=array(-2..-1,-3..-1,[[1,b,3],[4,5,6]]);<br />

A := array(−2.. − 1, −3.. − 1, [<br />

(−2, −3) = 1<br />

(−2, −2) = b<br />

(−2, −1) = 3<br />

(−1, −3) = 4<br />

(−1, −2) = 5<br />

(−1, −1) = 6<br />

])<br />

Fem referència a un element a partir dels índexs corresponents a la seva<br />

posició.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 223<br />

> A[-1,-3];<br />

4<br />

Si els índexs prenen valors naturals a partir de l’1, Maple interpreta l’array<br />

com una matriu. La sintaxi és:<br />

> B:=array(1..2,1..3,[[1,3,3],[2,4,6]]);<br />

> B:=array([[1,3,3],[2,4,6]]);<br />

array(1..m,1..n,[[fila 1],...,[fila m]]);<br />

array([[fila 1],...,[fila m]]);<br />

B :=<br />

B :=<br />

∙ 1 3 3<br />

2 4 6<br />

∙ 1 3 3<br />

2 4 6<br />

La matriu identitat està predefinida, per obtenir-la fem:<br />

> id3:=array(identity,1..3,1..3);<br />

L’ordre<br />

id3 :=array(identity, 1..3, 1..3, [])<br />

print(matriu);<br />

permet visualitzar una matriu en qualsevol moment.<br />

> print(id3);<br />

⎡<br />

id3 := ⎣<br />

1 0 0<br />

0 1 0<br />

0 0 1<br />

Una matriu també pot definir-se de les següents formes:<br />

matrix(1..m,1..n,[[fila 1],...,[fila m]]);<br />

¸<br />

¸<br />

⎤<br />

⎦<br />

matrix(m,n,[fila 1,...,fila m]);<br />

matrix([[fila 1],...,[fila m]]);


224 Cap. A Introducció al MapleV.<br />

> B:=matrix(2,3,[1,3,3,2,4,6]);<br />

B :=<br />

∙ 1 3 3<br />

2 4 6<br />

Els vectors es representen com a arrays unidimensionals i es consideren matrius<br />

columna. També es poden definir mitjançant l’ordre vector.<br />

> b1:=matrix([1,3,5,7]);<br />

> b2:=vector([1,3,5,7]);<br />

Operacions amb matrius<br />

b1 :=[1, 3, 5, 7]<br />

b2 :=[1, 3, 5, 7]<br />

Per operar amb matrius necessitem la instrucció<br />

Les principals operacions són:<br />

> A:=matrix([[6,5,4],[3,2,1]]);<br />

> C:=evalm(2*A-B);<br />

evalm (operació amb matrius);<br />

suma +<br />

resta −<br />

producte per un escalar ∗<br />

producte &∗<br />

potenciació ∧ ó ∗∗<br />

A :=<br />

C :=<br />

∙ 6 5 4<br />

3 2 1<br />

¸<br />

¸<br />

∙ 11 7 5<br />

4 0 −4<br />

> F:=matrix([[6,5,0],[3,2,1],[0,4,0]]);<br />

⎡<br />

6 5<br />

⎤<br />

0<br />

F := ⎣ 3 2 1 ⎦<br />

0 4 0<br />

> E:=evalm(A&*F);<br />

E :=<br />

∙ 51 56 5<br />

24 23 2<br />

¸<br />

¸


Ricard Dominguez, Imma Gilibets, M. Albina Puente 225<br />

Podem multiplicar una matriu per un vector i el resultat es considera com<br />

a vector.<br />

> b:=vector([1,2,3,4]);<br />

> P:=matrix([[1,0,0,1],[2,2,2,2]]);<br />

> evalm(P&*b);<br />

P :=<br />

> inversa_F:=evalm(F^(-1));<br />

b := [1, 2, 3, 4]<br />

µ 1 0 0 1<br />

2 2 2 2<br />

[5, 20]<br />

⎡<br />

inversa F := ⎣<br />

Funcions sobre estructures de dades<br />

<br />

1<br />

6 0 − 5<br />

24<br />

1 0 0 4<br />

− 1 1<br />

2 1 8<br />

Per aplicar una funció a tots els elements d’una de les anteriors estructures<br />

de dades disposem de la instrucció<br />

> f:=x− >x^2+2;<br />

fB:=map(f,B);<br />

> llista:=[1,0,1];<br />

llista2:=map(f, llista);<br />

map(funció,estructura);<br />

f : = x → x 2 +2<br />

∙ ¸<br />

3 11 11<br />

fB : =<br />

6 18 38<br />

llista : = [1, 0, 1]<br />

llista2 : = [3, 2, 3]<br />

⎤<br />


226 Cap. A Introducció al MapleV.<br />

A.6 Equacions, inequacions i sistemes d’equacions<br />

Resolució d’una equació algebraica.<br />

Per resoldre una equació podem emprar l’ordre<br />

> solve (x^2-3*x+2=0, x);<br />

> solve (sin(x)=x, x);<br />

> solve (cos(x)=x, x);<br />

> solve (x^5+x+1, x);<br />

solve (equació, variable);<br />

1, 2<br />

0<br />

RootOf(Z − cos Z)<br />

− 1 1<br />

+<br />

2 2 I√3, − 1 1<br />

−<br />

2 2 I√3, − 1 2 1<br />

%2− %1+<br />

6 3 3 ,<br />

1 1 1 1<br />

%2+ %1+ +<br />

12 3 3 2 I√ µ<br />

3 − 1 2<br />

%2+<br />

6 3 %1<br />

<br />

,<br />

1 1 1 1<br />

%2+ %1+ −<br />

12 3 3 2 I√ µ<br />

3 − 1 2<br />

%2+<br />

6 3 %1<br />

<br />

%1 : =<br />

1<br />

¡ √ ¢ 1/3<br />

100 + 12 69<br />

%2 : =<br />

³<br />

100 + 12 √ ´ 1/3<br />

69<br />

Observem que aquesta ordre només dóna solucions que es poden expressar<br />

de manera exacta. Si les solucions tenen expressions complicades que es van<br />

repetint, Maple les etiqueta automàticament amb símbols de la forma % n.<br />

En aquests casos pot ser útil obtenir una aproximació decimal mitjançant<br />

l’ordre fsolve.<br />

> fsolve (cos(x)-x=0, x);<br />

.7390851332<br />

Si l’equació és polinòmica obtenim totes les solucions reals:<br />

> fsolve (x^5+x+1=0, x);<br />

−.7548776662<br />

Si volem obtenir totes les solucions fem servir l’opció complex.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 227<br />

> fsolve (x^5+x+1=0, x, complex );<br />

−.7548776662, −.5000000000 − .8660254038 I,−.5000000000 + .8660254038 I,<br />

.8774388331 − .7448617666 I,.8774388331 + .7448617666 I<br />

Si l’equació és de la forma f(x) =0la sintaxi en ambdós casos pot ser<br />

Resolució d’inequacions.<br />

solve (f(x));<br />

fsolve (f(x));<br />

La funció solve també resol algunes inequacions:<br />

> solve (x^2-x>1,x);<br />

RealRange(−∞,Open( 1<br />

2<br />

> solve (x^2-x solve ({x+y-z=2, 2*x+y-z=1, x-2*y+z=1});<br />

{y = −5, z= −8, x= −1}<br />

> equacions:= {x+y-z=2, 2*x+y-z=1, 3*x+2*y-2*z=3};<br />

solucions:= solve(equacions);<br />

solucions := {x = −1, y=3+z, z = z}<br />

> solve ({x+y-z=2, 2*x+y-z=1, x-y+z=0});<br />

Si un sistema d’equacions no té solució Maple no torna cap resposta.<br />

> fsolve(sin(x)-cos(y)=1/x, x+sin(y)=2);<br />

{x =1.010259285, y=1.714162119}


228 Cap. A Introducció al MapleV.<br />

Resolució d’equacions diferencials.<br />

Maple resol certes equacions diferencials ordinàries mitjançant la instrucció<br />

> dsolve (diff(y(x),x) +y=x, y(x));<br />

dsolve (edo, variable);<br />

dsolve ({edo, c.i}, variable);<br />

y(x) =x − 1+e (−x) C1<br />

> dsolve ({diff(y(x),x) +y=x, y(0)=1}, y(x));<br />

y(x) = ex x − e x +2<br />

e x<br />

> dsolve (diff(y(x),x$2) -3*diff(y(x),x)+2*y=x, y(x));<br />

y(x) = 3 1<br />

+<br />

4 2 x + C1 ex + C2 e (2x)<br />

A.7 Llibreries de Maple.<br />

Maple disposa d’un conjunt de llibreries que contenen una col.lecció de funcions<br />

predefinides. En aquesta secció en veurem dues: la llibreria student<br />

queamplialapartdeCàlculilallibrerialinalg quepermetferdiferents<br />

càlculs d’Àlgebra Lineal.<br />

Per accedir a qualsevol d’aquests paquets fem:<br />

with (nom_llibreria);<br />

i Maple ens mostra la relació completa de les funcions disponibles.<br />

Llibreria STUDENT.<br />

> with (student);<br />

[D, Diff, Doubleint, Int, Limit, Lineint, Product, Sum, Tripleint, changevar,<br />

combine, completesquare, distance, equate, extrema, integrand, intercept,<br />

intparts, isolate, leftbox, leftsum, makeproc, maximize, middlebox,


Ricard Dominguez, Imma Gilibets, M. Albina Puente 229<br />

middlesum, midpoint, minimize, powsubs, rightbox, rightsum, showtangent,<br />

simpson, slope, trapezoid, value]<br />

Ens limitarem a comentar les funcions simpson i trapezoid que corresponen,<br />

respectivament, als mètodes de Simpson i del Trapezi vistos en el capítol<br />

d’Integració Numèrica.<br />

La seva sintaxi és:<br />

simpson (funció, x=a..b, n); amb n parell<br />

trapezoid (funció, x=a..b, n);<br />

on n és el nombre d’intervals en què es divideix l’interval d’integració [a,b].<br />

Observem que per a n =2, en el primer cas, tenim Simpson simple i per a<br />

n =1en el segon es té el mètode del trapezi simple.<br />

> trapezoid (x*exp(x), x=0..1,1);<br />

Ã<br />

0X<br />

e i !<br />

i<br />

> evalf(”);<br />

i=1<br />

+ 1<br />

2 e<br />

1.359140914<br />

> evalf(trapezoid (x*exp(x),x=0..1,5));<br />

1.014771074<br />

> evalf(simpson(x*exp(x),x=0..1,2));<br />

1.002620728<br />

> evalf(simpson(x*exp(x),x=0..1,6));<br />

> int(x*exp(x),x=0..1);<br />

Llibreria LINALG.<br />

> with (linalg);<br />

Warning, new definition for norm<br />

1.000033590<br />

1


230 Cap. A Introducció al MapleV.<br />

Warning, new definition for trace<br />

[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian,<br />

addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout,<br />

blockmatrix, charmat, charpoly, cholesky, col, coldim, colspace, colspan, companion,<br />

concat, cond, copyinto, crossprod, curl, definite, delcols, delrows,<br />

det, diag, diverge, dotprod, eigenvals, eigenvalues, eigenvectors, eigenvects,<br />

entermatrix, equal, exponential, extend, ffgausselim, fibonacci, forwardsub,<br />

frobenius, gausselim, gaussjord, geneqns, genmatrix, grad, hadamard, hermite,<br />

hessian, hilbert, htranspose, ihermite, indexfunc, innerprod, intbasis,<br />

inverse, ismith, issimilar, iszero, jacobian, jordan, kernel, laplacian,<br />

leastsqrs, linsolve, matadd, matrix, minor, minpoly, mulcol, mulrow, multiply,<br />

norm, normalize, nullspace, orthog, permanent, pivot, potential, randmatrix,<br />

randvector, rank, ratform, row, rowdim, rowspace, rowspan, rref,<br />

scalarmul, singularvals, smith, stack, submatrix, subvector, sumbasis, swapcol,<br />

swaprow, sylvester, toeplitz, trace, transpose, vandermonde, vecpotent,<br />

vectdim, vector, wronskian]<br />

Els missatges d’avís (Warning: ...) ens indiquen que les ordres norm i trace<br />

substitueixen a les que estan carregades en memòria amb el mateix nom.<br />

Comentarem només les instruccions relacionades amb la resolució de sistemes<br />

i el càlcul de valors i vectors propis.<br />

Operacions matricials<br />

suma + add(A + B)<br />

resta − add(A − B)<br />

producte per un escalar ∗ ∗<br />

producte &∗ multiply(A,B)<br />

trasposta transpose(A)<br />

matriu inversa Aˆ(−1) inverse(A)<br />

determinant det(A)<br />

traça trace(A)<br />

rang rank(A)<br />

> A:=matrix([[6,5,4],[3,2,1]]);<br />

A :=<br />

∙ 6 5 4<br />

3 2 1<br />

> F:=matrix([[6,5,0],[3,2,1],[0,4,0]]);<br />

⎡<br />

6 5<br />

⎤<br />

0<br />

F := ⎣ 3 2 1 ⎦<br />

0 4 0<br />

¸


Ricard Dominguez, Imma Gilibets, M. Albina Puente 231<br />

Si volem introduir una matriu diagonal només cal indicar els elements de la<br />

diagonal mitjançant l’ordre diag.<br />

> diagonal:=diag(-1,7,3);<br />

> E:=multiply(A,F);<br />

> det(F);<br />

> inversa_F:=inverse(F);<br />

> rank(F);<br />

Norma d’una matriu<br />

La instrucció<br />

⎡<br />

diagonal := ⎣<br />

E :=<br />

−1 0 0<br />

0 7 0<br />

0 0 3<br />

∙ 51 56 5<br />

24 23 2<br />

−24<br />

⎡<br />

inversa F := ⎣<br />

3<br />

¸<br />

⎤<br />

⎦<br />

1<br />

6 0 − 5<br />

24<br />

1 0 0 4<br />

− 1 1<br />

2 1 8<br />

norm( matriu,tipus de norma);<br />

calcula la norma d’una matriu o vector.<br />

Per defecte, si no s’especifica el tipus de norma, obtenim la norma infinit.<br />

> norm(A);<br />

> norm(A,infinity);<br />

> norm(A, 1);<br />

15<br />

15<br />

9<br />

⎤<br />


232 Cap. A Introducció al MapleV.<br />

Resolució de sistemes d’equacions<br />

Donada una matriu A, la funció gausselim aplica el mètode de Gauss amb<br />

pivotatge parcial per a obtenir la forma triangular de la matriu A.<br />

> A:=matrix(3,3, [1,2,3,2,0,-4,-1,4,1]);<br />

>A1:= gausselim(A);<br />

⎡<br />

A := ⎣<br />

A1 := ⎣<br />

La funció gausselim admet la sintaxi<br />

⎡<br />

1 2 3<br />

2 0 −4<br />

−1 4 1<br />

1 2 3<br />

0 −4 −10<br />

0 0 −11<br />

⎤<br />

⎦<br />

⎤<br />

⎦<br />

gausselim(A, ’var1’, ’var2’)<br />

• Si el paràmetre var1 és un nom, aquest ens donarà el rang de la matriu.<br />

• El paràmetre var2, s’assignarà al determinant de la submatriu (A, 1..n,<br />

1..n) resultant d’aplicar el mètode de Gauss.<br />

• Si s’especifica només un segon paràmetre, i és un enter, l’eliminació<br />

s’acaba en aquesta posició de columna.<br />

> c:= matrix(4,4,[1.,-1.,2.,1.,3,-1,3,2,4,3,4,5,4,5,6,7]);<br />

c :=<br />

⎡<br />

⎢<br />

⎣<br />

1. −1. 2. 1.<br />

3 −1 3 2<br />

4 3 4 5<br />

4 5 6 7<br />

> gauss1:=gausselim(c, ’rang’, ’deter’);<br />

> rang;<br />

gauss1 :=<br />

⎡<br />

⎢<br />

⎣<br />

⎤<br />

⎥<br />

⎦<br />

4. 3. 4. 5.<br />

0 −3.250000000 0 −1.750000000<br />

0 0 2. .923076923<br />

0 0 0 .2307692309<br />

4<br />

⎤<br />

⎥<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 233<br />

> deter;<br />

> det(c);<br />

−6.000000003<br />

> gausselim(c,2);<br />

⎡<br />

4. 3. 4. 5.<br />

⎤<br />

⎢ 0<br />

⎣ 0<br />

−3.250000000<br />

0<br />

0<br />

1.000000000<br />

−1.750000000 ⎥<br />

.6923076924 ⎦<br />

0 0 2.000000000 .923076923<br />

−6<br />

La instrucció linsolve permet resoldre un sistema lineal donat en forma<br />

matricial Ax = b.<br />

> b:= vector([1,2,2,1]);<br />

> sol:=linsolve(c,b);<br />

linsolve (A,b);<br />

b := [1, 2, 2, 1]<br />

sol := [.1 × 10 −9 , −1.500000000, −1.500000000, 2.500000000]<br />

Valors i vectors propis<br />

Lesordresqueusaremperalcàlculdevalorsivectorspropissón:<br />

Operació Comanda MapleV<br />

Polinomi característic charpoly(matriu, variable);<br />

Valors propis eigenvals(matriu);<br />

Vectors propis eigenvects(matriu);<br />

> a:=matrix(3,3,[-3,-1,-1,0,2,-1,2,-2,1]);<br />

> charpoly(a,x);<br />

> eigenvals(a);<br />

⎡<br />

a := ⎣<br />

3 −1 −1<br />

0 2 −1<br />

2 −2 1<br />

x 3 − 6x 2 +11x − 6<br />

1, 2, 3<br />

⎤<br />


234 Cap. A Introducció al MapleV.<br />

> eigenvects(a);<br />

[1, 1, {[1, 1, 1]}], [2, 1, {[1, 1, 0]}], [3, 1, {[0, −1, 1]}]<br />

Aquesta ordre presenta, en forma de llista, el valor propi, la seva multiplicitat<br />

i un o més vectors propis associats, depenent de la multiplicitat.<br />

> b:=matrix(3,3,[-3,0,1,-1,-3,2,-1,-1,0]);<br />

⎡<br />

−3 0<br />

⎤<br />

1<br />

b := ⎣ −1 −3 2 ⎦<br />

−1 −1 0<br />

> eigenvects(b);<br />

[−2, 3, {[1, 1, 1]}]


Ricard Dominguez, Imma Gilibets, M. Albina Puente 235<br />

A.8 Exemples amb Maple V<br />

¥ Problema 1.<br />

Z x<br />

Sigui f(x) = ln(t) dt . Aproximeu la solució de l’equació f(x) = 0<br />

.9<br />

seguint els següents passos:<br />

> restart;<br />

(a) Deduïu que l’equació f(x) =0té una única solució a l’interval<br />

[1, 2].<br />

Z 1.2<br />

(b) Aproximeu ln(t) dt per la fórmula del trapezi compost amb<br />

.9<br />

3intervalsifiteu l’error comès.<br />

(c) Escriviu la fórmula de Newton per aproximar la solució de f(x) =<br />

0 i la fórmula de Simpson simple per aproximar ln(t) dt per<br />

.9<br />

aqualsevolb.<br />

(d) Calculeu una aproximació de la solució de f(x) =0pel mètode<br />

de Newton fins que |xi − xi−1| < 10−4 , prenent com a valor inicial<br />

x0 =1.2.<br />

Definim la funció f(x):<br />

> f:=x->Int(ln(t), t=0.9..x);<br />

f := x− ><br />

Zx<br />

.9<br />

ln(t) dt<br />

En aquest cas ens interessa tenir el símbol de la integral, no el seu valor.<br />

apartat a)<br />

Per deduir que la solució és única en l’interval I=[1,2] aplicarem el teorema<br />

de Bolzano i comprovarem que la funció derivada és estrictament creixent<br />

en [1,2].<br />

> f(1.);<br />

> evalf(f(1));<br />

Z1.<br />

.9<br />

ln(t) dt<br />

−.005175535908<br />

Z b


236 Cap. A Introducció al MapleV.<br />

> f(2.);<br />

> evalf(f(2));<br />

Z2.<br />

.9<br />

ln(t) dt<br />

.3811188252<br />

Com que f(x) és contínua en [1, 2] if(1)·f(2) f1:=D(f);<br />

> plot(f1(x),x=1..2);<br />

f1 :=ln<br />

Observem que la funció derivada és estrictament creixent en [1,2] i, per tant,<br />

la solució és única.<br />

> plot(f(x),x=1..2);<br />

Representant gràficament la funció f(x), observem que en I hi ha una única<br />

arrel. Per veure millor quina és restringim l’interval a [0.9,1.2].


Ricard Dominguez, Imma Gilibets, M. Albina Puente 237<br />

> plot(f(x),x=0.9..1.2);<br />

apartat b)<br />

Per poder aplicar el mètode del trapezi compost necessitem la llibreria student.<br />

> with(student);<br />

[D, Diff, Doubleint, Int, Limit, Lineint, Product, Sum, Tripleint, changevar,<br />

combine, completesquare, distance, equate, extrema, integrand, intercept,<br />

intparts, isolate, leftbox, leftsum, makeproc, maximize, middlebox,<br />

middlesum, midpoint, minimize, powsubs, rightbox, rightsum, showtangent,<br />

simpson, slope, trapezoid, value]<br />

> evalf(trapezoid(ln(t),t=0.9..1.2,3));<br />

.01337907003<br />

Pertrobarlafita de l’error, introduim la fórmula de l’error del mètode.<br />

> error:=(b-a)^3*M2/(12*n^2);<br />

> a:=0.9;b:=1.2;n:=3;<br />

> g:=t->ln(t);<br />

> g2:=D(D(g));<br />

error := 1 (b − a)<br />

12<br />

3M2 n2 a : = .9<br />

b : = 1.2<br />

n : = 3<br />

g := ln<br />

g2 :=a− > − 1<br />

a 2


238 Cap. A Introducció al MapleV.<br />

> plot(abs(g2(x)),x=0.9..1.2);<br />

> M2:=abs(g2(0.9));<br />

> error;<br />

apartat c)<br />

M2 :=1.234567901<br />

.0003086419752<br />

La fórmula de Newton- Raphson per resoldref(x) =0ve donada per:<br />

En el nostre cas serà:<br />

> x[i+1]:=x[i]-f(x[i])/f1(x[i]);<br />

xi+1 = xi − f(x i)<br />

D(f(xi))<br />

xi+1 = xi −<br />

R xi<br />

.9<br />

ln tdt<br />

ln(xi)<br />

La fórmula de Simpson simple l’obtenim directament amb la comanda de la<br />

llibreria student.<br />

> x:=’x’:<br />

> evalf(simpson(ln(t),t=0.9..x,2));<br />

apartat d)<br />

.3333333333(.5000000000x − .4500000000)<br />

(−.1053605157 + ln(x)+4.ln(.4500000000 + .5000000000x))<br />

El mètode de Newton anterior, a l’avaluar la integral pel mètode de Simpson<br />

simple, queda de la forma següent:


Ricard Dominguez, Imma Gilibets, M. Albina Puente 239<br />

> x[i+1]:=x[i]-evalf(simpson(ln(t),t=0.9..x[i],2))/f1(x[i]);<br />

xi+1 : = xi − .3333333333(.5000000000xi − .4500000000)<br />

(−.1053605157 + ln(xi)+4.ln(.4500000000 + .5000000000xi))/ln(xi)<br />

Fem el procés iteratiu calculant l’error a cada pas.<br />

> x[0]:=1.2; error:=infinity;<br />

x0 : = 1.2<br />

error : = ∞<br />

> forifrom0to20while(error> 10^(-4)) do<br />

x[i+1]:=x[i]-evalf(simpson(ln(t),t=0.9..x[i],2))/f1(x[i]);<br />

error:=abs(x[i+1]-x[i]);<br />

od;<br />

x1 : = 1.125373142<br />

error : = .074626858<br />

x2 : = 1.105280587<br />

error : = .020092555<br />

x3 : = 1.103473868<br />

error : = .001806719<br />

x4 : = 1.103458556<br />

error : = .000015312<br />

Comparem aquest resultat amb el que obtindríem amb la instrucció fsolve.<br />

> F:=x->int(ln(t),t=0.9..x);<br />

> fsolve(F(x)=0);<br />

F := x− ><br />

Z x<br />

.9<br />

1.103451152<br />

ln(t) dt


240 Cap. A Introducció al MapleV.<br />

¥ Problema 2.<br />

Donada una funció real de variable real, f, contínua de la qual només coneixem<br />

els seus valors en els punts −1, 0, 1 i 2.<br />

apartat a)<br />

(a) Calculeu una fórmula de quadratura de grau de precisió 3 que ens<br />

aproximi el valor de R 2<br />

−1 f(x) dx<br />

(b) Calculeu el polinomi que interpola f(x) en aquests quatre nodes<br />

i integreu-lo per obtenir una aproximació de la integral anterior.<br />

Si el grau de precisió ha de ser 3 haurem d’imposar que la fórmula de quadratura<br />

sigui exacta per a polinomis de grau més petit o igual que 3.<br />

> restart;<br />

> Int(f(x),x=-1..2)=A*f(-1)+B*f(0)+C*f(1)+D*f(2);<br />

Z 2<br />

f(x) dx = Af(−1) + Bf(0) + Cf(1) + Df(2)<br />

> p0:=x->1;<br />

p1:=x->x;<br />

p2:=x->x^2;<br />

p3:=x->x^3;<br />

−1<br />

p0 : = 1<br />

p1 : = x− >x<br />

p2 : = x− >x 2<br />

p3 : = x− >x 3<br />

> int(p0(x),x=-1..2)=A*p0(-1)+B*p0(0)+C*p0(1)+D*p0(2);<br />

int(p1(x),x=-1..2)=A*p1(-1)+B*p1(0)+C*p1(1)+D*p1(2);<br />

int(p2(x),x=-1..2)=A*p2(-1)+B*p2(0)+C*p2(1)+D*p2(2);<br />

int(p3(x),x=-1..2)=A*p3(-1)+B*p3(0)+C*p3(1)+D*p3(2);<br />

3 = A + B + C + D<br />

3<br />

2<br />

= −A + C +2D<br />

3 = A + C +4D<br />

15<br />

4<br />

= −A + C +8D


Ricard Dominguez, Imma Gilibets, M. Albina Puente 241<br />

Resolem el sistema amb l’ordre linsolve de la llibreria linalg.<br />

> with(linalg):<br />

Warning, new definition for norm<br />

Warning, new definition for trace<br />

> a:=matrix(4,4,[1,1,1,1,-1,0,1,2,1,0,1,4,-1,0,1,8]);<br />

b:=vector(4,[3,3/2,3,15/4]);<br />

a : =<br />

⎡<br />

⎢<br />

⎣<br />

1 1 1 1<br />

−1 0 1 2<br />

1 0 1 4<br />

−1 0 1 8<br />

b : = [3, 3 15<br />

, 3,<br />

2 4 ]<br />

> sol:=linsolve(a,b);<br />

sol := [ 3 9 9 3<br />

, , ,<br />

8 8 8 8 ]<br />

La fórmula de quadratura és:<br />

> Int(f(x),x=-1..2)=sol[1]*f(-1)+sol[2]*f(0)+sol[3]*f(1)+sol[4]*f(2);<br />

Z 2<br />

(x)dx = 3 9 9 3<br />

f(−1) + f(0) + f(1) +<br />

8 8 8 8 f(2)<br />

apartat b)<br />

> xs:=[-1,0,1,2];<br />

ys:=map(f,xs);<br />

−1<br />

⎤<br />

⎥<br />

⎦<br />

xs : = [−1, 0, 1, 2]<br />

ys : = [f(−1),f(0),f(1),f(2)]<br />

> p:=interp(xs,ys,t);<br />

p : = 1<br />

6 f(2)t3 − 1 1<br />

f(2)t −<br />

6 2 f(1)t3 + 1<br />

2 f(1)t2 + f(1)t + 1<br />

2 f(0)t3 − f(0)t 2 − 1<br />

2 f(0)t<br />

− 1<br />

6 f(−1)t3 + 1<br />

2 f(−1)t2 − 1<br />

f(−1)t + f(0)<br />

3<br />

> int(p,t=-1..2);<br />

3 9 9 3<br />

f(2) + f(0) + f(1) +<br />

8 8 8 8 f(−1)<br />

Observem que l’aproximació de la integral donada pel polinomi interpolador<br />

en els quatre nodes coincideix amb la fórmula de quadratura obtinguda<br />

anteriorment.


242 Cap. A Introducció al MapleV.<br />

¥ Problema 3.<br />

Donat el problema de valor inicial<br />

y 0 (x) =<br />

2 y<br />

x + x2 e x , y(1) = 0<br />

en I=[1,2] amb solució exacta y(x) =x 2 (e x − e) .<br />

apartat a)<br />

(a) Feu servir el mètode d’Euler amb h =0.2per aproximar la solució<br />

i compareu-la amb la solució exacta.<br />

(b) Feu servir l’apartat anterior i interpolació lineal per aproximar<br />

y(1.55) i compareu-lo amb el valor exacte.<br />

Definim la solució exacta com una funció i calculem els iterats programant<br />

el mètode d’Euler amb l’error a cada pas.<br />

> f_exacta:=x->evalf(x^2*(exp(x)-exp(1)));<br />

> a:=1; b:=2; h:=0.2; N:=(b-a)/h;<br />

> x[0]:= 1.; w[0]:=0;<br />

f exacta := x− >evalf(x 2 (e x − e))<br />

a : = 1<br />

b : = 2<br />

h : = .2<br />

N : = 5.000000000<br />

x0 : = 1.<br />

w0 : = 0<br />

> f:=(x,y)->evalf(2*y/x+x^2*exp(x));<br />

> forifrom0toN-1do<br />

x[i+1]:=x[i]+h;<br />

w[i+1]:=w[i]+h*f(x[i],w[i]);<br />

error:=abs(w[i+1]-f_exacta(x[i+1]));<br />

f := (x, y)− >evalf(2 y<br />

x + x2 e x )


Ricard Dominguez, Imma Gilibets, M. Albina Puente 243<br />

od;<br />

x1 : = 1.2<br />

w1 : = .5436563656<br />

error : = .3229861714<br />

x2 : = 1.4<br />

w2 : = 1.681068828<br />

error : = .939290724<br />

x3 : = 1.6<br />

w3 : = 3.751012594<br />

error : = 1.969948936<br />

x4 : = 1.8<br />

w4 : = 7.224718344<br />

error : = 3.568906316<br />

x5 : = 2.0<br />

w5 : = 12.75038287<br />

error : = 5.93271422<br />

Calculem el polinomi interpolador en els 6 punts de la xarxa i el representem<br />

gràficament juntament amb la solució exacta.<br />

> xs:=[seq(x[i],i=0..N)];<br />

> ys:=[seq(w[i],i=0..N)];<br />

xs := [1., 1.2, 1.4, 1.6, 1.8, 2.0]<br />

ys := [0.5436563656, 1.681068828, 3.751012594, 7.224718344, 12.75038287]<br />

> p:=interp(xs,ys,x);<br />

p : = 1.159130990x 5 − 4.664555601x 4 +11.60827909x 3 − 14.18748583x 2<br />

+8.090160062x − 2.005528711


244 Cap. A Introducció al MapleV.<br />

> plot({f_exacta(x),p},x=1..2);<br />

apartat b)<br />

La interpolació lineal la farem amb les dues abscisses més properes a 1.55,<br />

que són 1.4 i 1.6.<br />

> q:=interp([x[2],x[3]],[w[2],w[3]],x);<br />

> q0:=subs(x=1.55,q);<br />

> f_exacta(1.55);<br />

> error:=abs(q0-f_exacta(1.55));<br />

q := 10.34971883x − 12.80853753<br />

q0 :=3.23352666<br />

4.788635018<br />

error := 1.555108358


Ricard Dominguez, Imma Gilibets, M. Albina Puente 245<br />

¥ Problema 4.<br />

Considerem la funció f(x) = ex<br />

x<br />

apartat a)<br />

(a) Representeu-la gràficament per x>0.<br />

(b)Enquinintervaldelongitud1,l’àreasotalagràfica d’aquesta<br />

funció és mínima? Quant val aproximadament aquesta àrea?<br />

> f:=x->exp(x)/x ;<br />

> plot(f(x),x=0..infinity);<br />

apartat b)<br />

f := x− > ex<br />

x<br />

L’àrea sota la gràfica d’aquesta funció en un interval de longitud 1 ve donada<br />

per la integral definida A(a) = R a+1<br />

a<br />

e x<br />

x<br />

dx amb a>0.<br />

La condició necessària per a que sigui mínima és A 0 (a) =0.<br />

> A:=a->Int(exp(x)/x,x=a..a+1);<br />

A := a− ><br />

Z a+1<br />

> A1:=D(A);<br />

A1 :=a− > ea+1<br />

a +1<br />

> sol_minim:=fsolve(A1(a)=0);<br />

a<br />

e x<br />

x dx<br />

− ea<br />

a<br />

sol minim := .5819767069


246 Cap. A Introducció al MapleV.<br />

Verifiquem que aquesta solució és un mínim, és a dir, A”(sol_minim) > 0.<br />

> A2:=D(A1);<br />

> A2(sol_minim);<br />

L’àrea mínima és:<br />

A2 :=a− > ea+1<br />

a +1<br />

e(a+1) ea ea<br />

− − +<br />

(a +1) 2 a a2 3.339934750<br />

> area_minima:=evalf(A(sol_minim));<br />

area minima := 2.834904768


Apèndix B<br />

Solució dels problemes<br />

proposats<br />

B.1 Interpolació<br />

1. P2(x) =a +(1− a)x 2<br />

2. P2(x) =x 2 − 4x +1.P3(x) =x 2 − 4x +1<br />

3. P2(x) =x 2 − x<br />

4. P1(x) =2.51x +0.18. P1(1.6) = 4.196.<br />

P2(x) =0.44x2 − 0.97x +1.5.P2(1.6) = 4.1784.<br />

P3(x) =2.6933x 3 − 11.68x 2 +18.4766x − 6.58.P3(1.6) = 4.11376.<br />

5. a) P (x) =x2 − x. P (3) = 6.Q(x) = 4<br />

3 x2 − 3x + 8 17<br />

.Q(3) =<br />

3 3 .<br />

b) P4(x) =− 1<br />

30 x4 + 29<br />

60 x3 − 73<br />

60 x2 + 83<br />

30 x − 2.P4(3) = 5.7<br />

6. f(1.03) ' 3.053047591. error≤ 0.00011906409888. |f(1.03) − p(1.03)| =<br />

0.000114169<br />

7. ln 2 ' 0.701006904. error≤ 0.033. |ln 2 − p(2)| =0.0078597234<br />

8. P1(x) =4.171428573x − 4.394285718. P1(2.5) = 6.034285712<br />

P2(x) = −5.425238093x2 +32.92519046x − 41.82842856. P2(2.5) =<br />

6.57680951<br />

P3(x) =−9.429047615x 3 +63.40680950x 2 −132.0831428x+88.29242856.<br />

P3(2.5) = 7.04826196<br />

247


248 Cap. B Solució dels problemes proposats<br />

9. a) P (x) =20.41001892x2 − 14.02096282x +1<br />

b) f(1.5) ' 25.89109834 = P (1.5)<br />

c) |f(1.5) − P (1.5)| =5.80556142<br />

10. a) P4(x) =−0.3529411754x 4 − 0.1470588247x 2 − 0.1 × 10 −9 x +1<br />

b)P9(x) =−0.2085×10 −6 x 9 −0.1034x 8 +0.4030×10 −6 x 7 +0.7758x 6 −<br />

0.2419×10 −6 x 5 −1.1861x 4 +0.527×10 −7 x 3 +0.0139x 2 −0.28×10 −8 x+1.<br />

11. a) P2(x) =3.85118633x2 − 20.988094197x +55.02081827<br />

b) f(10.75) ' P2(10.75) = 274.451525913<br />

error≤ 0.0015625<br />

12. a) P (x) =−0.48x 2 − 0.0074x +1.00076<br />

cos(0.34) ' P (0.34) = 0.942756<br />

b) error≤ 0.0000004<br />

c) El polinomi interpolador dóna ”bones” aproximacions de f(x) si el<br />

valor x pertany a l’interval on hem calculat el polinomi. En aquest cas,<br />

seria fiable si x ∈ [0.3, 0.35]. En aquest cas, x =0.75 i l’aproximació<br />

trobada no té perquè ser correcte.<br />

13. a) P (x) =1.8494334x2 +0.9231552x<br />

b) error≤ 0.01b6.<br />

14. f(x) = ex 3 . √ e = f( 1 3 ) ' P ( 1 3 ) = 1.396 on P (x) és el polinomi<br />

interpolador en els punts donats.<br />

error≤ 0.000736<br />

B.2 Integració numèrica<br />

1. ω0 = 3 2 , ω1 = 1 2 ,a= − 1 3<br />

½<br />

2. x1 = 1 1√<br />

− 6 ,x2 =<br />

5 5<br />

1<br />

¾ ½<br />

2 √<br />

+ 6 , x1 =<br />

5 15<br />

1 1√<br />

+ 6 ,x2 =<br />

5 5<br />

1<br />

¾<br />

2 √<br />

− 6<br />

5 15<br />

3α +1<br />

3. k1 =<br />

3(α +1) ,k2<br />

3α − 1<br />

=<br />

3(α − 1) ,k3<br />

4<br />

=<br />

3(α − 1) (α +1)<br />

4. El grau de precisió és n=5. El resultat aproximat és<br />

Z 1<br />

xe x dx ≈ 0.9999820380<br />

0<br />

i l’error comès és menor que 0.00003146159522.


Ricard Dominguez, Imma Gilibets, M. Albina Puente 249<br />

5. a) Hem d’aplicar la regla de Simpson en 4 subintervals. Per tant, n=8<br />

b) n =100.<br />

c) Aplicant la regla de Simpson s’obté<br />

Z 1<br />

xe 2x dx ≈ 2.097446320<br />

0<br />

mentre que el valor exacte és 1<br />

4e2 + 1<br />

4 ≈ 2.097264025<br />

¯<br />

¯f (2) (x) ¯ <<br />

5. Prenent M =5, obtenim n := 289 i, per tant, h = b−a 1<br />

n = 289 . El<br />

resultat que dóna la regla dels trapezis és 0.1006087768, mentre que el<br />

valor exacte de la integral és 1 4cos(2)+ 1 2sin(2)- 1 4 ≈ 0.1006120043<br />

¯<br />

b) Per a la regla de Simpson, tenim M =sup ¯f x∈[0,1]<br />

(4) (x) ¯ < 34. Prenent<br />

M =34resulta n=7 i, per tant, cal dividir [0, 1] en 14 subintervals<br />

totals. El valor de l’aproximació que s’obté és 0.1006155264<br />

6. a) Dibuixant la gràfica de f (2) (x) veiem que M =sup x∈[0,1]<br />

7. a)<br />

Z √ 3<br />

1<br />

dx<br />

1+x<br />

√<br />

3<br />

= arctg(x)|<br />

2 1<br />

π π<br />

= −<br />

3 4<br />

= π<br />

12<br />

b) 2 subintervals (n =4)<br />

c) el valor aproximat de la integral és 0.2617977348 Aleshores,<br />

π ≈ 12 × 0.2617977348 = 3.141572818<br />

8. b) Dividint [a, b] en 2n subintervals iguals, obtenim:<br />

Z b<br />

a<br />

f(x)dx ≈<br />

b − a<br />

n [f(x1)+f(x3)+···+ f(x2n−1)]<br />

on n és el nombre d’intervals sobre els que apliquem la fórmula del<br />

rectangle. La longitud de cada un és b−a<br />

n<br />

c) n =41intervals sobre els que aplicar la fórmula composta. La<br />

integral aproximada és 0.3332837597, mentre que el valor exacte és<br />

=0.33333 ...<br />

1<br />

3<br />

9. a) n =21<br />

b) n =6(és a dir, apliquem 3 vegades Simpson)<br />

c) Les aproximacions que s’obtenen són 0.6159511037 per a la regla<br />

dels trapezis i 0.6155616728 per a la regla de Simpson.<br />

d) El valor exacte és 0.6156264705


250 Cap. B Solució dels problemes proposats<br />

10. a.1) n =10<br />

a.2) n =2.<br />

b) Per Simpson compost, el valor aproximat de la integral 2.0974083.<br />

c) Valor exacte: 0.5. Error absolut: 1.5974083<br />

11. n=2 intervals, és a dir, 4 subintervals.<br />

L’aproximació és 1.0705935<br />

12. a) n =17(trapezis compost)<br />

b) n =2(simpson compost)<br />

c) El valor aproximat de la integral per Simpson compost és: −1.9856111<br />

d) L’error comès és: 0.0143889<br />

13. El grau de precisió és 3.<br />

14. Per que la recta y = x +1és el polinomi interpolador en els punts 0 i<br />

2 de la funció que s’integra.<br />

15. a) Valor exacte: 0.2642<br />

b) n =2<br />

c) El valor aproximat és 0.2641.<br />

16. A0 = 1 6 ,A1 = 2 3 ,A2 = 1 6 . La fórmula és de Simpson simple.<br />

17. Nombre d’intervals: n =18.ih = 1<br />

18 .<br />

18. a = 20<br />

3<br />

−16 8<br />

,b= 3 ,c= 3 .<br />

B.3 Equacions diferencials ordinàries.<br />

1.<br />

xi ωi (Mètode d’Euler) ωi (Mètode RK-4)<br />

0 1 1<br />

0.25 0.75 0.7587119633<br />

0.5 0.52734375 0.5563838734<br />

0.75 0.3607463836 0.4026265519<br />

1 0.2461589214 0.2910392908<br />

2. La fórmula de recurrència pel mètode RK-2 és:<br />

ωi+1 = ωi(1+0.1tan(xi+0.1))+(ωi+1)(0.1tanxi+0.02 tan xi tan(xi+0.1))<br />

La fórmula de recurrència pel mètode de Taylor d’ordre 2 és:<br />

ωi+1 = ωi +(ωi + 1)(0.2tanxi +0.03 tan 2 xi +0.01)


Ricard Dominguez, Imma Gilibets, M. Albina Puente 251<br />

3. Taula de valors pel mètode d’Euler:<br />

.<br />

1 -1 -1 0<br />

1.05 -0.95 −0.9523809524 0.0023809524<br />

1.1 -0.9045354309 −0.9090909091 0.0045554782<br />

1.15 -0.8630070873 −0.8695652174 0.0065581301<br />

1.2 -0.8249169183 −0.8333333333 0.0084164150<br />

1.25 -0.7898475539 −0.8 0.0101524461<br />

1.3 -0.7574466097 −0.7692307692 0.0117841595<br />

1.35 -0.7274145173 −0.7407407407 0.0133262234<br />

1.4 -0.6994949907 −0.7142857143 0.0147907236<br />

1.45 -0.6734674848 −0.6896551724 0.0161876876<br />

1.5 -0.6491411779 −0.6666666667 0.0175254888<br />

1.55 -0.6263501299 −0.6451612903 0.0188111604<br />

1.6 -0.6049493567 −0.625 0.0200506433<br />

1.65 -0.5848116255 −0.6060606061 0.0212489806<br />

1.7 -0.5658248200 −0.5882352941 0.0224104741<br />

1.75 -0.54788976615 -1/1.75= −.5714285714 0.0235388053<br />

1.8 -0.5309183972 -1/1.8= −.5555555556 0.0245371584<br />

1.85 -0.5148322824 -1/1.85= −.5405405405 0.0257082581<br />

1.9 -0.4995613065 -1/1.9= −.5263157895 0.0267544830<br />

1.95 -0.4850426158 -1/1.95=-.5128205128 0.0277778970<br />

2 -0.4712196987 -1/2= −.5 0.0787803013<br />

b) Els valors aproximats trobats a partir d’interpolació lineal són:<br />

p(1.052) = −0.948181417<br />

y(1.052) = −.9505703422<br />

error = 0.002388925<br />

p(1.978) = −0.4773017825<br />

y(1.978) = −0.5055611729<br />

error = 0.282593904


252 Cap. B Solució dels problemes proposats<br />

4.<br />

c) Taula de valors pel mètode de Runge- Kutta d’ordre 4 (RK-4).<br />

xi ωi y(xi) ei<br />

1 -1 -1 0<br />

1.05 -0.9523809190 -0.9523809524 0.0000000334<br />

1.1 -0.9090908490 -0.9090909091 0.0000000601<br />

1.15 -0.8695651354 -0.8695652174 0.0000000820<br />

1.2 -0.8333332530 -0.8333333333 0.0000001003<br />

1.25 -0.7999998840 -0.8 0.0000001160<br />

1.3 -0.7692306395 -0.7692307692 0.0000001297<br />

1.35 -0.7407405988 -0.7407407407 0.0000001419<br />

1.4 -0.7142855613 -0.7142857143 0.0000001530<br />

1.45 -0.6896550093 -0.6896551724 0.0000001631<br />

1.5 -0.666666492 -0.6666666667 0.0000001725<br />

1.55 -0.6451611090 -0.6451612903 0.0000001813<br />

1.6 -0.6249998103 -0.625 0.0000001897<br />

1.65 -0.6060604083 -0.6060606061 0.0000001978<br />

1.7 -0.5882350886 -0.5882352941 0.0000002055<br />

1.75 -0.5714283584 -0.5714285714 0.0000002130<br />

1.8 -0.5555553352 -0.5555555556 0.0000002204<br />

1.85 -0.5405403130 -0.5405405405 0.0000002275<br />

1.9 -0.5263155549 -0.5263157895 0.0000002346<br />

1.95 -0.5128202713 -0.5125205128 0.0000002415<br />

2 -0.4999997516 -0.5 0.0000002484<br />

d) Els valors aproximats trobats a partir d’interpolació lineal són:<br />

p(1.052) = −0.9506493162<br />

y(1.052) = −.9505703422<br />

error = 0.0000789740<br />

p(1.978) = −0.5051279599<br />

y(1.978) = −0.5055611729<br />

error = 0.0004332130<br />

xi ωi (Mètode d’Euler) ωi (Mètode RK-4)<br />

1 1 1<br />

1.1 1.2 1.215879587<br />

1.2 1.428199174 1.467553377


Ricard Dominguez, Imma Gilibets, M. Albina Puente 253<br />

5.<br />

6.<br />

7.<br />

xi<br />

ωi<br />

0 0<br />

0.25 0.25<br />

0.5 0.5065511855<br />

0.75 0.7780402350<br />

1 1.066541563<br />

El valor aproximat de la solució en el punt 0.6 és:<br />

p(0.6) = 0.6151468053<br />

xi ωi y(xi) = x3 i<br />

0 0 0<br />

3<br />

0<br />

0.4 0 0.021333333 0.021333333<br />

0.8 0.128 0.170666666 0.042666666<br />

1.2 0.512 0.576 0.064<br />

1.6 1.28 1.365333333 0.085333333<br />

2 2.56 2.666666666 0.106666666<br />

xi ωi y(xi) = x3 i<br />

0 0 0<br />

3<br />

0<br />

0.4 0.0213333334 0.021333333 0.0000000001<br />

0.8 0.1706666667 0.170666666 0.0000000001<br />

1.2 0.5760000001 0.576 0.0000000001<br />

1.6 1.365333334 1.365333333 0.0000000001<br />

2 2.666666668 2.666666666 0.0000000002<br />

8. La solució particular és:<br />

B.4 Zeros de funcions<br />

1. a) x =0.6191406250.<br />

b) x =1.235351563<br />

ei<br />

y(x) =e − sin x +sinx − 1<br />

ei


254 Cap. B Solució dels problemes proposats<br />

2. a) x =1.895494276 en I =[1, 2]<br />

b) x =0.5109734293 en I =[0, 1]<br />

3. x =1.414211438<br />

4. La més adequada és g(x) = 2x3 +2<br />

3x2 .L=0.66666. x0 =1.5,<br />

x1 =1.296296296, x2 =1.260932225, x3 =1.259921861.<br />

5. a) I =[0, 1]<br />

b) g1(x) =x 2 + x − e −x .g2(x) = √ e −x . La millor és g2(x)<br />

c) x0 =0.5, x1 =0.7788007831, x2 =0.6774629653, x3 =0.7126737887.<br />

n =9<br />

6. Resolt a l’annex de Maple V<br />

7. A = B =60. A partir d’quí deduïm que les arrels positives es troben<br />

a l’interval ( 1 8<br />

1<br />

, ) i les arrels negatives a (−8 , − ). Si estudiem els<br />

31 3 3 31<br />

canvis de signe de P (x) ideP (−x) en ambdós casos són 2, per tant el<br />

nombre d’arrels positives serà 2 o cap, a l’igual que el nombre de les<br />

negatives. Si les localitzem veiem que existeixen 2 de cada.<br />

8. a) x = −2, x= − 1 1<br />

3 ,x= 2<br />

b) x = −2 és mínim, x = − 1<br />

3<br />

9. a) I =[1, 2].( També I =[4, 5] )<br />

b) x =1.857183860<br />

10. a) I =[0, 1]<br />

b) x =0.6411857445<br />

c) x =0.6411857445<br />

11. a) I =[0, 1]<br />

b) x =0.5372744492<br />

c) x =0.5372744493<br />

és màxim i x = 1<br />

2<br />

és mínim<br />

12. b) n =7<br />

c) x0 =1.5, x1 =0.93662903, x2 =1.0373103, x3 =1.0444932, x4 =<br />

1.0445246.<br />

13. b) La millor fórmula és la b.1<br />

c) n =18.<br />

14. c) n =5


Ricard Dominguez, Imma Gilibets, M. Albina Puente 255<br />

15. a) P (x) =x 3 + x 2 + x +1<br />

b) Pel teorema de Descartes trobem que hi pot haver 3 arrels negatives<br />

ó 1 negativa i 2 complexes.<br />

Les arrels compleixen: −2 ≤ α ≤−1 2 obé 1 2<br />

Les arrels són: α0 = −1, α1 = i, α2 = −i.<br />

B.5 Sistemes d’equacions lineals<br />

1. x1 =1.00 , x2 =0.333 , x3 = −0.333<br />

2.<br />

⎛<br />

1. 0<br />

⎞<br />

0<br />

⎛<br />

L = ⎝ 1. 1. 0 ⎠ ; U = ⎝<br />

1. 0 1.<br />

La matriu de permutació és<br />

⎛<br />

P = ⎝<br />

1. 0 0<br />

0 0 1.<br />

0 1. 0<br />

≤ α ≤ 2.<br />

1. 1. 1.<br />

0 1. 1.<br />

0 0 −3.<br />

Resolent successivament els sistemes LY = P T b i UX = Y, obtenim<br />

la solució X =(1.00, 0.333, −0.333) T<br />

3. a) X =(1, 2, 0, −1) T<br />

b) X = ¡ 1.0000, 2.0000,.37500 · 10−5 , −1.0000 ¢<br />

c)<br />

⎛<br />

1 0 0<br />

⎞<br />

0<br />

⎜<br />

L = ⎜ −1<br />

⎝ 0<br />

1<br />

1<br />

0<br />

1<br />

0 ⎟<br />

0 ⎠<br />

−3 3 2 1<br />

,U=<br />

⎛<br />

−1 1 0<br />

⎞<br />

3<br />

⎜<br />

⎝<br />

0<br />

0<br />

1<br />

0<br />

3<br />

−4<br />

4 ⎟<br />

−5 ⎠<br />

0 0 0 9<br />

Resolent LY = b i UX = Y obtenim X = ¡ 1 6 , 19 6<br />

4. a) El mètode no és convergent<br />

¢ T<br />

s’obté<br />

b) Prenent X (0) = ¡ 9 7 3<br />

10 , 10 , 5<br />

⎞<br />

⎠<br />

, −1<br />

6 , 1 3<br />

X4 =(0.9955500000, 0.9572500000, 0.7911000000) T<br />

L’error compleix kMk °<br />

1−kMk X (i+1) − X (i) °


256 Cap. B Solució dels problemes proposats<br />

5. a) No convergeix<br />

b) Amb X (0) = N −1 b,s’obté<br />

X (3) =(.9957475000,.9578737500,.7915747500) T<br />

kMk °<br />

i °X 1−kMk<br />

(i+1) − X (i)° ° < 0.0002119936709<br />

c) X (0) = N −1b,aleshores X (4) =(1.103770657, 2.996435027, −1.021110629, −2.626301964) T<br />

kMk °<br />

1−kMk X (i+1) − X (i) ° < 0.0004807963943<br />

i l’error és tal que<br />

6. Partint de X (0) =(0, 0, 0) T obtenim<br />

X (9) =(6.585911424, 5.704645819, 7.372140478) T<br />

Observem que la solució exacta és X =(8, 7, 9) T<br />

7. a) Sí. b) No. c) No<br />

8. a) |a| < 3 b) |a| < 3<br />

c) Partint de X (0) = N −1 b, obtenim:<br />

X (4) =(.3330078125,.2675781250,.6005859375) T<br />

d) Amb el mateix vector inicial, resulta:<br />

9. a 2 < 1<br />

X (3) =(.3338937760,.2662913799,.5999537110) T<br />

10. a)ÉsconvergentperquekMk ∞ =0.2 < 1<br />

b) X (0) =(0, 0, 0) T ,X (1) =(1.2, 1.06, 0.948) T ,<br />

X (2) =(0.9992, 1.00536, 0.999088) T ,<br />

X (3) =(0.9995552, 1.0001802, 1.0000529) T<br />

c) n =6<br />

⎛<br />

11. a) X (k+1) = ⎝<br />

0 − 1<br />

3 0<br />

− 2<br />

3 0 0<br />

− 1 3 − a 3 0<br />

⎞<br />

⎛<br />

⎠ X (k) + ⎝<br />

b) És convergent per a tot a jaqueelradiespectraldeM és menor<br />

que 1<br />

c) n =16.<br />

12. És convergent ja que el radi espectral és 0 i, per tant, menor que 1.<br />

13. n =22.<br />

2<br />

3<br />

1<br />

1<br />

⎞<br />


Ricard Dominguez, Imma Gilibets, M. Albina Puente 257<br />

B.6 Valors i vectors propis.<br />

1. Amb precisió 10 −4 , trobem:<br />

(a) x(11) =(1, 0.7143455206, −0.2497900733) T<br />

λ11 =6.001675040<br />

Per tant, el valor propi dominant és 6 i un vector propi associat<br />

és v =(1, 0.714, −0.25) T , amb un error 0.0002106494.<br />

(b) x(8) =(0.2500032000, −1, 0.2499968000) T<br />

λ11 =5<br />

El valor propi dominant és 5 i un vector propi és v =(0.25, −1, 0.25) T ,<br />

amb un error .0000128000<br />

(c) uparell → (1, 0, −0.25, −0.25) T usenar → (0, 0, 1, −1) T<br />

λparell → 8 λsenar → 4.5<br />

Elsvalorspropisdemòdulmàximsón: ± √ 8 · 4.5 =± √ 36 = ± 6.<br />

Un vector propi associat a λ1 =6serà v1 =(1, 0, 0.75, −1.25) T i<br />

un vector propi associat a λ2 = −6 és v2 =(1, 1, −1.25, 0.75) T .<br />

2. valor propi de mòdul màxim:<br />

x (13) =(0.9999799402, 1, 0.9999946166) T<br />

λ13 =17.99966753<br />

Per tant, el valor propi dominant és λ1 =18i un vector propi associat<br />

és v =(1, 1, 1) T .<br />

valor propi de mòdul mínim:<br />

x (17) =(0.2679111415, 0.7320888586, −1) T<br />

λ15 =0.2343066588<br />

−1<br />

Per tant, el valor propi és λ2 =<br />

= −4.267911143 iun<br />

0.2343066588<br />

vector propi associat és v =(−0.268, −0.732, 1) T .<br />

L’altre valor propi es troba resolent l’equació: λ1+λ2+λ3 = tr(A) =6<br />

iésλ3 = −7.731756390.<br />

3. Els valors propis de la matriu, trobats aplicant el mètode de la potència<br />

amb 4 decimals exactes, són:<br />

λ1 =5.804019778 λ2 =0.2960910036<br />

λ3 =2.507531999 λ4 =1.392357219<br />

4. Aplicant el mètode de la potència inversa a (A +5Id) obtenim µ =<br />

−0.01925175789 i, per tant, el valor propi buscat és λ = −5.019251758.


258 Cap. B Solució dels problemes proposats<br />

5. (a) Aplicant el mètode de la potència s’obté λ1 ' 2, amb el mètode de<br />

la potència inversa obtenim λ2 =1i per la traça de la matriu obtenim<br />

λ3 =2.<br />

(b) Amb el mètode de la potència es té λ1 ' 3, amb potència inversa<br />

obtenim λ2 ' 1 =2i, a partir de la traça i el determinant s’obtenen<br />

0.5<br />

λ3 =3i λ4 =3.<br />

6. Els valors propis de la matriu estan en el conjunt [−6, −4] ∪ [1, 9], pel<br />

teorema de Gersghorin. En mòdul, estan compresos entre 1 i 9.<br />

Aplicant el mètode de la potència inversa a (A − Id) obtenim µ '<br />

2.283165979 i, per tant, el valor propi més proper a 1 és λ ' 3.283165979.<br />

7. Polinomi característic: (x − 2)(x − 3)(x − 4)<br />

Vectors propis: [3., 1, {[0, 1, 2]}], [4., 1, {[0, 0, 1]}], [2., 1, {[1, 2, 3]}]<br />

8. Polinomi característic: x 3 − x 2 − 4x +4<br />

Vectors propis:<br />

[−2, 1, {[−.07071067812, 0,.7071067812]}],<br />

[1, 1, {[−.4714045208, 0, −.942809416]}],<br />

[2, 1, {[−.5, 1, −.5]}]<br />

9. x16 =[.2500114443,.7500114440, −1] i λ16 =2<br />

x17 =[−1,.7500028610,.2500085832] i λ17 =2.000022888<br />

Els valors propis són 2 i −2 amb vectors propis associats (−0.75, 1.5, −0.75)<br />

i (−1.25, 0, 1.25), respectivament.<br />

10. x8 =(.9998475842, 1, 1, 0) i λ8 =3.


Bibliografia<br />

[1] Aubanell, A.; Benseny, A. i Delshams, A.<br />

Eines bàsiques de càlcul numèric.<br />

Manuals de la UAB..Barcelona, 1991<br />

[2] Ayres, F.<br />

Ecuaciones diferenciales.<br />

McGraw-Hill, 1970.<br />

[3] Bonet,C.ialtres.<br />

Càlcul numèric.<br />

Edicions UPC 1994<br />

[4] Bronson, R.<br />

Ecuaciones diferenciales modernas.<br />

McGraw-Hill, 1973<br />

[5] Burden,R.L.iDouglas,J.<br />

Análisis Numérico.<br />

Grupo Editorial Iberoamérica, 1985<br />

[6] Carrillo de Albornoz, A.; Llamas, I.<br />

Maple V: Aplicaciones Matemáticas para PC.<br />

Ra-ma<br />

[7] Char,Bruce,W.ialtres.<br />

First Leaves: A Tutorial Introduction to MapleV (Manual de Maple V).<br />

Springer-Verlag 1992.<br />

[8] Cheney, E.W. i Kincaid, D.<br />

Numerical mathematics and computing.<br />

Brooks/Cole. 2a. edició 1985.<br />

259


260 BIBLIOGRAFIA<br />

[9] Dahlquist,G.iBjörck,A.<br />

Numerical Methods.<br />

Prentice Hall, Englewood Cliffs, N.J., 1974.<br />

[10] Demidowitsch, B.P.; Maron, I.A. i Schuwalowa, E.S.<br />

Métodos numéricos de análisis.<br />

Paraninfo. Madrid, 1980.<br />

[11] Isaacson,E.iKeller,H.B.<br />

Analysis of numerical methods.<br />

Wiley, N.Y., 1966<br />

[12] Kendall E.<br />

An Introduction to numerical analysis.<br />

Wiley. 2a. edició 1989.<br />

[13] Ralston, A.<br />

Introducción al Análisis Numérico.<br />

Ed. Limusa, 1986.<br />

[14] Stoer, J. i Bulirsch, R.<br />

Introduction to numerical analysis.<br />

Springer, Berlín, 1980.<br />

[15] Zill, D. G.<br />

Ecuaciones Diferenciales con aplicaciones.<br />

Grupo Editorial Iberoamérica, 1988

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!