Libro Analisis Jorge Figueroa

223

description

análisis numerico

Transcript of Libro Analisis Jorge Figueroa

  • ANLISIS NUMRICO CON

    MATLAB

    Andres Felipe Amador Rodriguez

    Jorge Hernando Figueroa Jimenez

    Daniel Suescun Diaz

    Ponticia Universidad Javeriana, Cali. 2013

    i

  • ii

  • Contenido

    Contenido iii

    1. Representaciones de Nmeros y Errores 1

    1.1. Representacin de un nmero real en una mquina . . . . . . 5

    1.2. Aritmtica de precisin nita . . . . . . . . . . . . . . . . . . 12

    1.3. Arimtica en una Mquina . . . . . . . . . . . . . . . . . . . . 15

    1.4. Prdida de dgitos o cifras signicativas . . . . . . . . . . . . . 17

    1.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2. Ceros de Funciones 27

    2.1. Mtodo de Biseccin . . . . . . . . . . . . . . . . . . . . . . . 28

    2.1.1. Convergencia . . . . . . . . . . . . . . . . . . . . . . . 31

    2.2. Mtodo de la Regula Falsi . . . . . . . . . . . . . . . . . . . . 35

    2.2.1. Convergencia . . . . . . . . . . . . . . . . . . . . . . . 36

    2.3. Mtodo de Newton . . . . . . . . . . . . . . . . . . . . . . . . 37

    2.3.1. Convergencia . . . . . . . . . . . . . . . . . . . . . . . 40

    2.4. Mtodo de la Secante . . . . . . . . . . . . . . . . . . . . . . . 45

    2.4.1. Convergencia . . . . . . . . . . . . . . . . . . . . . . . 47

    2.5. Mtodo del punto jo . . . . . . . . . . . . . . . . . . . . . . . 48

    2.5.1. Convergencia . . . . . . . . . . . . . . . . . . . . . . . 51

    2.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

    3. Sistemas de Ecuaciones Lineales 63

    3.1. Sistemas fciles de resolver . . . . . . . . . . . . . . . . . . . . 63

    3.2. Mtodos Directos de Solucin . . . . . . . . . . . . . . . . . . 66

    iii

  • CONTENIDO

    3.2.1. Mtodo de la Inversa . . . . . . . . . . . . . . . . . . . 66

    3.2.2. Mtodo de Cramer . . . . . . . . . . . . . . . . . . . . 67

    3.2.3. Mtodo de Eliminacin Gaussiana . . . . . . . . . . . . 68

    3.2.4. Factorizacin LU . . . . . . . . . . . . . . . . . . . . . 74

    3.3. Normas Vectoriales y Matrices . . . . . . . . . . . . . . . . . . 79

    3.4. Mtodos iterativos para sistemas lineales . . . . . . . . . . . . 83

    3.4.1. Mtodo de Jacobi . . . . . . . . . . . . . . . . . . . . . 83

    3.4.2. mtodo de Gauss-Seidel . . . . . . . . . . . . . . . . . 85

    3.5. Representacin matricial . . . . . . . . . . . . . . . . . . . . . 88

    3.6. Nmero Condicional y Renamiento Iterativo . . . . . . . . . 94

    3.7. Precondicionamiento o Equilibracin de una Matriz . . . . . . 98

    3.7.1. Precondicionamiento mediante equilibracin de las . . 98

    3.7.2. Precondicionamiento mediante equilibracin de Colum-

    nas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    3.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    4. Interpolacin y Ajustes de Curvas 111

    4.1. Mtodo Directo . . . . . . . . . . . . . . . . . . . . . . . . . . 112

    4.2. Polinomio de Newton . . . . . . . . . . . . . . . . . . . . . . 113

    4.2.1. Forma matricial . . . . . . . . . . . . . . . . . . . . . . 114

    4.2.2. Nmero condicional . . . . . . . . . . . . . . . . . . . . 114

    4.2.3. Mtodo de diferencias divididas . . . . . . . . . . . . . 115

    4.3. Polinomio de Lagrange . . . . . . . . . . . . . . . . . . . . . . 118

    4.4. El fenmeno de Runge . . . . . . . . . . . . . . . . . . . . . . 124

    4.5. Nodos de Chebyshev . . . . . . . . . . . . . . . . . . . . . . . 126

    4.6. Interpolacin polinomial a trozos . . . . . . . . . . . . . . . . 130

    4.6.1. Trazador Cbico . . . . . . . . . . . . . . . . . . . . . 130

    4.7. Ajuste de curvas por mnimos cuadrados . . . . . . . . . . . . 139

    4.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

    5. Integracin y Diferenciacin Numrica 153

    5.1. Integracin numrica . . . . . . . . . . . . . . . . . . . . . . . 153

    5.1.1. Regla del trapecio . . . . . . . . . . . . . . . . . . . . . 153

    5.1.2. Regla de Simpson . . . . . . . . . . . . . . . . . . . . . 154

    5.1.3. Regla compuesta del Trapecio . . . . . . . . . . . . . . 159

    5.1.4. Regla compuesta de Simpson . . . . . . . . . . . . . . 162

    5.1.5. Mtodos adaptativos . . . . . . . . . . . . . . . . . . . 165

    5.2. Diferenciacin numrica . . . . . . . . . . . . . . . . . . . . . 169

    iv

  • Anlisis Numrico con MATLAB

    5.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

    6. Ecuaciones diferenciales ordinarias 179

    6.1. Mtodo de la serie de Taylor . . . . . . . . . . . . . . . . . . . 179

    6.2. Mtodo de Euler mejorado . . . . . . . . . . . . . . . . . . . . 184

    6.3. Mtodo de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . 186

    6.3.1. Mtodo de Runge-Kutta-Felhberg (RKF45) . . . . . . 190

    6.4. Mtodos Multipasos Predictor-Corrector . . . . . . . . . . . . 191

    6.4.1. Mtodo de Adams-Bashforth-Moulton . . . . . . . . . 192

    6.4.2. Mtodo de Milne-Simpson . . . . . . . . . . . . . . . . 194

    6.4.3. Comparacin de Mtodos . . . . . . . . . . . . . . . . 204

    6.5. Mtodo de Hamming . . . . . . . . . . . . . . . . . . . . . . . 205

    6.5.1. Esquema Predictor-Corrector . . . . . . . . . . . . . . 205

    6.5.2. Generalizacin del Corrector de Hamming . . . . . . . 206

    6.5.3. Estabilidad del Corrector Generalizado del Mtodo de

    Hamming . . . . . . . . . . . . . . . . . . . . . . . . . 210

    6.5.4. Caso II (Mtodo de Hamming) . . . . . . . . . . . . . 212

    6.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213

    Bibliografa 215

    ndice alfabtico 216

    v

  • CONTENIDO

    vi

  • Capitulo1Representaciones de Nmeros y

    Errores

    La mayora de las computadoras hacen los clculos aritmticos usando el

    sistema binario (base 2) y no el sistema decimal (base 10). Cuando se in-troducen nmeros en base 10, la computadora los convierte en nmeros enbase 2 (o quizs en base 16), lleva a cabo los clculos en base 2 y nalmentepresenta los resultados en base 10. La computadora al convertir el nmero enbase 10 a base 2 utiliza la llamada representacin de punto otante y en mu-chos casos trabaja con aproximaciones de los nmeros que quiere representar

    dando lugar a errores en los clculos.

    Antes de presentar la representacin de punto otante de un nmero real,

    se realizar un breve repaso sobre sistemas numricos y notacin cientca.

    Si x es un nmero real entonces la representacin de x en una base b es:

    x = enen1 e0.d1d2d3 dkdk+1

    donde ei y dj son dgitos entre 0 y b 1.Si el valor de x se escribe en forma explcita entonces el valor de x es:

    x =en bn + en1 bn1 + + e1 b1 + e0b0 + d1b1 + d2b2+ + dk bk + dk+1 b(k+1) +

    A continuacin, se escriben los nmeros x = 13.625 y y = 401.3 en base10, 2, 8 y 16.

    1

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    Ejemplo 1.0.1 (Sistema decimal o base 10). Para representar un nmeroen el sistema decimal se utilizan potencias de 10 junto con los dgitos del 0al 9.

    a) Representacion de x en sistema decimal

    x = 13.625

    = 1 101 + 3 100 + 6 101 + 2 102 + 5 103

    b) Representacion de y en sistema decimal

    y = 401.3

    = 4 102 + 0 101 + 1 100 + 3 101 + 3 102 + 3 103 +

    Ejemplo 1.0.2 (Sistema binario o base 2). Para representar un nmero ensistema binario se usan los dgitos 0 y 1.

    a) Representacion de x en sistema binario

    x = 13.625

    = 8 + 4 + 1 + 0.5 + 0.125

    = 23 + 22 + 20 + 21 + 23

    = 1 23 + 1 22 + 1 20 + 1 21 + 1 23= 1 23 + 1 22 + 0 21 + 1 20 + 1 21 + 0 22 + 1 23

    Recordando la representacion de x en sistema decimal y la anterior ensistema binario se tiene (13.625)10 = (1101.101)2. Donde los subndices10 y 2 indican la base en la que se encuentra el nmero.

    b) Representacion de y en sistema binario

    y = 401.3

    = 256 + 128 + 16 + 1 + 0.25 + 0.0625 + = 1 28 + 1 27 + 1 24 + 1 20 + 1 22 + 1 24 +

    De forma analoga las representaciones en sistema decimal e binario de yse relacionan como antes. (401.333 )10 = (110010001.0101 )2.

    2

  • Anlisis Numrico con MATLAB

    Ejemplo 1.0.3 (Sistema octal o base 8). El nmero se escribe usando losdgitos del 0 al 7.

    a) Representacion de x en sistema octal.

    x = 13.625

    = 8 + 5 + 0.625

    = 1 81 + 5 80 + 5 81

    Como antes se tiene que (13.625)10 = (15.5)8

    b) Representacion de x en sistema octal.

    y = 401.3

    = 384 + 16 + 1 + 0.25 + 0.0625 + = 6 82 + 2 81 + 1 80 + 2 81 + 4 82 +

    Luego (401.333 . . .)10 = (621.24 . . .)8

    Ejemplo 1.0.4 (Sistema hexadecimal o base 16). Para representar un n-mero en hexadecimal se usan los dgitos del 0 al 9 y las letras A,B,C,D,Ey F en lugar de los nmeros 10, 11, 12, 13, 14 y 15 respectivamente.

    a) Representacion de x en sistema hexadecimal.

    x = 13.625

    = 13 + 0.625

    = 13 160 + 10 161= D 160 +A 161

    Luego (13.625)10 = (D.A)16

    b) Representacion de y en sistema hexadecimal.

    y = 401.3

    = 256 + 144 + 1 + 0.3125 + 0.01953125 + = 1 162 + 9 161 + 1 160 + 5 161 + 5 162 + Luego (401.333 )10 = (191.55 )16

    3

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    Denicin 1.1 (Notacin cientica en base 10). Un nmero real x se diceque est escrito en notacin cientca en base 10 si se puede representar dela siguiente forma: x = M 10n donde 1 M < 10 (si x 6= 0) y n es unentero. M se conoce como la mantisa, 10 es la base y n es el exponente ocaracterstica.

    Ejemplo 1.0.5. Representacion cientica en base de 10 para x = 1231 yy = 0.0000738.

    x = 1231 = 1.231 103y = 0.0000738 = 7.38 105

    De la misma forma, se puede utilizar la notacin cientca en el sistema

    binario. En este caso x = M 2n donde 1 6 M < 2 (si x 6= 0) y n es unentero.

    Por ejemplo x = (1101.101)2 = (1.101101)2 23.

    MATLAB [9] posee la funcin dec2base(d,b), que convierte un entero

    no negativo d en base 10 a una base dada b. El nmero d no puede ser mayorde 252 y b debe ser un entero entre 2 y 36.

    Ejemplo 1.0.6. Utilizando MATLAB, transforme 13 base: 2, 5 y 16.

    >> n1= dec2base(13, 2)

    n1 =

    1101

    >> n2= dec2base(13, 5)

    n2 =

    23

    >> n3= dec2base(13, 16)

    n3 =

    D

    4

  • Anlisis Numrico con MATLAB

    MATLAB tambin posee la funcin bin2dec , que transforma un nmero

    binario en su equivalente en base 10.

    Ejemplo 1.0.7. >> n=bin2dec('11101')

    n =

    29

    1.1. Representacin de un nmero real en una

    mquina

    Una mquina generalmente no almacena una cantidad matemtica x sinouna aproximacin binaria a x llamada representacin de punto otante,denotada por (x) que toma la siguiente forma:

    x (x) = 1 d1d2d3 dk 2n

    donde di es un dgito binario

    x (x) = (1)s 1 f 2n, donde f = d1d2d3 dk

    La cantidad s indica el signo del nmero, la cantidad 1 f se denominamantisa y se encuentra en base 2, y la cantidad n es el exponente.

    La mquina utiliza un formato (longitud de palabra) para almacenar un

    nmero real. Constan de mltiplos de 8 bits, donde cada posicin contieneun dgito binario o bit.

    El formato de precisin simple usa 32 bits, para almacenar un nmeroreal, el de precisin doble 64 bits y el extendido 128 bits. MATLAB usade precisin doble [9].

    En el formato de precisin simple (32 bits), el primer bit est reservadopara el signo del nmero denotado por s en la ecuacin (1.1) (1 para negativoy 0 para positivo ya que (1)1 = 1 y (1)0 = 1); los ocho bits siguientesse utilizan para almacenar un patrn de bits que representan al exponente n;los 23 bits restantes se usan para la mantisa, pero slo se almacena la parte

    de la mantisa denotada por f por que el dgito principal siempre es 1.

    5

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    1 bit 8 bits 23 bits

    Signo del nmero Exponente Mantisa. Parte fraccionaria f

    Figura 1.1: Distribucin de 32 bits

    En la gura 1.1 se muestra la distribucin de los 32 bits en un formatode precisin simple.

    El valor del exponente de 8 bits vara de (00000000)2 = 0 a (11111111)2 =255 para enteros positivos y no permitira representar exponentes negativos;por esta razn el valor binario del exponente n no se almacena directamente

    y en vez de ello se almacena en forma sesgada como un valor no negativo c.La relacin del exponente n en trminos del valor almacenado c y el sesgo bes: n = c b. Para el caso del formato de 32 bits b = 127.Por ejemplo, si el exponente n es 2, entonces n = c b, 2 = c 127,

    c = 129.En lugar de almacenar el exponente n = 2 = (00000010)2 se almacenac = 129 = (10000001)2.

    Si el exponente n es 5, entonces n = c b, 5 = c 127, c = 122En lugar de almacenar n = 5 = (00000101)2, se almacena c = 122 =(01111010)2.En la gura 1.2 se muestra el valor real del exponente n y el correspondientevalor del exponente sesgado c que se almacenara en el formato.

    - 127 -5 0 2 128

    2551291271220

    (Valor real del exponente n)

    (Valor del exponente sesgado c

    almacenado en el formato)

    Figura 1.2: Valores de los exponentes n y c

    Ejemplo 1.1.1. Represente en formato de precisin simple los siguientes

    nmeros.

    Primero se escribe el nmero en notacin de punto otante base 2 de la

    forma (1.1) fl(x) = (1)s(1.f) 2n y luego se lo almacena en el formato.

    6

  • Anlisis Numrico con MATLAB

    a) Formato de precisin simple para x = 13.625

    x = 13.625 = (1101.101)2

    = (1.101101)2 23fl(x) = (1)0(1.101101) 23

    En este caso s = 0 porque el nmero es positivo, la parte fraccionaria fde la mantisa es f = 101101, el exponente real es n = 3, pero se almacenael exponente sesgado c. n = c 127, 3 = c 127, c = 130 = (10000010)2.La representacin de x = 13.625 en el formato de precisin simple es:

    0 10000010 10110100000000000000000

    Signo del nmero Exponente Parte fraccionaria f de la mantisa

    b) Formato de precisin simple para y = 0.375y = 0.375 = (0.011)2

    = (1.1)2 22fl(y) = (1)1(1.1) 22

    Como el nmero es negativo s = 1, la parte fraccionaria de la mantisaes f = 1 y el exponente real es n = 2, el exponente sesgado es c = 125 =(01111101)2. La representacin de y = 0.375 en el formato de precisinsimple es:

    1 01111101 10000000000000000000000

    Signo del nmero Exponente Parte fraccionaria f de la mantisa

    En el formato de precisin doble de (64 bits), el primer bit est reservadopara el signo del nmero; los 11 bits siguientes se usan para almacenar elexponente sesgado, y los 52 bits restantes se usan para almacenar la mantisaf . El sesgo b que se usa es 1023. En la gura 1.3 se muestra la correspondenciaentre el valor real del exponente n y el valor sesgado del exponente c.Por ejemplo, el nmero real que representa el formato de precisin doble

    (64 bits).

    7

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    - 1023 0 1024

    204710230

    (Valor real del exponente n)

    (Valor del exponente sesgado calmacenado en el formato)

    Figura 1.3: Correspondencia entre el valor real y el valor sesgado del exponente

    0 10000001001 10011000. . . 0

    Signo del nmero Exponente Parte fraccionaria f de la mantisa

    Corresponde a un nmero positivo, el valor del exponente sesgado es

    c = (10000001001)2 = 1033

    luego el exponente real es n = c b, n = 1033 1023 = 10 y la partefraccionaria de la mantisa es f = 10011. Por lo tanto el nmero que representaes:

    (1.10011)2 210 = (1 20 + 1 21 + 0 22 + 0 23 + 1 24 + 1 25) 210= 210 + 29 + 26 + 25

    = 1632

    Los nmeros que representa una mquina estn dentro de un rango nu-

    mrico que depende del formato que esta utilice (ya que existen restricciones

    para la mantisa y el exponente, impuestas por la longitud de palabra), esto

    quiere decir que no todo nmero real se puede representar. Para un formato

    de precisin simple (32 bits) el mximo nmero positivo (Mnp) es aproxima-damente 3 1038 y el mnimo nmero positivo (mnp) es aproximadamente1038. El mnimo nmero negativo (mnn) es 3 1038 y el mximo nmeronegativo (Mnn) es 3 1038. En la Figura 1.4 se ilustran los intervalos denmeros representables en el formato de precisin simple.

    Cuando el nmero que se quiere representar es 0, se iguala a 0 cada uno delos 31 ltimos bits, de modo que el esquema descrito en la ecuacin (1.1) seomite en este caso. El bit de signo puede ser 0 1. La magnitud ms pequeadiferente de 0 que se puede almacenar es limitada por esta excepcin y es2126 1038 [1].

    8

  • Anlisis Numrico con MATLAB

    Figura 1.4: Intervalos de nmeros representables

    Cuando se hacen clculos en una mquina que usa un formato de pre-

    cisin simple y la magnitud del nmero resultante es menor que 1038 seproduce un subdesbordamiento o subujo (underow) y suele drsele el va-

    lor de cero; los nmeros que tengan una magnitud mayor a 31038 producenun desbordamiento o sobreujo (overow) y los clculos se interrumpen. En

    la gura 1.5 se ilustran los intervalos donde ocurre un overow o underow.

    Figura 1.5: Overow o underow

    El rango numrico para una mquina que usa un formato de precisin

    doble (64 bits) comprende nmeros cuya magnitud est entre 10308 y 10308.Los nmeros en una mquina no estn uniformemente distribuidos; ade-

    ms no todo nmero real que se encuentre en el rango numrico de la mquina

    se puede representar exactamente.

    Por ejemplo el nmero 39.9, tiene una mantisa que es una sucesin binariainnitamente larga (39.9 = 1.0011111100 25) que se debe reducir a 23bits (en precisin simple) para poder almacenarlo.

    El mtodo de reduccin dictado por la norma IEEE es el redondeo es-

    tadstico en el que se redondea hacia arriba si el valor ms all del bit 23de f excede a 224, se redondea hacia abajo si es menor que 224, y se re-dondea al siguiente valor par o impar si es exactamente 224. Para 39.9,

    9

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    fl(39.9) = 1.00111111001100110011010 25 se redonde hacia arriba. Elvalor del nmero almacenado es 39.90000152587890625 [1].Para ilustrar esta situacin considere una mquina que maneja nmeros

    de la forma:

    1 d1d2 2n donde n = 1, 0, 1.Los nmeros positivos que maneja esta mquina son:

    1.00 21 = (1 20 + 0 21 + 0 22) 21 = 0.51.01 21 = 0.6251.10 21 = 0.751.11 21 = 0.875

    1.00 20 = 11.01 20 = 1.251.10 20 = 1.51.11 20 = 1.751.00 21 = 21.01 21 = 2.51.10 21 = 31.11 21 = 3.5

    Observe que a medida que los nmeros se alejan de cero la distancia entre

    ellos aumenta; para el primer grupo la distancia es 0.125, para el segundogrupo es de 0.25 y para el tercer grupo es de 0.5.El rango numrico de la mquina que se est considerando se encuentra

    entre 0.5 y 3.5 para nmeros positivos, y entre 3.5 y 0.5 para nmerosnegativos. Observe que no todos los nmeros reales que se encuentran en el

    intervalo cerrado [0.5, 3.5] se pueden representar en esta mquina, por ejem-plo el nmero real 2.1 se almacenara como 2 (por qu?).En general en el sistema numrico de una mquina hay huecos o discontinui-

    dades.

    En la recta real, dado cualquier nmero real no existe el siguiente nmero

    real ms pequeo ni el siguiente nmero ms grande; pero en el sistema

    numrico de una mquina si existe. Para ilustrar esta situacin considere el

    nmero de una mquina de precisin simple

    El nmero es positivo, el exponente sesgado es (10001111)2 = 143, el

    10

  • Anlisis Numrico con MATLAB

    0 10001111 10010000000000000000001

    exponente real es 16 y la mantisa es: (1.100100000000000000000001)2. Elnmero que representa la mquina es:

    (1.100100000000000000000001)2 216 = 102400.0078125

    El siguiente nmero ms grande en la mquina se halla sumando 223 ala mantisa (o un 1 al ltimo dgito de la mantisa por qu?)

    1.10010000000000000000001

    + 1

    1.10010000000000000000010

    Luego, el nmero siguiente ms grande en la mquina es:

    (1.1001 . . . 010)2 216 = (1 20 + 1 21 + 1 24 + 1 222) 216= 102400.015625

    El siguiente nmero ms pequeo en la mquina se halla restando 223 ala mantisa,

    1.10010000000000000000001

    11.10010000000000000000000

    El nmero siguiente ms pequeo en la mquina es:

    (1.10010 . . . . . . 0)2 216 = 102400En la gura 1.6, x es el nmero y xp y xg denotan respectivamente elsiguiente nmero ms pequeo y el siguiente nmero ms grande.

    Se observa que el nmero original de la mquina no slo representa a 102400.0078125sino a muchos nmeros reales que se hallen entre este nmero y sus nmeros

    ms cercanos. En otras palabras el nmero original de la mquina representa

    cualquier nmero real en el intervalo [102400, 102400.015625). En MATLABla funcin eps representa la distancia de 1 al siguiente nmero en punto

    11

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    Figura 1.6: Overow o underow

    otante. En el formato IEEE el valor de eps es: 252 y el valor decimalaproximado es: 2.2204 1016.Como se dijo anteriormente, MATLAB usa el sistema punto-otante IEEE-

    64 bits para representar todo nmero [9]. S x = 230, r1 = 222, r2 = 223 yconstruimos una sentencia logica de igualdad a x entre; x + r1 y x + r2,MATLAB asumira que x 6= x+ r1 pero x = x+ r2.Por Qu?

    1.2. Aritmtica de precisin nita

    La aritmtica de precisin nita signica que los clculos se hacen con un

    nmero constante de dgitos, as por ejemplo: si se quiere sumar x = 12.16y z = 8.7243 usando aritmtica de corte a 3 dgitos, el resultado es x + z =12.1 + 8.72 = 20.8; ahora si x y z se suman usando aritmtica de redondeoa tres dgitos, el resultado es x + z = 12.2 + 8.72 = 20.9. Observe que elresultado que se obtiene en ambos casos es una aproximacin al valor exacto

    x+ z = 20.8843.En general, cuando se usa aritmtica a k dgitos lo primero que se hacees escribir los nmeros en la forma:

    x = 0 d1d2d3 . . . dkdk+1dk+2 . . . 10n, d1 6= 0despus se aproxima x por

    fl(x) = 0 d1d2d3 . . . dk 10n

    Si se usa corte y redondeo, x se aproxima por

    fl(x) = 0 d1d2d3 . . . k 10n

    donde k = dk si dk+1 es 0, 1, 2, 3, 4 o k = dk + 1 si dk+1 es 5, 6, 7, 8, 9.

    12

  • Anlisis Numrico con MATLAB

    Ejemplo 1.2.1. El nmero 22/7 tiene una expansin decimal de la forma:

    22

    7= 3.142857 = 0.3142857 101

    La representacin de punto otante de

    227usando corte a 4 dgitos es

    fl

    (22

    7

    )= 0.3142 101 = 3.142

    Si se usa redondeo a 4 dgitos

    fl

    (22

    7

    )= 0.3143 101 = 3.143

    Observe que el cuarto dgito ahora es 3 y no 2, esto se debe a que el quintodgito en la expansin de 22/7 es 8 y como 8 es mayor que 5 se le suma 1 alcuarto dgito.

    Ejemplo 1.2.2. Escribir el nmero x = 148.17 en la forma de punto otanteusando corte y redondeo a 4, 3 y 2 dgitos.

    x = 148.17 = 0.14817 103

    corte redondeo

    4 dgitos fl(x) = 0.1481 103 = 148.1 fl(x) = 0.1482 103 = 148.23 dgitos fl(x) = 0.148 103 = 148 fl(x) = 0.148 103 = 1482 dgitos fl(x) = 0.14 103 = 140 fl(x) = 0.15 103 = 150El error que resulta al reemplazar un nmero cualquiera x por su forma depunto otante fl(x) se conoce como error de redondeo , independientementede si se aplica corte o redondeo para hallar la forma de punto otante fl(x).A continuacin se dene el error absoluto y el error relativo . Si x es unaaproximacin de x entonces el error absoluto es |x x | y el error relativoes

    x xx, x 6= 0.Ejemplo 1.2.3. Error absoluto y error relativo para varios x y x

    Error absoluto Error relativo

    x = 104 x = 103 1 0.009615384x = 1.04 x = 1.03 0.01 0.009615384x = 0.0104 x = 0.0103 0.0001 0.009615384

    13

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    Observe que el error relativo es el mismo en los tres casos, pero el error

    absoluto es distinto en cada caso. Es aconsejable como una medida de preci-

    sin trabajar con el error relativo ya que el error absoluto puede ser engaoso.

    Un error de slo un metro al determinar la distancia entre la tierra y Jpiter

    sera algo asombroso, pero no sera algo aceptable que un cirujano cometiera

    un error de esa magnitud al efectuar una incisin [4].

    Ejemplo 1.2.4. Si fl(x) es una aproximacin de x con corte a k dgitos.Demuestre que el error relativo que se comete al reemplazar x por fl(x) estacotado por 10k+1.

    Suponga que x = 0 d1d2 dkdk+1dk+2 10n, entonces fl(x) = 0 d1d2 dk 10n

    |x fl(x)|x

    =

    0 d1d2 dkdk+1dk+2 10n 0 d1d2 . . . dk 10n0 d1d2 dkdk+1dk+2 10n

    =

    0.00 dk+1dk+2 0 d1d2 dkdk+1dk+2 . . .

    =

    0 dk+1dk+2 . . . 10k0 d1d2 dkdk+1dk+2 . . . 6 10.1 10k = 10 10k = 10k+1Luego x fl(x)x

    6 10k+1(La desigualdad es porque una cota para el numerador 0 dk+1dk+2 . . .

    10k es 0.99 . . . 10k 6 1 10k, y una fraccin alcanza su valor msgrande cuando el denominador es el ms pequeo, en este caso el valor ms

    pequeo para 0 d1d2 . . . dkdk+1dk+2 . . . es 0.1).

    Ejercicio 1. Demuestre que el error relativo que se comete al reemplazar xpor (x) usando redondeo a k dgitos est acotado por 1/2 10k+1.Sugerencia: se deben considerar dos casos:

    Si dk+1 < 5 entonces fl(x) = 0 d1d2 . . . dk 10n.Si dk+1 5 entonces fl(x) = 0 d1d2 . . . dk 10n + 10nk.

    14

  • Anlisis Numrico con MATLAB

    Denicin 1.2. Se dice que el nmero x aproxima a x con t dgitos (o cifras)signicativos, si t es el entero no negativo ms grande para el cual,x xx

    < 5 10tEjemplo 1.2.5. 1) Si x = 3.141592 y x = 3.1x xx

    = 0.013239147 = 1.3239147 102 < 5 102x aproxima a x con 2 cifras signicativas.

    2) Si x = 100000 y x = 99994x xx = 0.00006 = 0.6 104 < 5 104

    x aproxima a x con 4 cifras signicativas

    3) Si x = 0.000012 y x = 0.00004x xx = 2.3 < 5 100

    x aproxima a x sin cifras signicativas

    4) Si x = 0.000012 y x = 0.00001x xx = 0.16 = 1.6 101 < 5 101

    x aproxima a x con 1 cifra signicativa

    1.3. Arimtica en una Mquina

    Para analizar los errores que surgen al efectuar clculos en una mquina

    debido a la limitante de la longitud de palabra (precisin simple, precisin

    doble etc.) se supondr una mquina que opera en decimal y trabaja arit-

    mtica a 5 dgitos usando redondeo. Si fl(x) y fl(z) son las representaciones

    15

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    para x y z, y adems , , y denotan las operaciones suma, resta,multiplicacin y divisin en la mquina entonces:

    x z = fl(fl(x) + fl(z))x z = fl(fl(x) fl(z))x z = fl(fl(x) fl(z))x z = fl(fl(x) fl(z))

    Ejemplo 1.3.1. Para x = 2/3 = 0.66666 100, fl(x) = 0.66667 100 =0.66667

    z = 22/7 = 0.3142857142 101, f l(z) = 0.31429 101 = 3.1429

    x z = fl(0.66667 + 3.1429) = fl(3.80957) = 3.8096 = 0.38096 101x z = fl(0.66667 3.1429) = fl(2.47623) = 2.4762 = 0.24762 101x z = fl(0.66667 3.1429) = fl(2.095277143) = 2.0953 = 0.20953 101x z = fl(0.66667 3.1429) = fl(0.21211938) = 0.21212 = 0.21212 100

    En la tabla siguiente se muestran los valores de las operaciones en la

    mquina, los valores reales y el error relativo en cada operacin.

    Operacin Resultados

    en la mqui-

    na

    Valor real Error relati-

    vo

    x z 3.8096 80/21 0.200 104x z 2.4762 52/21 0.385 105x z 2.0953 44/21 0.295 104x z 0.21212 7/33 0.571 105

    Como el error relativo ms grande en las operaciones es 0.295 104 losresultados tienen 5 dgitos signicativos ya que 0.295104 = 2.95105 z, y

    x =0 d1d2d3 dpdp+1dp+2 dkdk+1 10nz =0 d1d2d3 dpp+1p+2 kk+1 10n

    si se utiliza una mquina decimal que usa una mantisa a k dgitos (corte)entonces

    fl(x) =0 d1d2d3 dpdp+1dp+2 dk 10nfl(z) =0 d1d2d3 dpp+1p+2 k 10n

    Ahora,

    fl(x) fl(z) = 0.000 0 p cifras

    p+1p+2 k k - p cifras

    10n

    x y = fl(fl(x) fl(z)) = 0. p+1 p+2k k - p cifras

    10np

    17

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    Por lo tanto el nmero que se usa para representar a x z tendr solamentek p cifras signicativas.La prdida de dgitos signicativos debido al error de redondeo a veces

    se puede evitar reformulando el problema o reordenando los clculos o reem-

    plazando en el caso de haber una funcin por un polinomio de Taylor.

    Ejemplo 1.4.1. El enunciado

    x2 + 1 1 implica perdida de cifras signi-cativas para valores de x cercanos a 0 ya que

    x2 + 1 1 para x 0 , y serestaran dos nmeros casi iguales.

    Si se evala en x = 0.1 y se usa aritmtica a 6 dgitos usando redondeose tiene:

    x2 = 0.01 = 0.1 101x2 + 1 = 0.1 101 + 1 = 1.01 = 0.101 101x2 + 1 = 1.004987562 = 0.1004987562 101x2 + 1 1.00499 (redondeo a 6 dgitos)

    x2 + 1 1 1.00499 1x2 + 1 1 0.00499 = 0.499 102.Para evitar la prdida de dgitos signicativos el enunciadox2 + 1 1 se puede presentar tambin como

    x2 + 1 1 =

    (x2 + 1 1

    ) (x2 + 1 + 1)(x2 + 1 + 1

    ) = x2x2 + 1 + 1

    x2x2 + 1 + 1

    0.011.00499 + 1

    =0.01

    2.00499= 0.498756 102

    (redondeo a 6 dgitos)

    El valor real de

    x2 + 1 1 en x = 0.1 es 0.498756211 102.El error relativo con la expresin

    x2 + 1 1 es:

    4.88793913 104 < 5 104. (cuatro cifras signicativas).El error relativo con la expresin

    x2x2 + 1 1 es:

    4.230523758 107 < 5 107 (siete cifras signicativas).Ejemplo 1.4.2. El valor del polinomio 3.5x2 4.9x evaluado en x = 5.8 es89.32.

    Si se usa aritmtica de 3 dgitos redondeo, se tiene x2 33.6, 3.5x2 118,

    18

  • Anlisis Numrico con MATLAB

    4.9x 28.4. Luego 3.5x24.9x 89.6, el error relativo es aproximadamente3.135 103.Si el polinomio se escribe como x(3.5x 4.9) y se evala en x = 5.8 usandoaritmtica de 3 dgitos y redondeo entonces, 3.5x 20.3, 3.5x 4.9 15.4asi tenemos que x(3.5x 4.9) 89.3En este caso el error relativo es 0 (no siempre es as). El error se ha reduci-

    do porque en la segunda parte se ha disminuido el nmero de clculos, en la

    primera se necesitan 3 multiplicaciones y una resta. En la segunda slo dos

    multiplicaciones y una resta.

    En general los polinomios deben expresarse en forma anidada antes de reali-

    zar una evaluacin, porque as se disminuye al mnimo la cantidad de clculos

    aritmticos.

    Si el polinomio ax3+bx2+cx+d se expresa como x[x(ax+b)+c]+d Cuntasoperaciones necesita cada expresin para su evaluacin?

    Ejemplo 1.4.3. La cantidad

    14.0000000024 2 presenta prdida de cifrassignicativas por que se restan nmeros casi iguales.

    Una forma alternativa para aproximar esta cantidad es la siguiente.

    El polinomio de Taylor de grado 1 para la funcin f(x) =x alrededor de

    x0 = 4 es:

    P1 (x) =f (x0) + f (x0) (x x0)

    P1 (x) =2 +1

    4(x 4)Ahora se puede aproximar f(x) por P1(x),y evaluar en x = 4.0000000024

    f(x) P1 (x)x 2 + 1

    4(x 4)Evaluando en x tenemos

    4.0000000024 2 + 14

    (4.0000000024 4) = 2 + 14

    (0.0000000024)

    = 2 +1

    4

    (24 1010)

    = 2 + 6 1010Luego

    14.0000000024 2

    1

    2 + 6 1010 2 =1

    6 1010 =1

    6 1010

    19

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    Los tres primeros dgitos signicativos son 1.67 109.Encuentre en diferentes calculadoras o en un computador el nmero igual

    a

    14.0000000024 2 Qu puede concluir?

    1.5. Ejercicios

    1. Escriba los nmeros 275.5, 79.625 y 22 + 210 en base 2, 8 y 16.

    2. Halle en decimal (16.1)8, (1C.AF )16, (1.0011)2, (1001.01)2.

    3. Escriba los nmeros del ejercicio 1 en la notacin cientca en el sistema

    binario.

    4. Veamos cmo hallar el nmero racional en base 10 representada por el

    nmero binario (0.01)2

    Escribindolo en forma desarrollada:

    (0.01)2 = (0 21) + (1 22) + (0 23) + (1 24) +

    =k=1

    (22)k = 1+k=0

    (22)k

    = 1 + 11 1/4 = 1 + 4/3 = 1/3.

    Es una serie geomtrica de razn 1/4 y primer trmino 1.

    Muestre que (0.0011)2 =15

    = 0.2 y que (0.001)2 =17.

    5. Represente los nmeros 7.2 y 8/7 en un formato de precisin simple(use corte) (Sugerencia: utilice el resultado del ejercicio 4)

    6. Obtenga el equivalente decimal de los nmeros dados en los siguientes

    formatos

    a) Precisin simple

    0 10011111 01110000000000000000101

    b) Precisin doble

    20

  • Anlisis Numrico con MATLAB

    1 01111111 11000000000000000000000

    0 00001111111 100000000 . . . 00000000011

    7. Encuentre en decimal el nmero siguiente y el anterior a los nmeros

    del ejercicio 6 a).

    8. Demuestre que 4/5 no se puede representar de manera exacta en unamquina que tiene un formato de precisin simple. Cul es el nmero

    de mquina ms cercano?.

    9. Es 2/3 (1 224) un nmero que se puede representar de manera exac-ta en un formato de precisin simple?

    10. Cules de los siguientes nmeros se pueden representar exactamente

    en un formato de precisin simple?

    1040, 21, 1/5, 1/3 y 1/256.

    11. Sea x = 216 + 28 + 29 + 210. Si x denota el nmero de mquinams cercano a x en un formato de precisin simple Cul es el valor de|x x|?.

    12. Convierta los siguientes nmeros binarios en su forma decimal.

    a) 1.0110101

    b) 11.0010010001

    13. Los nmeros del ejercicio anterior son aproximadamente

    2 y pi. Halleel error de dichas aproximaciones; es decir, halle

    a)

    2 1.0110101 (use 2=1.41421356237309 . . . )b) pi 11.0010010001 (use pi=3.14159265358979 . . . )

    14. La serie innita 1 + 12

    + 13

    + 14. . . es divergente. Escriba un programaque evale esta suma. Es divergente la serie de la computadora? En

    caso negativo, por qu no?

    21

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    15. El trmino epsilon de la mquina es el menor valor positivo tal que la

    mquina es capaz de distinguir entre (1 + ) y 1. Este valor dependedel hardware y de cmo el compilador de un lenguaje de programacin

    almacena la mantisa de un nmero de punto otante. El epsilon de la

    mquina para una mantisa normalizada (1 f) donde f se almacena enubicaciones de n bits es igual a 2n. Para una mantisa no normalizada(1f) que se almacena en ubicaciones de n bits, el epsilon de la mquinaes 21n. El error al almacenar una cantidad x tiene una cota superior |x|. (Akai, p. 60-61).Determine el epsilon de su mquina.16. El epsilon de la mquina (ver el problema 15) permite estimar una

    cota superior para el error en una operacin. Sea f(x, y)el resultadoverdadero de una operacin sobre x y y y sea el epsilon de la mquina.El error E al calcular y almacenar f(x, y) est acotado por

    E 6 B = |f (x, y) |+ (1 + )(xfx

    + yfy)Los trminos con las derivadas parciales explican los errores en la ope-

    racin debidos a representaciones inexactas de x y y; la multiplicacinpor (1 + ) y la adicin de |f(x, y)| explica los errores al almacenarel resultado.

    Con el resultado del problema 15 (o un valor cticio de 10

    7para

    ), estimar la cota superior B para el error en z en las operacionessiguientes. (Akai, p. 61).

    a) z = 1.897 + 9.635

    b) z = 4.058 13.27c) z = 2.345 19.28d) z = 19.28 2.34517. Aplique la aritmtica de redondeo a tres dgitos para realizar los si-

    guientes clculos. Calcule los errores absolutos y relativos con el valor

    exacto determinado por lo menos a 5 dgitos.

    a) (121 0.327) 119

    b)

    1314 6

    7

    2e 5.422

  • Anlisis Numrico con MATLAB

    c)

    pi 227

    117

    18. Repita el ejercicio anterior aplicando la aritmtica de corte a 3 dgitos.

    19. Sea f(x) =x cosx senxx senxa) Encuentre lim

    x 0f(x)

    b) Aplique la aritmtica de redondeo a cuatro dgitos para evaluar

    f(0.1).

    c) Reemplace las funciones trigonomtricas con su tercer polinomio

    de Maclaurin y repita la parte b).

    d) El valor real es f(0.1) = 1.99899998. Encuentre el error relativode los valores obtenidos en las partes b) y c).

    20. Suponga que los puntos (x0, y0) y (x1, y1) se encuentran en una rectay que y1 6= y0. Se cuenta con dos frmulas para hallar la interseccin xde la lnea:

    x =x0y1 x1y0y1 yo x = x0

    (x1 x0)y0y1 yo

    a) Demuestre que ambas frmulas son algebraicamente correctas.

    b) Use los datos (x0, y0) =(1.31, 3.24), (x1, y1) =(1.93, 4.26) y laaritmtica de redondeo a tres dgitos para calcular la interseccin

    x en ambas frmulas Cul de los mtodos es mejor? (Burden, p.28).

    21. El polinomio de Taylor de grado n para f(x) = ex esni=0

    xi

    i!.

    Use este polinomio y la aritmtica de corte a tres dgitos para encontrar

    una aproximacin a e5 mediante cada uno de los siguientes mtodos.

    a) e

    5 9i=0

    (5)ii!

    =9i=0

    (1)i5ii!

    23

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    b) e5 = 1/e5 19i=0

    (5)i

    i!

    Cul frmula da mayor exactitud?.

    22. Sugiera cmo se podra evitar la prdida de dgitos signicativos en los

    siguientes clculos si x 0:a)

    x2 + 1 xb) x3(senx x)c) (cosx ex)/ senxd) senhx tanhx23. Suponga que a 6= 0 y que b24ac > 0 y conside la ecuacin ax2+bx+c =

    0. Sus races se pueden hallar mediante la conocida frmula:

    a)

    x1 = (b+b2 4ac)/(2a) x2 =(b

    b2 4ac)/(2a)

    Pruebe que estas races pueden calcularse mediante las frmulas

    equivalentes

    b)

    b) x1 = (2c)/(b+b2 4ac

    )x2 = (2c)/

    (bb2 4ac

    )Indicacin: Racionalice el numerador.

    Observacin: Cuando

    b2 4ac |b|, hay que proceder con cuidadopara evitar la prdida de precisin por cancelacin. Si b > 0, entoncesx1 debera ser calculado con la segunda frmula y x2 con la primerfrmula; mientras si b < 0, entonces x1 debera ser calculado usando laprimera frmula y x2 debera ser calculado usando la segunda.

    24. Use la frmula adecuada para calcular x1 y x2, tal como se explica enel anterior ejercicio, para hallar las races de las siguientes ecuaciones

    de segundo grado. (Use aritmtica de corte a 6 dgitos).

    24

  • Anlisis Numrico con MATLAB

    a) x2 1000.001x+ 1 = 0b) x2 + 10000.0001x+ 1 = 0

    25. Determine los tres primeros dgitos signicativos de los nmeros

    a) [(8.0000000025)1/3 2]1Sugerencia: Utilice serie de Taylor para aproximar (8 + x)1/3

    b)

    1015

    1015 ln(1 + 1015) 1Sugerencia: Utilice la serie de Taylor para aproximar ln(1 + x)

    c)

    0.13 1015cos(1010) 1 use radianes.Sugerencia: Utilice serie de Taylor para aproximar cosx

    25

  • CAPITULO 1. REPRESENTACIONES DE NMEROS Y ERRORES

    26

  • Capitulo2Ceros de Funciones

    En este capitulo se estudia el problema de encontrar los valores que hacen

    que una funcin de una variable se anule (Figura 2.1), es decir; dada una

    funcin f : R R, debemos encontrar los valores de x para los cualesf(x) = 0. Dada una funcin f , una raz o cero de f , es un nmero c tal quef(c) = 0.

    Figura 2.1: Puntos de corte con el eje X para la funcin f(x)

    A continuacin se consideran varios de los mtodos clasicos para resolver

    27

  • CAPITULO 2. CEROS DE FUNCIONES

    este problema.

    2.1. Mtodo de Biseccin

    Si f es una funcin continua sobre el intervalo [a, b] y si f(a) f(b) < 0,entonces f debe tener por lo menos un cero o raz en (a, b) (Figura 2.2).

    a c b

    f(a)

    [ |

    f(b)

    ]

    f(a)f(b)

  • Anlisis Numrico con MATLAB

    Si f(a)f(c) > 0, entonces f(c)f(b) < 0 y en este caso se renombra a ccomo a.

    En ambos casos se ha generado un nuevo intervalo que contiene un cero

    de f , y el proceso puede repetirse.Lo anterior genera las sucesiones {an}, {bn} y {cn} (gura 2.3). Se dejacomo ejercicio para el lector demostrar que las dos primeras son monotonas

    crecientes y decrecientes respectivamente, adems se encuentran acotadas, lo

    cual garantiza la convergencia de ambas sucesiones.

    Figura 2.3: Representacin graca sucesiones generadas en el mtodo de Bi-

    seccin

    Ejemplo 2.1.1. La funcin f(x) = x sinx 1 tiene un cero en el intervalo[0, 2], porque f(0) = 1 y f(2) = 0.818595.

    29

  • CAPITULO 2. CEROS DE FUNCIONES

    Figura 2.4: Graca de la funcin f(x) = x sinx 1

    Si se denota a1 = a = 0, b1 = b = 2 y c1 = (a1 + b1)/2, entonces c1 = 1Ahora f(c1) = f(1) = 0.158529, luego la funcin tiene un cero en elintervalo [c1, b1] = [1, 2]; se renombra a2 = c1 y b2 = b1.El nuevo punto medio es c2 = (a2 + b2)/2 = (1 + 2)/2 = 1.5 y f(c2) =

    f(1.5) = 0.496242Puesto que f(1) = 0.158529 y f(1.5) = 0.496242, el cero esta en elintervalo [a2, c2] = [1, 1.5] y se renombra como [a3, b3]En la tabla de abajo se muestran las primeras nueve iteraciones del mtodo

    de biseccin para f(x) = x senx 1 con a = 0 y b = 2.Finalmente tenemos que c = 1.114157141 es el cero de f(x) = x senx1.

    Para detener el mtodo de biseccin y dar una aproximacin del cero de

    una funcin se pueden usar varios criterios, los cuales son conocidos como

    criterios de parada.

    Uno de los criterios de parada consiste en examinar si |f(cn)| < , donde esuna tolerancia previamente establecida (por ejemplo = 103). Otro criterioque se puede utilizar es examinar s |bn an| /2 < .Tambin se puede usar como criterio de parada el error relativo entre dos

    aproximaciones del cero de f , |(cn cn1)/cn| < .En el ejemplo anterior si = 0.005, el procedimiento se parara en laoctava iteracin con el criterio |f(cn)| < , ya que:

    30

  • Anlisis Numrico con MATLAB

    n Extremo

    izquierdo

    an

    Extremo

    derecho

    bn

    Punto

    medio

    cn

    Valor de la

    funcin

    f(cn)

    Error Relativo

    |(cn cn1)/(cn)|

    1 0 2 1 0.158529

    2 1 2 1.5 0.496242 0.333333

    3 1 1.5 1.25 0.186231 0.2

    4 1 1.25 1.125 0.015051 0.111111

    5 1 1.125 1.0625 -0.071827 0.0588235

    6 1.0625 1.125 1.09375 -0.028362 0.0285714

    7 1.09375 1.125 1.109375 -0.006643 0.0140845

    8 1.1093750 1.125 1.1171875 0.004208 0.0069930

    9 1.1093750 1.1171875 1.11328125 -0.001216 0.0035087

    |f(c8)| = |f(1.1171875)| = 0.004208 < = 0.005

    pero si se usa el criterio |(cn cn1)/cn| < , el procedimiento se detendraen la novena iteracin porque:

    c9 c8c9 = 1.11328125 1.11718751.11328125

    = 0.0035087 < = 0.005Cuando se generan aproximaciones por medio de una computadora, se

    recomienda jar un nmero mximo de iteraciones N que debera realizar lamquina. Esto con el n de contar con un resguardo para evitar la posibilidad

    de que el proceso de clculo caiga en un ciclo innito cuando la sucesin

    diverge (o cuando el programa no esta codicado correctamente).

    2.1.1. Convergencia

    Teorema 2.1 (Convergencia Biseccin). Supongamos que f es continua en[a, b] y f(a)f(b) < 0. Sea {cn}n=0 la sucesin de puntos medios de los in-tervalos generados por el mtodo de biseccin. Entonces {cn} converge a unpunto c [a, b] tal que f(c) = 0 y, adems

    |cn c| 6 b a2n

    , n > 1

    31

  • CAPITULO 2. CEROS DE FUNCIONES

    Demostracin. El teorema del valor intermedio garantiza la existencia de

    c [a, b] tal que f(c) = 0. Por construccin del mtodo, para todo n > 1, setiene que

    bn an = b a2n1(2.1)

    Adems c esta en cada intervalo (an, bn). La distancia entre cn y c no puedesuperar la mitad de la longitud de cada intervalo, es decir

    |c cn| 6 bn an2

    De (2.1) se tiene que

    |c cn| 6ba2n1

    2=b a

    2n(2.2)

    Aplicando limite cuando n, en la desigualdad anterior se tiene quela sucesin de puntos medios converge a la raz c.

    q

    Utilizando (2.1) se puede demostrar que las sucesiones an y bn convergena c.De acuerdo con el teorema anterior, en el mtodo de biseccin es posible

    determinar cuantas iteraciones son necesarias para aproximar el cero de una

    funcin con una exactitud especca, ya que el error despus de n iteracioneses |c cn| 6 (b a)/2n.Ejemplo 2.1.2. Para determinar el nmero de iteraciones necesarias para

    aproximar el cero de f(x) = x senx 1 con una exactitud de 102 en elintervalo [0, 2], se debe hallar un nmero n tal que:

    |c cn| 6 b a2n

    < 102

    Es decir (2 0)/(2n) < 102, n > 7.643 . . .. Se necesitan aproximada-mente unas 8 iteraciones.Observe en la tabla de aproximaciones que el cero de f(x) = x senx 1es c = 1.114157141 y c8 = 1.1171875.El error real es |c c8| = 0.003030359 3 103. El error real es menorque el error dado por el teorema; en la mayora de casos la cota de error

    dada por el teorema es mayor que el nmero de iteraciones que realmente se

    necesitan. Para este ejemplo, |c c7| = 0.004782141 < 102 = 0.01.

    32

  • Anlisis Numrico con MATLAB

    El mtodo de biseccin tiene la desventaja que es lento en cuanto a con-

    vergencia, es decir que se necesita un n grande para que |c cn| sea pequeo.Otros mtodos requieren menos iteraciones para alcanzar la misma exacti-

    tud, pero entonces no siempre se conoce una cota para la precisin.

    El mtodo de biseccin suele recomendarse para encontrar un valor apro-

    ximado del cero de una funcin, y luego este valor se rena por medio de

    mtodos ms ecaces. La razn es porque la mayora de los otros mtodos

    para encontrar ceros de funciones requieren un valor inicial cerca de un cero;

    al carecer de dicho valor, pueden fallar por completo.

    Resolver una ecuacin en una variable como por ejemplo: xex = 1 esequivalente a resolver la ecuacin xex 1 = 0, o a encontrar el cero dela funcin f(x) = xex 1. Para aproximar el cero de f o la raz de laecuacin, se puede hacer la grca de f y determinar un intervalo donde ftenga un cero. Tambin se pueden probar nmeros a y b de tal manera quef(a)f(b) < 0. Para el caso de f(x) = xex 1, por ejemplo, f(0) = 1,f(1) = e 1 1.71828 entonces f tiene un cero en el intervalo [0, 1]. Pero sitomamos valores no apropiados para a y b, es posible que el criterio que seconstruyo falle y no se detecte la raiz que se busca (Figura 2.5)

    Figura 2.5: Intervalo de busqueda erroneo para la funcin f(x) = xex 1

    Cuando hay races de mltiplicidad diferente de 1, el mtodo de biseccin

    33

  • CAPITULO 2. CEROS DE FUNCIONES

    quiz no sea vlido, ya que la funcin podra no cambiar de signo en puntos

    situados a cualquier lado de sus races (Figura 2.6)

    Figura 2.6: Raices mltiples

    La grca es fundamental para aclarar la situacin. En este caso sera

    posible hallar los ceros o races trabajando con la derivada f (x), que es ceroen una raz multiple.

    A continuacin se da un codigo basico en MATLAB, que implementa el

    mtodo de Biseccin, Se deja como ejercicio para el lector, cambiar el codigo

    para que dada una tolerancia, calcule el nmero de iteraciones necesarias

    para que la aproximacin al cero, cumpla con la tolerancia (2.2).

    Algoritmo 1 (Algoritmo Biseccin). Dada una funcin continua f, dos n-

    meros a y b tales que, a 0.

    while (b-a)/2 > tol

    c=(a+b)/2;

    if f(c)==0

    a=c;

    b=c;

    end

    if sign(f(a))==sign(f(b))

    a=c;

    34

  • Anlisis Numrico con MATLAB

    else

    b=c;

    end

    end

    2.2. Mtodo de la Regula Falsi

    Supongamos que f(x) es continua en un intervalo [a, b] con f(a).f(b) < 0.El mtodo consiste en aproximar la grca de f(x) por una recta que une(a, f(a)) y (b, f(b)). El corte c de la recta con el eje X se usa para generardos subintervalos, [a, c] y [c, b], donde:

    c =b f(b)(

    b af(b) f(a)

    )=af(b) bf(a)f(b) f(a)

    Se escoge el intervalo que contenga la raz , examinando los productos;f(a)f(c) y f(c)f(b) y se repite el proceso anterior. La Figura 2.7 muestra laevolucin geometrica de las rectas secantes que se van generando. El mtodo

    anterior es conocido como mtodo de la Falsa posicin o Regula Falsi.

    35

  • CAPITULO 2. CEROS DE FUNCIONES

    !"# $%

    !! " "

    #$ %&'% ()&* # &+%,-.% &)'+&/)(%

    !

    "

    #

    $

    "! % "

    $

    ! "

    ! " # " $

    0 ! % 1(*$&')$'%2 3% *4'+%$%$ 5)& ,+&6

    ,)& (*$(57&+*$%& 87% %$ %5 ()&* 9: -%.*

    (*$

    & 1

    % !

    ;

    ,%%,-5)?) 5)& &%()$'%& -*. .%(')& @% ,%$*. -%$@+%$'% A)&') 87% ! 87%@%

    %$(%..)@) %$'.% @*& +'%.)@*& &7(%&+B*&2

    #&'% ,

  • Anlisis Numrico con MATLAB

    La siguiente rutina describe la iteracin basica del mtodo de la Regula

    Falsi. El valor absoluto de la funcin evaluada en cada iteracion, es utilizado

    como criterio de parada. Se deja como ejercicio para el lector la implemen-

    tacin de otros criterios de parada, y codigos que permitan visualizar la

    funcin.

    Algoritmo 2 (Algoritmo Regula Falsi). Dada una funcin f dos veces dife-

    renciable, dos nmeros a y b tales que, a 0.

    c=a;

    while abs(f(c)) > tol

    c=(a*f(b)-b*f(a))/(f(b)-f(a));

    if f(c)==0

    a=c;

    b=c;

    end

    if sign(f(a))==sign(f(b))

    a=c;

    else

    b=c;

    end

    end

    2.3. Mtodo de Newton

    El mtodo de Newton o tambin llamado mtodo de Newton-Raphson,

    es uno de los mtodos mas tiles y mejor conocido para aproximar el cero de

    una funcin.

    Suponga que c es un cero de f , es decir, f(c) = 0 y que x0 es unaaproximacin de c. El polinomio de Taylor de grado uno para f alrededor dex0 y su correspondiente residuo es:

    f(x) = f(x0) + f(x0)(x x0) +

    f (z)2

    (x x0)2 , (2.4)

    z esta entre x0 y x.

    37

  • CAPITULO 2. CEROS DE FUNCIONES

    Si en la ecuacin (2.4) se reemplaza x por c y usando el hecho que f(c) = 0,se obtiene:

    0 = f(x0) + f(x0)(c x0) +

    f (z)2

    (c x0)2 (2.5)

    si x0 est sucientemente cerca de c, entonces en el ltimo sumando de laecuacin (2.5) el trmino (c x0)2 ser pequeo, comparado con la suma delos dos primeros trminos.

    Si se desprecia este trmino se puede usar la expresin (2.5) para encontrar

    una aproximacin al cero de f .

    0 f(x0) + f (x0)(c x0) (2.6)

    Despejando c en la ecuacin (2.6), se obtiene:

    c x0 f(x0)/f (x0)

    El mtodo de Newton comienza con una aproximacin inicial x0 del cerode la funcin a partir de la cual se dene una sucesin {xn} de aproximacionesdenidas por:

    xn+1 = xn f(xn)

    f (xn), n > 0 (2.7)

    Desde un punto de vista geomtrico, lo que hace el mtodo de Newton

    es construir la recta tangente a la grca de f en un punto cercano x0 a cy encontrar el cero de la recta tangente, x1 ( gura 2.8). La aproximacinx2 es el cero de la recta tangente a la grca de f en el punto x1 y assucesivamente.

    38

  • Anlisis Numrico con MATLAB

    Figura 2.8: Interpretacin geomtrica

    Ejemplo 2.3.1. Para aproximar una solucin de la ecuacin 3x+sen x = ex,se puede tomar f(x) = 3x + senx ex. Observe que f(0) = 1 y f(1) =1.123189, segn el teorema del valor intermedio existe un cero de f en elintervalo [0, 1].

    Si se aplica el mtodo de Newton comenzando con x0 = 0 se tiene:

    f(x) = 3x+ senx exf(x) = 3 + cosx ex

    x1 = x0 f(x0)f (x0)

    = 0 (1)3

    =1

    3

    x2 = x1 f(x1)f (x1)

    =1

    3 0.068417728

    2.549344521= 0.360170713

    x3 = x2 f(x2)f (x2)

    = 0.360170713 6.2798651 104

    2.502262549= 0.33357967

    Para esta funcin |(x3 x2)/x3| = 6.96 104 < 103, |f(x3)| = 5.744108 < 107 y |x3 x2| = 2.50967 104 < 103.

    39

  • CAPITULO 2. CEROS DE FUNCIONES

    Los criterios de parada mencionados en el mtodo de biseccin tambin

    pueden ser utilizados en el mtodo de Newton. A continuacin se estudiara

    la convergencia, expandiendo f(x) alrededor de xn:

    f(x) = f(xn) + (x xn)f (xn) + (x xn)2

    2f(zn), zn (xn, x)

    Haciendo x = c y teniendo en cuenta que f(c) = 0 se tiene,

    0 = f(xn) + (c xn)f (xn) + (c xn)2

    2f(zn), zn (xn, c)

    0 =f(xn)

    f (xn)+ (c xn) + (c xn)2 f

    (zn)

    2f (xn)

    c = xn + f(xn)f (xn

    + (c xn)2 f(zn)

    2f (xn)

    c = (xn f(xn)

    f (xn)

    )+ (c xn)2 f

    (zn)

    2f (xn)

    Usando (2.7) se obtiene(xn f(xn)

    f (xn

    ) c = (xn c)2 f

    (zn)

    2f (xn)

    xn+1 c = (xn c)2 f(zn)

    2f (xn)

    S se dene el error en el paso n-esmo por: en = xn c, entonces

    en+1 = e2n

    (f(zn)

    2f (xn)

    ), zn (xn, c) (2.8)

    2.3.1. Convergencia

    Teorema 2.3 (Convergencia Newton). Sea f una funcin dos veces diferen-ciable en un intervalo alrededor de c con f(c) = 0 y f (c) 6= 0. Si x0 esta losucientemente cerca a c, la iteracin (2.7) del mtodo de Newton convergea c.

    40

  • Anlisis Numrico con MATLAB

    Demostracin. Considere un intervalo I = [c , c+ ], con > 0. Se toma

    M =1

    2maxxI

    f (x)f (x)Una condicin inicial x0 I tal que M |0| < 1. Usando (2.8) se tiene que

    |1| M |0|2 = M |0||0| < |0| luego x1 I, ya que:

    |1| < |x1 c| <

    < x1 c < + c < x1 < + cx1 [c , c+ ]Adems,

    M |1| M2|0|2 < 1M |1| (M |0|)2 < 1Suponga que xn I y M |n| < 1, entonces

    |n+1| M |n|2 = M |0||0| < |n| Por lo tanto xn+1 I y

    M |n+1| (M |n|)2 < 1 (2.9)Se tiene que xn I y M |n| < 1 para todo n. Adems, de (2.9) se tiene

    M |n+1| (M |0|)2n

    |n+1| 1M

    (M |0|)2n

    Al ser M |0| < 1, lmn n = 0 y por lo tanto xn c. Tomando limites en(2.8)

    lmn

    n+12n

    =f (c)2f (c)

    Por la continuidad de f y porque zn c cuando nq

    41

  • CAPITULO 2. CEROS DE FUNCIONES

    La convergencia del mtodo se puede garantizar, si

    M |x0 c| = M |0| < 1es decir, si

    |x0 c| < 112

    maxxIf (x)f (x) lo cual indica, que tan cerca debe estar x0 de la raz c. La estructura de lacondicin anterior, indica que el mtodo presentara problemas de convergen-

    cia, si una de las iteraciones se anula en la primera o segunda derivada de f .Ms adelante se trabajar un algunas ejemplos donde el mtodo de Newton

    no converge.

    Por otro lado, la relacin de los errores que se describe en (2.8), indica

    que cada error es proporcional a la segunda potencia del error previo. Es

    decir, que si se comienza con una aproximacin del cero de f con 1 dgitocorrecto, despus de una iteracin se tendra dos dgitos correctos; despus

    de dos iteraciones cuatro dgitos correctos; y despus de tres iteraciones ocho

    dgitos correctos, etc.

    Ejemplo 2.3.2. Halle una expresin para aproximar la raz cuadrada de un

    nmero R > 0. Use la expresin para aproximar

    5.

    x =R

    x2 = R

    x2 R = 0, x es la raz cuadrada de RSe puede aplicar el mtodo de Newton a la funcin f(x) = x2 R.

    xn+1 = xn f(xn)

    f (xn)

    xn+1 = xn x2n R

    2xn,

    xn+1 =1

    2

    (xn +

    R

    xn

    )

    Para aproximar

    5, se usa la frmula con R = 5 y si se toma x0 = 2entonces

    42

  • Anlisis Numrico con MATLAB

    x1 =1

    2

    (x0 +

    5

    x0

    )= 2.25

    x2 =1

    2

    (x1 +

    5

    x1

    )= 2.236111111 . . .

    x3 =1

    2

    (x2 +

    5

    x2

    )= 2.236067978 . . .

    en una calculadora

    5 = 2.236067977 . . .

    Existen funciones y puntos iniciales para los que el mtodo de Newton

    fracasa. La Figura 2.9 muestra una funcin en la que la grca tiene una

    forma especial y la cual genera que la sucesin entre en un ciclo innito, es

    decir, diverge.

    La Figura 2.10 muestra una funcin y una condicin inicial x0, que hace queel mtodo se indetermine. Porque divergen las iteraciones anteriores ?

    Figura 2.9: Divergencia mtodo de Newton.

    43

  • CAPITULO 2. CEROS DE FUNCIONES

    Figura 2.10: Divergencia mtodo de Newton.

    En el mtodo de Newton hay que evaluar dos funciones en cada iteracin,

    f(xn) y f(xn). Para algunas funciones f (xn) no es una expresin sencilla yse requieren ms operaciones aritmticas para evaluarla que para la funcin.

    Esto hace que el mtodo de Newton sea ms costoso, por ejemplo que el

    mtodo de biseccin, en el que en cada iteracin la funcin se evala una vez.

    La siguiente rutina describe la iteracin basica mtodo de Newton. El

    valor absoluto de la funcin evaluada en cada iteracion, es utilizado como

    criterio de parada. Se deja como ejercicio para el lector la implementacin de

    otros criterios de parada, y codigos que permitan visualizar las rectas que se

    van generando. Adems, es importante implementar algunas restriccin, ya

    que si la funcin no cumple con las condiciones de convergencia del mtodo,

    el denominador se puede indeterminar o se puede entrar en un ciclo innito.

    Algoritmo 3 (Algoritmo Newton). Dada una funcin f, su derivada g, una

    condicin inicial x0 y una tolerancia tol> 0.

    c=x0-(f(x0)/g(x0));

    44

  • Anlisis Numrico con MATLAB

    while abs(f(c))>tol

    x0=c;

    c=x0-x0-(f(x0)/g(x0));

    end

    2.4. Mtodo de la Secante

    El mtodo de la secante, es otro mtodo para aproximar el cero de una

    funcin en el que en cada iteracin se evala la funcin y no la derivada. A

    continuacin se presenta este mtodo.

    Utiliza la misma frmula del Mtodo de Newton:

    xn+1 = xn f(xn)

    f (xn)

    Pero en lugar de utilizar la derivada f (xn), este valor se aproxima por

    f (xn) f(xn) f(xn1)

    xn xn1

    Al reemplazar esta aproximacin de f(xn) en la frmula de Newton seobtiene:

    xn+1 = xn f(xn)(xn xn1)f(xn) f(xn1) n > 1, (2.10)

    Ya que el clculo de xn+1 requiere conocer xn y xn1, se debe dar alprincipio dos aproximaciones iniciales x0 y x1.

    La interpretacin geomtrica del mtodo de la secante es similar a la del

    mtodo de Newton. La recta tangente a la curva se reemplaza por una recta

    secante. El cero de f se aproxima por el cero de la recta secante a f , ( Figura(4.10)). Si x0 y x1 son las aproximaciones iniciales, la aproximacin x2 esla interseccin de la recta que une los puntos (x0, f(x0)) y (x1, f(x1)). Laaproximacin x3 es la interseccin de la recta que une los puntos (x1, f(x1))y (x2, f(x2)) y as sucesivamente.

    45

  • CAPITULO 2. CEROS DE FUNCIONES

    Figura 2.11: Interpretacin geomtrica del Mtodo de la secante.

    Ejemplo 2.4.1. Efecte tres iteraciones del mtodo de la secante para la

    funcin f(x) = x senx 1 con x0 = 1 y x1 = 2.

    x2 = x1 f(x1)(x1 x0)f(x1) f(x0)

    = 2 (2 sen 2 1)(2 1)(2 sen 2 1) (sen 1 1) = 1.162240449

    x3 = x2 f(x2)(x2 x1)f(x2) f(x1) = 1.236422098

    x4 = x3 f(x3)(x3 x2)f(x3) f(x2) = 1.113511445

    Para este caso f(x4) = 0.000896772969, ademas |f(x4)| < 0.0009.Este ejercicio se resolvi con el mtodo de biseccin en la seccin anterior

    y en la novena iteracin |f(x9)| = 0.001216 . . .

    46

  • Anlisis Numrico con MATLAB

    2.4.1. Convergencia

    Teorema 2.4 (Convergencia Secante). Sea f una funcin dos veces dife-renciable en un intervalo que contiene a una raz c de f y supongamos quef (c) 6= 0. Si x0 y x1 estan lo sucientemente proximos a c, entoces la suce-sin denida en (2.10) converge a c.

    Demostracin. Los detalles de la demostracin se pueden encontrar en [2].

    De la demostracin extraemos algunos aspectos importantes. Dado un > 0y un intervalo I = [c , c+ ].x0 y x1 estan lo sucientemente proximos a c, si M max{|0|, |1|} < 1 y|0| , |1| , donde

    M = maxxI

    f (x)2f (x)

    q

    Si

    f (c)2f (c) es grande, habra que tomar x0 y x1 muy proximos a c, ademssi la primera o segunda derivada se anula, el mtodo no funciona bien.

    El mtodo de la secante converge a la solucin ms lentamente que el mtodo

    de Newton, pero tiene la ventaja de no usar la derivada en cada iteracin.

    A continuacin se describe un codigo para el mtodo de la Secante. Se

    utiliza como criterio de parada el valor absoluto de la funcin evaluada en

    cada iteracion. Se deja como ejercicio para el lector la implementacin de

    otros criterios de parada, y codigos que permitan visualizar las rectas que se

    van generando.

    Algoritmo 4 (Algoritmo Secante). Dada una funcin f dos veces diferen-

    ciable, dos condiciones iniciales x0,x1 y una tolerancia tol> 0.

    c=x1-(f(x1)*(x1-x0))/(f(x1)-f(x0));

    while abs(f(c))>tol

    x0=x1;

    x1=c;

    c=x1-(f(x1)*(x1-x0))/(f(x1)-f(x0));

    end

    47

  • CAPITULO 2. CEROS DE FUNCIONES

    2.5. Mtodo del punto jo

    Dada una funcin f(x), se dice que p es un punto jo de f , s f(p) = p.Geomtricamente un punto jo representa el corte entre la graca de f y larecta y = x. La gura 6.2 muestra una funcin f(x) que posee 5 puntos jos.

    f(x)

    y = x

    Figura 2.12: Representacin graca del punto jo.

    El Mtodo de Punto Fijo (tambin conocido como iteracin de punto

    jo), es otro mtodo para hallar los ceros de f(x). Para resolver f(x) = 0, sereordena en una forma equivalente:

    f(x) = 0

    x g(x) = 0x = g(x)

    Observe que si c es un cero de f(x), f(c) = 0 y c = g(c).

    Para aproximar un cero de f se utiliza la iteracin de punto jo

    xn+1 = g(xn), n = 0, 1, 2, 3, . . . (2.11)

    48

  • Anlisis Numrico con MATLAB

    donde x0 es una aproximacin inicial del cero de f .

    Ejemplo 2.5.1. f(x) = x2 2x 3 = 0, tiene dos ceros. x = 3 y x = 1Supngase que se reordena para lograr la forma equivalente:

    x2 2x 3 = 0x2 = 2x+ 3

    x =

    2x+ 3

    x = g(x) =

    2x+ 3

    Si se comienza con x0 = 4 y se itera con la iteracin de punto jo 2.11, losvalores sucesivos de x son:

    x0 = 4

    x1 = g(x0) =

    2(4) + 3 = 3.31662

    x2 = g(x1) =

    2(3.31662) + 3 = 3.10375

    x3 = g(x2) =

    2(3.10375) + 3 = 3.03439

    x4 = g(x3) =

    2(3.03439) + 3 = 3.01144

    x5 = g(x4) =

    2(3.01144) + 3 = 3.00381

    Parece que los valores convergen a x = 3. Otro reordenamiento de f(x) =0 es

    x2 2x 3 = 0x(x 2) 3 = 0

    x =3

    x 2 = g(x)

    49

  • CAPITULO 2. CEROS DE FUNCIONES

    Si nuevamente se comienza con x0 = 4, los valores sucesivos de x son:

    x0 = 4

    x1 = g(x0) =3

    4 2 = 1.5

    x2 = g(x1) =3

    1.5 2 = 6

    x3 = g(x2) =3

    6 2 = 0.375x4 = 1.263158x5 = 0.919355x6 = 1.02762x7 = 0.990877x8 = 1.00305Parece que ahora x converge al otro cero de f , x = 1. Considrese untercer reordenamiento

    x2 2x 3 = 02x = x2 3

    x =x2 3

    2= g(x)

    Comenzando de nuevo con x0 = 4 se obtiene:

    x0 = 4

    x1 = 6.5

    x2 = 19.625

    x3 = 191.070

    Resulta evidente que las iteraciones son divergentes.

    La diferencia en el comportamiento de los tres reordenamientos se puede

    apreciar considerando las grcas en los tres casos. El punto jo de x = g(x)es la interseccin de la recta y = x, y la curva y = g(x). En la gura 6.1se presentan los tres casos. Se comienza en el eje x con x0, se efecta undesplazamiento vertical hacia la curva, luego uno horizontal hacia la recta

    50

  • Anlisis Numrico con MATLAB

    y = x, luego uno vertical hacia la curva y nuevamente una horizontal haciala recta. Este proceso se repite hasta que los puntos en la curva convergen

    a un punto jo o bien divergen. Parece que los diferentes comportamientos

    dependen de que la pendiente de la curva sea mayor, menor o de signo opuesto

    a la pendiente de la recta (que es igual a 1)Cuando se tiene la ecuacin f(x) = 0, existen muchas formas de reorde-narla en la forma x = g(x), por ejemplo para la ecuacin anterior x22x3 =0 otras alternativas son:

    x2 2x 3 = 0x2 = 2x+ 3

    x3 = 2x2 + 3x

    x =3

    2x2 + 3x

    = g1(x)

    x2 2x 3 = 0x(x 2) = 3

    x 2 = 3x

    x =3

    x+ 2

    = g2(x)

    x2 2x 3 = 0x2 2x 3

    2x 2 = 0

    x (x2 2x 3)2x 2 = x

    = g3(x)

    Observe que la iteracin de g3(x), es el mtodo de Newton aplicado a g(x)Una pregunta que surge en este momento es cul de las funciones g sirvepara aproximar el punto jo de g? (o en forma equivalente el cero de f).A continuacin se presenta un teorema que da condiciones sucientes para

    la existencia y unicidad del punto jo de una funcin.

    2.5.1. Convergencia

    Teorema 2.5. Si g es continua [a, b] y g(x) [a,b] para toda x [a, b],entonces g tiene un punto jo en [a, b]. Si adems g(x) existe en (a, b) yexiste una constante positiva K < 1 con |g(x)| 6 K, para todo x (a, b),entonces el punto jo en [a, b] es nico.

    Demostracin. Si g(a) = a o si g(b) = b, entonces g tendr un punto jo enun extremo del intervalo [a, b]. Si se supone que g(a) 6= a y g(b) 6=b entoncesse debe tener que: g(a) > a y g(b) < b (por que g(x) [a, b] para todox [a, b])

    g(a) a > 0 y g(b) b < 0. Si se dene t(x) = g(x) x, t es continua en[a, b] y t(a) = g(a) a > 0 ademas de t(b) = g(b) b < 0, Por el teorema

    51

  • CAPITULO 2. CEROS DE FUNCIONES

    del valor intermedio existe un c (a,b) tal que t(c) = 0, es decir g(c) c = 0,g(c) = c, luego c es un punto jo de g.Si se supone adems que |g(x)| 6 K < 1 y que c1 y c2 son dos puntosjos de g en [a, b] con c1 6= c2, por el teorema del valor medio, existe unnmero z entre c1 y c2 tal que

    g(c2) g(c1)c2 c1 = g

    (z) o |g(c2) g(c1)| = |g(z)||c2 c1|

    Como c1 y c2 son puntos jos de g, g(c2) = c2 y g(c1) = c1, entonces|c2 c1| = |g(c2) g(c1)| = |g(z)||c2 c1| 6 k|c2 c1| < 1|c2 c1| (porque|g(x)| 6 k < 1)Luego, |c2 c1| < |c2 c1|, lo cual es una contradiccin, por lo tanto elpunto jo de g en [a, b] es nico.

    q

    Ejemplo 2.5.2. La funcin g(x) = (x2 3)/2 en el intervalo [2, 4] tiene unpunto jo nico. c = 3 es un punto jo de g porque g(3) = (32 3)/2 = 3.Observe que g(x) = x y en el intervalo [2, 4] g(x) > 0. g es creciente yg(x) [1/2, 6.5], adems |g(x)| > 1. (ya que g(x) = x y x (2, 4) ).El ejemplo anterior muestra que las hiptesis del teorema 2.5.1 son su-

    cientes para garantizar un punto jo nico, pero no son necesarias.

    El siguiente resultado da algunas pistas sobre los procedimientos que se

    deben seguir y algunos que se deben excluir para escoger funciones que pro-

    duzcan sucesiones que converjan a un punto jo.

    Teorema 2.6 (Convergencia Punto jo). Sea g una funcin continua en[a, b] tal que g(x) [a, b] para toda x en [a, b]. Adems suponga que existeg en (a, b) y una constante positiva K < 1 tal que |g(x)| 6 K, para todax (a, b), entoncesPara todo x0 en (a, b), la sucesin denida por xn+1 = g(xn), converge alnico punto jo x en [a, b].

    Demostracin.

    |xn x| = |g(xn1) g(x)|= |g(z)||g(xn1) g(x)| (Por el teorema del valor medio)

    |xn x| 6 K|xn1 x|( porque |g(x)| 6 K, x (a, b))

    52

  • Anlisis Numrico con MATLAB

    El teorema anterior implica que existe un punto jo nico en [a, b], ahorasi se aplica esta desigualdad inductivamente se obtiene:

    |xn x| 6 K |xn1 x| 6 K2 |xn2 x| 6 6 Kn |x0 x||xn x| 6 Kn |x0 x|

    lmn

    |xn x| lmn

    Kn |xo x| = 0

    porque si |k| < 1, lmnKn = 0. Luego {xn} converge a x. q

    Como consecuencia inmediata del teorema tenemos.

    Corolario 2.1. S g satisface las hiptesis del teorema anterior, una cotapara el error al aproximar el punto jo x de g por xn esta dada por:

    |xn x| 6 Kn max {x0 a, b x0}

    Demostracin. Por el teorema anterior |xn x| 6 Kn|x0 x|.como x [a, b], |x0 x| 6 max {x0 a, b x0}.Luego, |xn x| 6 Kn max {x0 a, b x0}.

    q

    La iteracin del punto jo, presenta dos conguraciones geometricas. La

    gura 2.13 muestra la conguracin en escalera, convergente y divergente.

    La gura 2.14 da un ejemplo de la conguracin oscilante.

    53

  • CAPITULO 2. CEROS DE FUNCIONES

    !"#$%&'()*#"+

    ! "#

    $!! " % #

    ! ! &' (#')' *+' #

    !

    " ! ,

    $$

    !$#

    " !! #-./#01

    #

    !

    " ! " #

    " ! % /1 02)3'45')0#1 )2 '& .2/'7

    8! "'1 $#! , (1)9 #7 :1 41;7

    C! "'1 # , $#!& $#! ,

    '

    #

    ? ')(2)0'&

    $#! , "

    '

    #

    "

    A

    $

    %

    '! & "

    .'42 #

    !

    ,

    '

    #

    '& @#3'45')('7 B& D;10#/ 3'4 *+' > % #

    #

    %

    %

    'A

    $#

    ! " #(7

    B/ .420'&2 #('41(#32 #

    !

    , $#

    ! .+'@' 4'.4'&')(14&' 5'2-;'(4#01-')('

    02)@'41)@2 *+' '/ .+)(2 EF2 ! '& '/ .+)(2 @' #)('4&'00#;2) @' /1& D+)0#2)'&

    ) , # ' ) , $#!7 G2@'-2& 3#&+1/#=14 0+1(42 01&2&H $1! > %

    $!! % A $6!

    $!! " A $0! " %

    $!! % >A $@!

    $!! % " 7

    !

    "!!"

    # # "

    !$" # $

    !

    %&'()*' ('+,)&-)+.)

    !)+ )*(/0)&/"

    "!!"

    !

    "

    !$" % $

    !

    %&'()*' 12,)&-)+.)

    !)+ )*(/0)&/"

    IJ

    Figura 2.13: Ejemplo de iteracin en escalera.

    54

  • Anlisis Numrico con MATLAB

    !

    "!!"

    # # "

    !$" # $

    %&'()*' ('+,)&-)+.) !'*(/01+.)"

    !"

    !$"! # #

    !

    "!!"

    "

    !$" # #

    !

    %&'()*' 2/,)&-)+.) !'*(/01+.)"

    !"

    !$"! % #

    !"#$%& '()('( !"! #$ #%#&'$( )*+*, -(. ! "! /# 01#.#

    !2 #" # $

    !

    ! #

    " # $ !

    "

    3 #

    "!# %"&

    42 #" # $

    "

    ' #

    " # $

    !" ' #

    " !

    3 #

    "!# (" )

    -2 #" # $

    "

    !

    #

    " # $

    !&

    "

    "

    ! #

    "

    3 #

    "!# !*"*

    52 #" # $

    &

    !

    '

    !

    "

    !

    #

    " # $

    + "

    !

    ! ! #

    "!

    "

    ! #

    "

    3 #

    "!# $ (

    !" #$%&'(') *&%+,&*-') (% '+(%. )/0%+*'+!

    *"&+"#, '()(-( 6#! ! 7.! "!89: 5# $ #" #; # 7.!

    7!.0# 51

  • CAPITULO 2. CEROS DE FUNCIONES

    Adems

    |g(x)| = 12x+ 3

    5.15042 . . .

    Por lo tanto se necesitan unas seis iteraciones para lograr una aproxima-

    cin exacta dentro de 102.

    Este ejercicio ya se resolvi al comienzo de esta seccin y se obtuvo x5 =3.00381. Observe que el error real |x5 x| = |3.00381 3| = 0.00381 0.

    56

  • Anlisis Numrico con MATLAB

    x1=f(x0);

    while abs(f(x1)-f(x0))>tol

    x0=x1;

    x1=f(x1);

    end

    2.6. Ejercicios

    1. A n de localizar las races de la ecuacin x3 +x = 6

    a) Mediante evaluaciones en enteros determine un intervalo de lon-

    gitud 1 que contenga una raz.

    b) Aplique tres iteraciones del mtodo de biseccin para reducir la

    longitud de este intervalo en un factor de 0.125.

    2. Sea f(x) = (x + 2)(x + 1)2x(x 2). En cul cero de f converge elmtodo de biseccin en los siguientes intervalos?

    a)[-1.5,2.5] b)[-0.5,2.4] c)[-0.5,3] d)[-3,-0.5]

    3. Use el teorema (error en el mtodo de biseccin) para obtener una cota

    del nmero de iteraciones que se requieren para alcanzar una aproxi-

    macin con una exactitud de 103 a la solucin de x3 + x 4 = 0 quese encuentra en el intervalo [1, 4]. Obtenga una aproximacin de la razcon este grado de exactitud.

    4. Verdadero o falso?

    a) Si g(19.6) = 19.6, entonces 19.6 se denomina punto jo de g.

    b) La funcin x2 + 2x tiene exactamente dos ceros reales.

    c) Si f(a) = 1 y f(b) = 2, entonces f(x) tiene al menos un ceroentre a y b.

    d) Despus de siete iteraciones del mtodo de biseccin, el intervalo

    en curso tiene una longitud menor que el 1 % de la longitud delintervalo original.

    57

  • CAPITULO 2. CEROS DE FUNCIONES

    e) Diez iteraciones del mtodo de biseccin reducen la longitud L1del intervalo que contenga una raz por un factor de 1/102, as lalongitud es L1/100.

    f ) La ecuacin (ex)2 = 4 tiene exactamente dos soluciones (reales).

    5. Determine cuntas races tiene ex (x2 1)(x2 4) = 0.6. Aplique el mtodo de Newton para obtener soluciones con una exacti-

    tud de 105 para:

    a) (x 2)2 lnx = 0 para 1 6 x 6 2 y para e 6 x 6 4b) senx ex = 0 para 0 6 x 6 1 y para 3 6 x 6 4, y 6 6 x 6 7

    7. Se puede usar el mtodo de NewtonRaphson para resolver f(x)=0siendo f(x)=(x-3)1/2 tomando x0 = 4 como valor inicial? por qu?.

    8. Suponga que A es un nmero real y positivo.

    a) Pruebe que A puede escribirse como A = q 22m, siendo1/4 6 q < 1 y m un entero.b) Use el apartado a) para probar que la raz cuadrada de A es

    A1/2 = q1/2 2m.

    Observacin. Si se toma p0 = (2q+1)/3, siendo 1/4 6 q < 1,y se usa la frmula de Newton, entonces despus de tres ite-

    raciones, x3 ser una aproximacin a q1/2con 24 cifras bina-

    rias de precisin. Este es el algoritmo que los computadores

    usan habitualmente para hallar races cuadradas. (Mathews,

    p.96).

    9. Halle, con una precisin de diez cifras decimales, el valor de x para elque es mnima la distancia vertical entre las grcas de las funciones

    f(x) = x2 + 2 y g(x) = (x/5) sen(x).10. Se construye una caja sin tapa a partir de una hoja metlica rectangular

    que mide 10 por 16 centmetros. Cul debe ser el lado de los cuadradosque hay que recortar en cada esquina para que el volumen de la caja

    sea 100 centmetros cbicos? Precisin: 0.000000001 centmetros.

    58

  • Anlisis Numrico con MATLAB

    11. La funcin descrita por f(x) = ln(x2 + 1) e0.4x cos pix tiene una can-tidad innita de ceros.

    a) Determine, con una exactitud de 106 el nico cero negativo.

    b) Determine, con una exactitud de 106 los cuatro ceros positivosms pequeos.

    12. El valor acumulado de una cuenta de ahorros que se basa en pagos

    peridicos puede calcularse con la ecuacin de anualidad vencida.

    A =P

    i[(1 + i)n 1]

    En esta ecuacin, A es el monto de la cuenta, P es la cantidad que sedeposita peridicamente e i es la tasa de inters por periodo para losn periodos de depsito. A un ingeniero le gustara tener una cuenta deahorros con un monto de $ 750000 dlares al momento de retirarse den-tro de 20 aos, y puede depositar $ 1500 dlares mensuales para logrardicho objetivo. Cul es la tasa mnima de inters a que puede invertirse

    este dinero, suponiendo que es un inters compuesto mensual?.

    13. Un mtodo de Newton-Raphson modicado para races mltiples. Si

    p es una raz de multiplicidad M, entonces f(x)= (x - p)Mq(x), dondeq(p) 6= 0.

    a) Pruebe que h(x) = f(x)/f (x) tiene una raz simple en p.

    b) Pruebe que si se aplica el mtodo de Newton-Raphson para hallar

    la raz simple p de h(x), entonces se obtiene g(x) = xh(x)/h(x)que, en este caso, es

    g(x) = x f(x)f(x)

    (f (x))2 f (x) f (x)

    c) La funcin f(x) = sen(x3) tiene en p = 0 un cero triple. Partiendode p0 = 1 calcule p1, p2 y p3 usando el mtodo de Newton-Raphsonmodicado. (Mathews, p.97).

    59

  • CAPITULO 2. CEROS DE FUNCIONES

    14. Aplique el mtodo de la secante para obtener soluciones con una exac-

    titud de 103 para las ecuaciones dadas.

    a) x3 2x2 5 = 0, x [1, 4]b) x cosx = 0, x [0, pi/2]15. La ecuacin ex = cos x tiene una raz cerca de 1.29. Diga cul delas tres funciones siguientes sera preferible utilizar como funcin de

    iteracin a n de localizar la raz

    g1(x) = cos1(ex)

    g2(x) = ln(sec x) = ln(cosx)g3(x) = x 0.01(ex cosx)

    16. Use el manejo algebraico para demostrar que las siguientes funciones

    tienen un punto jo en p exactamente cuando f(p) = 0, donde f(x) =x4 + 2x2 x 3.

    a) g1(x) = (3 + x 2x2)1/4

    b) g2(x) =

    (x+ 3 x4

    2

    )1/2

    c) g3(x) =

    (x+ 3

    x2 + 2

    )1/2

    d) g4(x) =3x4 + 2x2 + 3

    4x3 + 4x 1i. Efecte cuatro iteraciones, si es posible hacerlo, en las funciones

    g. Use x0 = 1.

    ii. Cul funcin, a su juicio, dar la mejor aproximacin a la solu-

    cin?

    17. Aplique el teorema de punto jo para demostrar que g(x) = pi +0.5 sen(x/2) tiene un punto jo nico en [0, 2pi]. Use la iteracin depunto jo para obtener una aproximacin al punto jo con una exac-

    titud de 10

    2. Use el corolario para estimar la cantidad de iteraciones

    60

  • Anlisis Numrico con MATLAB

    necesarias para lograr una exactitud de 102 y despus compare estaestimacin terica con la cantidad que realmente se requiere.

    18. En cada una de las siguientes ecuaciones, determine un intervalo [a, b]para la cual la iteracin de punto jo converge. Estime la cantidad de

    iteraciones necesarias para obtener aproximaciones con una exactitud

    de 105 y realice los clculos.

    a) x =2 ex + x2

    3

    b) x =

    (ex

    3

    )1/2c) x = 5x

    61

  • CAPITULO 2. CEROS DE FUNCIONES

    62

  • Capitulo3Sistemas de Ecuaciones Lineales

    Se considera un sistema de ecuaciones lineales con n ecuaciones y n in-cognitas, de la forma:

    a11x1 + a12x2 + a13x3 . . .+ a1nxn = b1a21x1 + a22x2 + a23x3 . . .+ a2nxn = b2.

    .

    .

    an1x1 + an2x2 + an3x3 . . .+ annxn = bn

    con forma representacin matricial

    AX = b o

    a11 a12 . . . a1na21 a22 . . . a2n.

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    an1 an2 . . . ann

    x1x2.

    .

    .

    xn

    =

    b1b2.

    .

    .

    bn

    (3.1)

    donde A Rnn, b Rn. Solucionar el sistema (3), es hallar un vectorX Rn tal que AX = b.

    3.1. Sistemas fciles de resolver

    Consideremos A una matriz diagonal.

    63

  • CAPITULO 3. SISTEMAS DE ECUACIONES LINEALES

    A =

    a11 0 00 a22 0.

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    0 0 ann

    Entonces el sistema AX = b tiene la siguiente foma

    a11x1 = b1a22x2 = b2.

    .

    .

    annxn = bn

    La solucin es xi = (bi)/aii, para i = 1, 2, . . . , n con aii 6= 0.

    Algoritmo 6 (Algoritmo matriz Diagonal). Dada un sistema de ecuaciones

    lineal Ax = b, con matriz A diagonal y no singular.

    n=length(b);

    for i=1:n

    x(i)=b(i)/A(i,i);

    end

    Si A es Triangular Superior (A no singular).

    A =

    a11 a12 a1n0 a22 a2n.

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    0 0 ann

    Entonces el sistema AX = b que resulta es:

    a11x1 + a12x2 + a13x3 . . .+ a1nxn = b1

    a22x2 + a23x3 . . .+ a2nxn = b2.

    .

    .

    annxn = bn

    64

  • Anlisis Numrico con MATLAB

    El sistema se resuelve con sustitucin hacia atrs. Se llama sustitucin

    hacia atrs por que el primer valor que se halla es xn, luego xn1 y as hastax1.

    xn =bn

    anny

    xi =

    bi n

    j=i+1

    aijxj

    aiipara i = n 1, n 2, . . . , 1 (aii 6= 0).

    Algoritmo 7 (Algoritmo matriz triangular superior). Dada un sistema de

    ecuaciones lineal Ax = b, con matriz A triangular superior y no singular.

    n=length(b);

    x(n)=b(n)/A(n,n);

    for i=n-1:-1:1

    s=0;

    for k=i+1:n

    s=s+A(i,k)*x(k);

    end

    x(i)=(b(i)-s)/A(i,i);

    end

    Si A es Triangular inferior.

    A =

    a11 0 . . . 0a21 a22 . . . 0.

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    an1 an2 . . . ann

    El sistema resultante es:

    a11x1 = b1a21x1 + a22x2 = b2.

    .

    .

    .

    .

    .

    an1x1 + an2x2 +an3x3 + . . .+ annxn = bn

    El sistema se resuelve con sustitucin hacia adelante

    65

  • CAPITULO 3. SISTEMAS DE ECUACIONES LINEALES

    x1 =b1a11

    xi =

    bi i1j=1

    aijxj

    aiipara i = 2, 3, . . . , n (aii 6= 0).

    Ejercicio 3. Construya el codigo de una funcin en MATLAB que dado un

    sistema de ecuaciones lineal con matriz de coecientes triangular inferior,

    calcule el vector solucin X.

    Una matriz A es ortogonal si su inversa es igual a su transpuesta; es decirA1 = At. En este caso, el sistema AX = b tiene como solucin X = Atb, yaque si AX = b entonces:

    AX = AAtb

    = AA1b

    = Ib

    = b

    3.2. Mtodos Directos de Solucin

    Un mtodo directo se reere a un procedimiento para calcular una so-

    lucin a partir de una forma que es matemticamente exacta; los mtodos

    directos proporcionan una respuesta en un nmero jo de pasos, y slo estn

    sujetos a errores de redondeo.

    3.2.1. Mtodo de la Inversa

    La solucin del sistema Ax = b es x = A1b (A no singular). El clculo dela matriz inversa involucra muchas operaciones. MATLAB posee la funcin

    inv que calcula la inversa de una matriz cuadrada.

    Ejemplo 3.2.1. La matriz de Hilbert H de tamao m n, esta dada por:

    Hij = 1/(i+ j 1) i {1, 2, . . . ,m}, j {1, 2, . . . , n}

    El codigo en MATLAB que la genera:

    66

  • Anlisis Numrico con MATLAB

    for i=1:m

    for j=1:n

    H(i,j)=1/(i+j-1);

    end

    end

    La matriz de Hilbert para m = n = 3 es

    H =

    1 1/2 1/3

    1/2 1/3 1/4

    1/3 1/4 1/5

    y tomando el vector columna b = (111). Encontrar la solucin de Hx = b.

    >> tic, x=inv(H)*b, toc

    x =

    3

    -24

    30

    Elapsed time is 0.008232 seconds.

    Los comandos tic y toc generan el tiempo de computo de la operacin.

    3.2.2. Mtodo de Cramer

    La solucin es xi = |Ai| / |A|, i = 1, 2, . . . n. Donde

    A =

    a11 a12 . . . a1na21 a22 . . . a2n.

    .

    .

    .

    .

    .

    .

    .

    .

    an1 an2 . . . ann

    y Ai =

    a11 a12 . . . b1 . . . a1na21 a22 . . . b2 . . . a2n.

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    .

    an1 an2 . . . bn . . . ann

    Se necesitan (n+ 1) determinantes y el costo de operaciones de un determi-nante de orden n requiere de aproximadamente n! multiplicaciones divisionesy sumas/restas. MATLAB posee la funcin det que encuentra el determinan-

    te de una matriz cuadrada.

    67

  • CAPITULO 3. SISTEMAS DE ECUACIONES LINEALES

    3.2.3. Mtodo de Eliminacin Gaussiana

    Dados dos sistemas de ecuaciones. Diremos que ellos son equivalentes, si

    poseen el mismo conjunto solucion. Iniciamos introduciendo las operaciones

    elementales entre las. Son transformaciones que admite la matriz aumentada

    de un sistema y que generan un sistema equivalente.

    La ecuacin Ei (o la la i) puede multiplicarse por una constante dis-tinta de cero. Esta operacin se denota por Ei Ei.La ecuacin Ej (o la la j) puede multiplicarse por una constante distintade cero y sumarse a la ecuacin Ei (o la i). Esta operacin se denota por(Ei + Ej) Ei.El orden de las ecuaciones Ei y Ej ( o la i y la la j) puede intercambiarse.Esta operacin se denota por Ei Ei.El Mtodo de Eliminacin Gaussiana consiste en transformar mediante

    operaciones elementales entre las a la matriz aumentada del sistema [A.

    .

    .b]

    en una matriz de la forma [A.

    .

    .b], donde A es una matriz triangular superiory as el sistema AX = b se transforma en un sistema equivalente AX = b

    que es un sistema fcil de resolver ya que es triangular superior y se puede

    resolver con sustitucin hacia atrs.

    Ejemplo 3.2.2. Resolver el sistema lineal usando el mtodo de eliminacin

    gaussiana.

    x1 + 2x2 + x3 = 5

    2x1 + 4x3 = 22

    4x1 + 2x2 + 2x3 = 18

    La matriz aumentada del sistema es:

    E1E2E3

    1 2 12 0 44 2 2

    .

    .

    .

    .

    .

    .

    .

    .

    .

    52218

    a11 = 1 es el elemento pivote, para anular los elementos que estn de-bajo de la primera columna se usan los multiplicadores. Los multiplicado-

    res son los nmeros por los que se multiplica la la pivote para restar-

    la de las correspondientes las posteriores. M21 = a21/a11 = 2/1 = 2 yM31 = a31/a11 = 4/1 = 4.

    68

  • Anlisis Numrico con MATLAB

    E2 2E1E3 4E1

    1 2 10 4 20 6 2

    .

    .

    .

    .

    .

    .

    .

    .

    .

    5122

    a22 = 4 es el elemento pivote, para anular el elemento que esta debajo dela segunda columna se usa el multiplicador M22 = a32/a22 = 6/ 4 = 1.5.

    E3 1.5E2

    1 2 10 4 20 0 5

    .

    .

    .

    .

    .

    .

    .

    .

    .

    51220

    Finalmente se obtiene el sistema:

    x1 + 2x2 + x3 = 5

    4x2 + 2x3 = 125x3 = 20

    usando sustitucin hacia atrs se tiene que x3 = 4, x2 = 1 y x1 = 3, luegola solucin del sistemas es X = (3,1, 4).Ejemplo 3.2.3. Resolver el sistema

    0.03x1 + 58.9x2 = 59.2

    5.31x1 6.10x2 = 47.0

    a) Usando eliminacin Gaussiana.

    E1E2

    (0.03 58.95.31 6.10.

    .

    .

    .

    .

    .

    59.247.0

    )

    El multiplicador M21 = 5.31/0.03 = 177

    E2 177E1

    (0.03 58.9

    0 10431.4.

    .

    .

    .

    .

    .

    59.210431.4

    )

    69

  • CAPITULO 3. SISTEMAS DE ECUACIONES LINEALES

    El sistema triangular que resulta es:

    0.03x1 + 58.9x2 = 59.2

    10431.4x2 = 10431.4

    La solucin exacta del sistema es X = (x1, x2) = (10, 1).

    b) Usando eliminacin Gaussiana y aritmtica de 3 dgitos por corte.Para resolver el sistema usando eliminacin gaussiana y corte a tres dgi-

    tos, primero se escribe la matriz aumentada del sistema con los nmeros

    a tres dgitos usando corte (en este caso queda igual) y despus se apli-

    ca eliminacin gaussiana ( en cada operacin se trabaja con tres dgitos

    usando corte).

    E1E2

    (0.03 58.95.31 6.10.

    .

    .

    .

    .

    .

    59.247.0

    )

    El multiplicador es M21 = 5.31/0.03 = 177

    E2 177E1

    (0.03 58.9

    10400.

    .

    . 59.2

    .

    .

    . 10300

    )0.03x1 + 58.9x2 59.210400x2 10300

    Si X denota la solucin aproximada del sistema, entoncesX = (x1, x2) = (30, 0.99)

    c) Usando eliminacin gaussiana y artmtica de 3 dgitos por redondeo.Para resolver el sistema usando eliminacin gaussiana y redondeo a 3

    dgitos, primero se escribe la matriz aumentada del sistema redondeando

    los nmeros a tres dgitos, pero en este caso queda igual ya que slo tienen

    tres dgitos, luego se aplica eliminacin gaussiana. (en cada operacin se

    trabaja con tres dgitos usando redondeo).

    (0.03 58.95.31 6.10.

    .

    .

    .

    .

    .

    59.247.0

    ),

    70

  • Anlisis Numrico con MATLAB

    El multiplicador es 177.

    E2 177E1

    (0.03 58.9

    0 10400.

    .

    .

    .

    .

    .

    59.210500

    )

    0.03x1 + 58.9x2 59.210400x2 10500

    Si X denota la solucin aproximada del sistema entonces X = (x1, x2) =(10, 1.01)Observe que en b) y c) aunque los clculos se hicieron con tres cifras, en

    las respuestas no se tiene exactitud de tres cifras. La discrepancia se debe

    al error de redondeo. Recuerde que se llama error de redondeo independien-

    temente si en los clculos se usa corte o redondeo. Como las computadoras

    usan aritmtica cuya precisin esta jada de antemano, es posible que cada

    vez que se realice una operacin aritmtica se introduzca un pequeo error.

    El ejemplo anterior pone de maniesto que la eliminacin gaussiana puede

    llevar aparejado un error apreciable en la solucin de un sistema de ecuacio-

    nes lineales cuando se resuelve en un computador.

    A continuacin, se discutir cmo minimizar los efectos del redondeo y se

    evitarn condiciones que pueden provocar la amplicacin de los errores de

    redondeo.

    Si, en el proceso de eliminacin gaussiana, resulta que el elemento que

    se usar como pivote es cero, este elemento no puede usarse como pivote

    para eliminar elementos de la columna que estn por debajo de la diagonal

    principal. En este caso se intercambia la la que tiene el pivote cero por otra

    la en la que el elemento que quede como pivote no sea cero. Este proceso se

    llama Pivoteo y el criterio para decidir que la escoger se llama estrategia de

    pivoteo. La estrategia de pivoteo trivial consiste en localizar la primera la

    por debajo de la la en la que el pivote es cero e intercambiarla.

    Ejemplo 3.2.4. Dado un sistema de ecuaciones AX = b y se desea resolveren MATLAB utilizando eliminacin Gaussiana, se utiliza la notacin X =A\b. Este metodo es mucho ms rapido que el calculo de la inversa. Si seconsidera una matriz de Hilbert