metodos numericos para ingenieros errores

25
CAPÍTULO 3 Aproximaciones y errores de redondeo A causa de que la mayor parte de los métodos expuestos en este libro son muy sencillos en su descripción y en sus aplicaciones, en este momento resulta tentador ir directamen- te al cuerpo principal del texto y averiguar el empleo de dichas técnicas. Sin embargo, entender el concepto de error es tan importante para utilizar en forma efectiva los mé- todos numéricos que los dos siguientes capítulos se eligieron para tratar el tema. La importancia de los errores se mencionó por primera vez en el análisis de la caí- da del paracaidista en el capítulo 1. Recuerde que la velocidad de caída del paracaidista se determinó por métodos analíticos y numéricos. Aunque con la técnica numérica se obtuvo una aproximación a la solución analítica exacta, hubo cierta discrepancia o error , debido a que los métodos numéricos dan sólo una aproximación. En realidad fuimos afortunados en este caso porque teníamos la solución analítica que nos permitía calcular el error en forma exacta. Pero en muchos problemas de aplicación en ingeniería no es posible obtener la solución analítica; por lo tanto, no se pueden calcular con exactitud los errores en nuestros métodos numéricos. En tales casos debemos usar aproximaciones o estimaciones de los errores. La mayor parte de las técnicas desarrolladas en este libro tienen la característica de poseer errores. En primera instancia, esto puede parecer contradictorio, ya que no coin- cide con la imagen que se tiene de una buena ingeniería. Los estudiantes y los practi- cantes de la ingeniería trabajan constantemente para limitar este tipo de errores en sus actividades. Cuando hacen un examen o realizan sus tareas, son sancionados, mas no premiados por sus errores. En la práctica profesional, los errores llegan a resultar cos- tosos y, en algunas ocasiones, catastróficos. Si una estructura o un dispositivo falla, esto puede costar vidas. Aunque la perfección es una meta digna de alabarse, es difícil, si no imposible, alcanzar- la. Por ejemplo, a pesar de que el modelo obtenido mediante la segunda ley de Newton es una aproximación excelente, en la práctica jamás predecirá con exactitud la caída del paracaidis- ta. Fenómenos tales como la velocidad del viento y alguna ligera variación de la resistencia del aire desviarían la predicción. Si tales desviaciones son sistemáticamente grandes o peque- ñas, habría entonces que formular un nuevo modelo. No obstante, si su distribución es alea- toria y se agrupan muy cerca de la predicción, entonces las desviaciones se considerarían insignificantes y el modelo parecerá adecuado. Las aproximaciones numéricas también pre- sentan discrepancias similares en el análisis. De nuevo, las preguntas son: ¿qué tanto error se presenta en los cálculos? y ¿es tolerable? Este capítulo y el siguiente cubren aspectos básicos relacionados con la identificación, cuantificación y minimización de dichos errores. En las primeras secciones se revisa la información referente a la cuantificación de los errores. En seguida, se estudia uno de

Upload: faetonx

Post on 30-Sep-2015

117 views

Category:

Documents


13 download

DESCRIPTION

metodos numericos- errores

TRANSCRIPT

  • CAPTULO 3

    Aproximaciones y errores de redondeo

    A causa de que la mayor parte de los mtodos expuestos en este libro son muy sencillos en su descripcin y en sus aplicaciones, en este momento resulta tentador ir directamen-te al cuerpo principal del texto y averiguar el empleo de dichas tcnicas. Sin embargo, entender el concepto de error es tan importante para utilizar en forma efectiva los m-todos numricos que los dos siguientes captulos se eligieron para tratar el tema.

    La importancia de los errores se mencion por primera vez en el anlisis de la ca-da del paracaidista en el captulo 1. Recuerde que la velocidad de cada del paracaidista se determin por mtodos analticos y numricos. Aunque con la tcnica numrica se obtuvo una aproximacin a la solucin analtica exacta, hubo cierta discrepancia o error, debido a que los mtodos numricos dan slo una aproximacin. En realidad fuimos afortunados en este caso porque tenamos la solucin analtica que nos permita calcular el error en forma exacta. Pero en muchos problemas de aplicacin en ingeniera no es posible obtener la solucin analtica; por lo tanto, no se pueden calcular con exactitud los errores en nuestros mtodos numricos. En tales casos debemos usar aproximaciones o estimaciones de los errores.

    La mayor parte de las tcnicas desarrolladas en este libro tienen la caracterstica de poseer errores. En primera instancia, esto puede parecer contradictorio, ya que no coin-cide con la imagen que se tiene de una buena ingeniera. Los estudiantes y los practi-cantes de la ingeniera trabajan constantemente para limitar este tipo de errores en sus actividades. Cuando hacen un examen o realizan sus tareas, son sancionados, mas no premiados por sus errores. En la prctica profesional, los errores llegan a resultar cos-tosos y, en algunas ocasiones, catastrficos. Si una estructura o un dispositivo falla, esto puede costar vidas.

    Aunque la perfeccin es una meta digna de alabarse, es difcil, si no imposible, alcanzar-la. Por ejemplo, a pesar de que el modelo obtenido mediante la segunda ley de Newton es una aproximacin excelente, en la prctica jams predecir con exactitud la cada del paracaidis-ta. Fenmenos tales como la velocidad del viento y alguna ligera variacin de la resistencia del aire desviaran la prediccin. Si tales desviaciones son sistemticamente grandes o peque-as, habra entonces que formular un nuevo modelo. No obstante, si su distribucin es alea-toria y se agrupan muy cerca de la prediccin, entonces las desviaciones se consideraran insignificantes y el modelo parecer adecuado. Las aproximaciones numricas tambin pre-sentan discrepancias similares en el anlisis. De nuevo, las preguntas son: qu tanto error se presenta en los clculos? y es tolerable?

    Este captulo y el siguiente cubren aspectos bsicos relacionados con la identificacin, cuantificacin y minimizacin de dichos errores. En las primeras secciones se revisa la informacin referente a la cuantificacin de los errores. En seguida, se estudia uno de

    Chapra-03.indd 53Chapra-03.indd 53 6/12/06 13:44:106/12/06 13:44:10

  • 54 APROXIMACIONES Y ERRORES DE REDONDEO

    los dos errores numricos ms comunes: errores de redondeo. Los errores de redondeo se deben a que la computadora tan slo representa cantidades con un nmero finito de dgitos. En el siguiente captulo nos ocuparemos de otra clase importante de error: el de truncamiento. Los errores de truncamiento representan la diferencia entre una formu-lacin matemtica exacta de un problema y su aproximacin obtenida por un mtodo numrico. Por ltimo, se analizan los errores que no estn relacionados directamente con el mtodo numrico en s. stos son equivocaciones, errores de formulacin o del modelo, y la incertidumbre en la obtencin de los datos, entre otros.

    3.1 CIFRAS SIGNIFICATIVAS

    En esta obra se trata de manera extensa con aproximaciones que se relacionan con el manejo de nmeros. En consecuencia, antes de analizar los errores asociados con los mtodos numricos, es til repasar algunos conceptos bsicos referentes a la represen-tacin aproximada de los nmeros mismos.

    Cuando se emplea un nmero para realizar un clculo, debe haber seguridad de que pueda usarse con confianza. Por ejemplo, la figura 3.1 muestra un velocmetro y un odmetro (contador de kilometraje) de un automvil. Con un simple vistazo al veloc-metro se observa que el vehculo viaja a una velocidad comprendida entre 48 y 49 km/h. Como la aguja est ms all de la mitad entre las marcas del indicador, es posible ase-gurar que el automvil viaja aproximadamente a 49 km/h. Tenemos confianza en este resultado, ya que dos o ms individuos que hicieran esta lectura llegaran a la misma conclusin. Sin embargo, supongamos que se desea obtener una cifra decimal en la es-timacin de la velocidad. En tal caso, alguien podra decir 48.8, mientras que otra per-sona podra decir 48.9 km/h. Por lo tanto, debido a los lmites del instrumento,

    40

    8 7 3 2 445

    0 120

    20

    4060

    80

    100

    FIGURA 3.1El velocmetro y el odmetro de un automvil ejemplifi can el concepto de cifras signifi cativas.

    Chapra-03.indd 54Chapra-03.indd 54 6/12/06 13:44:116/12/06 13:44:11

  • nicamente se emplean con confianza los dos primeros dgitos. Para estimaciones del tercer dgito (o ms all) slo se consideraran aproximaciones. Sera ridculo afirmar, considerando el velocmetro de la figura, que el automvil viaja a 48.8642138 km/h. En contraste, el odmetro muestra hasta seis dgitos confiables. De la figura 3.1 se conclu-ye que el automvil ha recorrido un poco menos de 87 324.5 km durante su uso. Aqu el sptimo dgito (y los siguientes) resultan inciertos.

    El concepto de cifras o dgitos significativos se ha desarrollado para designar for-malmente la confiabilidad de un valor numrico. Las cifras significativas de un nmero son aquellas que pueden utilizarse en forma confiable. Se trata del nmero de dgitos que se ofrecen con certeza, ms uno estimado. Por ejemplo, el velocmetro y el odme-tro de la figura 3.1 muestran lecturas de hasta tres y siete cifras significativas, respecti-vamente. Para el velocmetro, los dos dgitos seguros son 48. Por convencin al dgito estimado se le da el valor de la mitad de la escala menor de divisin en el instrumento de medicin. As, la lectura del velocmetro consistir de las tres cifras significati-vas: 48.5. En forma similar, el odmetro dar una lectura con siete cifras significativas, 87 324.45.

    Aunque, por lo comn, determinar las cifras significativas de un nmero es un procedimiento sencillo, en algunos casos genera cierta confusin. Por ejemplo, los ceros no siempre son cifras significativas, ya que pueden usarse slo para ubicar el punto decimal: los nmeros 0.00001845, 0.0001845 y 0.001845 tienen cuatro cifras significa-tivas. Asimismo, cuando se incluye ceros en nmeros muy grandes, no queda claro cuntos son significativos. Por ejemplo, el nmero 45 300 puede tener tres, cuatro o cinco dgitos significativos, dependiendo de si los ceros se conocen o no con exactitud. La incertidumbre se puede eliminar utilizando la notacin cientfica, donde 4.53 104, 4.530 104, 4.5300 104 muestran, respectivamente, que el nmero tiene tres, cuatro y cinco cifras significativas.

    El concepto de cifras significativas tiene dos implicaciones importantes en el estu-dio de los mtodos numricos.

    1. Como se mencion en el problema de la cada del paracaidista, los mtodos nu-mricos dan resultados aproximados. Por lo tanto, se deben desarrollar criterios para especificar qu tan confiables son dichos resultados. Una manera de hacerlo es en trminos de cifras significativas. Por ejemplo, es posible afirmar que la aproximacin es aceptable siempre y cuando sea correcta con cuatro cifras signi-ficativas.

    2. Aunque ciertas cantidades tales como p, e, o 7 representan cantidades especficas, no se pueden expresar exactamente con un nmero finito de dgitos. Por ejemplo,p = 3.141592653589793238462643...

    hasta el infinito. Como las computadoras retienen slo un nmero finito de cifras significativas, tales nmeros jams se podrn representar con exactitud. A la omisin del resto de cifras significativas se le conoce como error de redondeo.

    Los errores de redondeo y el uso de cifras significativas para expresar nuestra con-fianza en un resultado numrico se estudiarn con mayor detalle en las siguientes sec-ciones. Adems, el concepto de cifras significativas tendr mucha importancia en la definicin de exactitud y de precisin en la siguiente seccin.

    3.1 CIFRAS SIGNIFICATIVAS 55

    Chapra-03.indd 55Chapra-03.indd 55 6/12/06 13:44:116/12/06 13:44:11

  • 56 APROXIMACIONES Y ERRORES DE REDONDEO

    3.2 EXACTITUD Y PRECISIN

    Los errores en clculos y medidas se pueden caracterizar con respecto a su exactitud y su precisin. La exactitud se refiere a qu tan cercano est el valor calculado o medido del valor verdadero. La precisin se refiere a qu tan cercanos se encuentran, unos de otros, diversos valores calculados o medidos.

    Estos conceptos se ilustran grficamente utilizando la analoga con una diana en la prctica de tiro. Los agujeros en cada blanco de la figura 3.2 se consideran como las predicciones con una tcnica numrica; mientras que el centro del blanco representa la verdad. La inexactitud (conocida tambin como sesgo) se define como una desviacin sistemtica del valor verdadero. Por lo tanto, aunque los disparos en la figura 3.2c estn ms juntos que los de la figura 3.2a, los dos casos son igualmente inexactos, ya que ambos se centran en la esquina superior izquierda del blanco. La imprecisin (tambin llamada incertidumbre), por otro lado, se refiere a la magnitud en la dispersin de los disparos. Por consiguiente, aunque las figuras 3.2b y 3.2d son igualmente exactas (esto es, igualmente centradas respecto al blanco), la ltima es ms precisa, pues los disparos estn agrupados en forma ms compacta.

    c)

    a)

    d)

    b)

    Aumenta la exactitud

    Au

    men

    ta la

    pre

    cisi

    n

    FIGURA 3.2Un ejemplo de puntera ilustra los conceptos de exactitud y precisin. a) Inexacto e impreci-so; b) exacto e impreciso; c) inexacto y preciso; d) exacto y preciso.

    Chapra-03.indd 56Chapra-03.indd 56 6/12/06 13:44:126/12/06 13:44:12

  • Los mtodos numricos deben ser lo suficientemente exactos o sin sesgo para sa-tisfacer los requisitos de un problema particular de ingeniera. Tambin deben ser sufi-cientemente precisos para ser adecuados en el diseo de la ingeniera. En este libro se usa el trmino error para representar tanto la inexactitud como la imprecisin en las predicciones. Con dichos conceptos como antecedentes, ahora analizaremos los factores que contribuyen al error en los clculos numricos.

    3.3 DEFINICIONES DE ERROR

    Los errores numricos surgen del uso de aproximaciones para representar operaciones y cantidades matemticas exactas. stas incluyen los errores de truncamiento que re-sultan del empleo de aproximaciones como un procedimiento matemtico exacto, y los errores de redondeo que se producen cuando se usan nmeros que tienen un lmite de cifras significativas para representar nmeros exactos. Para ambos tipos de errores, la relacin entre el resultado exacto, o verdadero, y el aproximado est dada por

    Valor verdadero = Valor aproximado + error (3.1)

    Reordenando la ecuacin (3.1) se encuentra que el error numrico es igual a la diferencia entre el valor verdadero y el valor aproximado, es decir

    Et = valor verdadero valor aproximado (3.2)

    donde Et se usa para denotar el valor exacto del error. El subndice t indica que se trata del error verdadero (true). Como ya se mencion brevemente, esto contrasta con los otros casos, donde se debe emplear una estimacin aproximada del error.

    Una desventaja en esta definicin es que no toma en consideracin el orden de la magnitud del valor que se estima. Por ejemplo, un error de un centmetro es mucho ms significativo si se est midiendo un remache en lugar de un puente. Una manera de tomar en cuenta las magnitudes de las cantidades que se evalan consiste en normalizar el error respecto al valor verdadero, es decir

    error verdaderoError relativo fraccional verdadero =

    valor verdadero

    donde, como ya se mencion en la ecuacin (3.2), error = valor verdadero valor aproxi-mado. El error relativo tambin se puede multiplicar por 100% para expresarlo como

    error verdaderoet = 100% (3.3)

    valor verdadero

    donde et denota el error relativo porcentual verdadero.

    EJEMPLO 3.1 Clculo de errores

    Planteamiento del problema. Suponga que se tiene que medir la longitud de un puente y la de un remache, y se obtiene 9 999 y 9 cm, respectivamente. Si los valores verdaderos son 10 000 y 10 cm, calcule a) el error verdadero y b) el error relativo por-centual verdadero en cada caso.

    3.3 DEFINICIONES DE ERROR 57

    Chapra-03.indd 57Chapra-03.indd 57 6/12/06 13:44:126/12/06 13:44:12

  • 58 APROXIMACIONES Y ERRORES DE REDONDEO

    Solucin

    a) El error en la medicin del puente es [ecuacin (3.2)]Et = 10 000 9 999 = 1 cm

    y en la del remache es de

    Et = 10 9 = 1 cm

    b) El error relativo porcentual para el puente es [ecuacin (3.3)]

    1et = 100% = 0.01%

    10 000

    y para el remache es de

    1et = 100% = 10%

    10

    Por lo tanto, aunque ambas medidas tienen un error de 1 cm, el error relativo porcentual del remache es mucho mayor. Se concluye entonces que se ha hecho un buen trabajo en la medicin del puente; mientras que la estimacin para el remache dej mucho que desear.

    Observe que en las ecuaciones (3.2) y (3.3), E y e tienen un subndice t que signifi-ca que el error ha sido normalizado al valor verdadero. En el ejemplo 3.1 tenamos el valor verdadero. Sin embargo, en las situaciones reales a veces es difcil contar con tal informacin. En los mtodos numricos, el valor verdadero slo se conocer cuando se tengan funciones que se resuelvan analticamente. ste comnmente ser el caso cuan-do se estudie el comportamiento terico de una tcnica especfica para sistemas simples. Sin embargo, en muchas aplicaciones reales, no se conoce a priori la respuesta verda-dera. Entonces en dichos casos, una alternativa es normalizar el error, usando la mejor estimacin posible al valor verdadero; es decir, para la aproximacin misma, como en

    error aproximado ea = 100% (3.4)

    valor aproximado

    donde el subndice a significa que el error est normalizado a un valor aproximado. Observe tambin que en aplicaciones reales la ecuacin (3.2) no se puede usar para calcular el trmino del error de la ecuacin (3.4). Uno de los retos que enfrentan los mtodos numricos es el de determinar estimaciones del error en ausencia del conoci-miento de los valores verdaderos. Por ejemplo, ciertos mtodos numricos usan un mtodo iterativo para calcular los resultados. En tales mtodos se hace una aproximacin considerando la aproximacin anterior. Este proceso se efecta varias veces, o de forma iterativa, para calcular en forma sucesiva, esperando cada vez mejores aproximaciones. En tales casos, el error a menudo se calcula como la diferencia entre la aproximacin previa y la actual. Por lo tanto, el error relativo porcentual est dado por

    aproximacin actual aproximacin anterior ea = 100% (3.5)

    aproximacin actual

    Chapra-03.indd 58Chapra-03.indd 58 6/12/06 13:44:126/12/06 13:44:12

  • En captulos posteriores se explicarn con detalle ste y otros mtodos para expresar errores.

    Los signos de las ecuaciones (3.2) a (3.5) pueden ser positivos o negativos. Si la aproximacin es mayor que el valor verdadero (o la aproximacin previa es mayor que la aproximacin actual), el error es negativo; si la aproximacin es menor que el valor verdadero, el error es positivo. Tambin en las ecuaciones (3.3) a (3.5), el denominador puede ser menor a cero, lo cual tambin llevara a un error negativo. A menudo, cuando se realizan clculos, no importa mucho el signo del error, sino ms bien que su valor absoluto porcentual sea menor que una tolerancia porcentual prefijada es. Por lo tanto, es til emplear el valor absoluto de las ecuaciones (3.2) a (3.5). En tales casos, los clcu-los se repiten hasta que

    |ea| < es (3.6)Si se cumple la relacin anterior, entonces se considera que el resultado obtenido est dentro del nivel aceptable fijado previamente es. Observe que en el resto del texto en general emplearemos exclusivamente valores absolutos cuando utilicemos errores rela-tivos.

    Es conveniente tambin relacionar estos errores con el nmero de cifras significa-tivas en la aproximacin. Es posible demostrar (Scarborough, 1966) que si el siguiente criterio se cumple, se tendr la seguridad que el resultado es correcto en al menos n cifras significativas.

    es = (0.5 102n)% (3.7)

    EJEMPLO 3.2 Estimacin del error con mtodos iterativos

    Planteamiento del problema. En matemticas con frecuencia las funciones se repre-sentan mediante series infinitas. Por ejemplo, la funcin exponencial se calcula usando

    x2 x3 xnex = 1 + x + + + + (E3.2.1) 2! 3! n!

    As cuanto ms trminos se le agreguen a la serie, la aproximacin ser cada vez ms una mejor estimacin del valor verdadero de ex. La ecuacin (E3.2.1) se conoce como expansin en series de Maclaurin.

    Empezando con el primer trmino ex = 1 y agregando trmino por trmino, estime el valor de e0.5. Despus de agregar cada trmino, calcule los errores: relativo porcentual verdadero y normalizado a un valor aproximado usando las ecuaciones (3.3) y (3.5), respectivamente. Observe que el valor verdadero es e0.5 = 1.648721 Agregue trminos hasta que el valor absoluto del error aproximado ea sea menor que un criterio de error preestablecido es con tres cifras significativas.

    Solucin. En primer lugar la ecuacin (3.7) se emplea para determinar el criterio de error que asegura que un resultado sea correcto en al menos tres cifras significativas:

    es = (0.5 1023)% = 0.05%Por lo tanto, se agregarn trminos a la serie hasta que ea sea menor que este valor.

    3.3 DEFINICIONES DE ERROR 59

    Chapra-03.indd 59Chapra-03.indd 59 6/12/06 13:44:136/12/06 13:44:13

  • 60 APROXIMACIONES Y ERRORES DE REDONDEO

    La primera estimacin es igual a la ecuacin (E3.2.1) con un solo trmino. Entonces, la primera estimacin es igual a 1. La segunda estimacin se obtiene agregando el se-gundo trmino, as:

    ex = 1 + x

    y para x = 0.5,

    e0.5 = 1 + 0.5 = 1.5

    Esto representa el error relativo porcentual verdadero de [ecuacin (3.3)]

    1.648721 1.5et = 100% = 9.02%

    1.648721

    La ecuacin (3.5) se utiliza para determinar una estimacin aproximada del error, dada por:

    1.5 1ea = 100% = 33.3%

    1.5

    Como ea no es menor que el valor requerido es, se deben continuar los clculos agregan-do otro trmino, x2/2!, repitiendo el clculo del error. El proceso contina hasta que ea < es. Todos los clculos se resumen de la siguiente manera

    Trminos Resultado t (%) a (%)

    1 1 39.3 2 1.5 9.02 33.3 3 1.625 1.44 7.69 4 1.645833333 0.175 1.27 5 1.648437500 0.0172 0.158 6 1.648697917 0.00142 0.0158

    As, despus de usar seis trminos, el error aproximado es menor que es = 0.05%, y el clculo termina. Sin embargo, observe que, el resultado es exacto con cinco cifras sig-nificativas! en vez de tres cifras significativas. Esto se debe a que, en este caso, las ecua-ciones (3.5) y (3.7) son conservadoras. Es decir, aseguran que el resultado es, por lo menos, tan bueno como lo especifican. Aunque, como se analiza en el captulo 6, ste no es siempre el caso al usar la ecuacin (3.5), que es verdadera en la mayora de las veces.

    Con las definiciones anteriores como antecedente, se procede ahora a examinar los dos tipos de error relacionados directamente con los mtodos numricos: el error de redondeo y el error de truncamiento.

    3.4 ERRORES DE REDONDEO

    Como se mencion antes, los errores de redondeo se originan debido a que la compu-tadora emplea un nmero determinado de cifras significativas durante un clculo. Los

    Chapra-03.indd 60Chapra-03.indd 60 6/12/06 13:44:136/12/06 13:44:13

  • nmeros tales como p, e o 7 no pueden exspresarse con un nmero fijo de cifras significativas. Por lo tanto, no pueden ser representados exactamente por la computado-ra. Adems, debido a que las computadoras usan una representacin en base 2, no pue-den representar exactamente algunos nmeros en base 10. Esta discrepancia por la omisin de cifras significativas se llama error de redondeo.

    3.4.1 Representacin de nmeros en la computadora

    Numricamente los errores de redondeo se relacionan de manera directa con la forma en que se guardan los nmeros en la memoria de la computadora. La unidad fundamen-tal mediante la cual se representa la informacin se llama palabra. sta es una entidad que consiste en una cadena de dgitos binarios o bits (binary digits). Por lo comn, los nmeros son guardados en una o ms palabras. Para entender cmo se realiza esto, se debe revisar primero algn material relacionado con los sistemas numricos.

    Sistemas numricos. Un sistema numrico es simplemente una convencin para re-presentar cantidades. Debido a que se tienen 10 dedos en las manos y 10 dedos en los pies, el sistema de numeracin que nos es muy familiar es el decimal o de base 10. Una base es el nmero que se usa como referencia para construir un sistema. El sistema de base 10 utiliza 10 dgitos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) para representar nmeros. Tales dgitos son satisfactorios por s mismos para contar de 0 a 9.

    Para grandes cantidades se usa la combinacin de estos dgitos bsicos; con la po-sicin o valor de posicin se especifica su magnitud. El dgito en el extremo derecho de un nmero entero representa un nmero del 0 al 9. El segundo dgito a partir de la de-recha representa un mltiplo de 10. El tercer dgito a partir de la derecha representa un mltiplo de 100 y as sucesivamente. Por ejemplo, si se tiene el nmero 86 409 se tienen 8 grupos de 10 000, seis grupos de 1 000, cuatro grupos de 100 y cero grupos de 10, y nueve unidades, o bien

    (8 104) + (6 103) + (4 102) + (0 101) + (9 100) = 86 409La figura 3.3a ofrece una representacin de cmo se formula un nmero en el sis-

    tema de base 10. Este tipo de representacin se llama notacin posicional.Debido a que el sistema decimal resulta ser tan familiar, no es comn darse cuenta

    de que existen otras alternativas. Por ejemplo, si el ser humano tuviera ocho dedos en las manos y ocho en los pies, se tendra, sin duda, una representacin en un sistema octal o de base 8. En tal sentido nuestra amiga la computadora es como un animal que tiene dos dedos, limitado a dos estados: 0 o 1. Esto se relaciona con el hecho de que las unidades lgicas fundamentales de las computadoras digitales sean componentes elec-trnicos de apagado/encendido. Por lo tanto, los nmeros en la computadora se repre-sentan con un sistema binario o de base 2. Del mismo modo que con el sistema decimal, las cantidades pueden representarse usando la notacin posicional. Por ejemplo, el n-mero binario 11 es equivalente a (l 21) + (1 20) = 2 + 1 = 3 en el sistema decimal. En la figura 3.3b se ilustra un ejemplo ms complejo.Representacin entera. Ahora que se ha revisado cmo los nmeros de base 10 se representan en forma binaria, es fcil concebir cmo los enteros se representan en la computadora. El mtodo ms sencillo se denomina mtodo de magnitud con signo y

    3.4 ERRORES DE REDONDEO 61

    Chapra-03.indd 61Chapra-03.indd 61 6/12/06 13:44:136/12/06 13:44:13

  • 62 APROXIMACIONES Y ERRORES DE REDONDEO

    emplea el primer bit de una palabra para indicar el signo: con un 0 para positivo y un 1 para el negativo. Los bits sobrantes se usan para guardar el nmero. Por ejemplo, el valor entero 173 puede guardarse en la memoria de una computadora de 16 bits como se muestra en la figura 3.4.

    1 1 =0 2 =1 4 =1 8 =0 16 =1 32 =0 64 =1 128 =

    10480

    320

    128173

    27

    1

    26

    0

    25

    1

    24

    0

    23

    1

    22

    1

    21

    0

    20

    1

    9 1 =0 10 =4 100 =6 1 000 =8 10 000 =

    90

    4006 000

    80 00086 409

    104

    8

    103

    6

    102

    4

    101

    0

    100

    9

    a)

    b)

    FIGURA 3.3Cmo trabajan los sistemas a) decimal (base 10) y b) binario (base 2). En b) el nmero binario 10101101 es equivalente al nmero decimal 173.

    1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1

    SignoNmero

    FIGURA 3.4La representacin de un entero decimal 173 en una computadora de 16 bits usando el mtodo de magnitud con signo.

    Chapra-03.indd 62Chapra-03.indd 62 6/12/06 13:44:136/12/06 13:44:13

  • EJEMPLO 3.3 Rango de enteros

    Planteamiento del problema. Determine el rango de enteros de base 10 que pueda representarse en una computadora de 16 bits.

    Solucin. De los 16 bits, se tiene el primer bit para el signo. Los 15 bits restantes pueden contener los nmeros binarios de 0 a 111111111111111. El lmite superior se convierte en un entero decimal, as

    (1 1214) + (1 213) + + (1 21) + (1 20)que es igual a 32 767 (observe que esta expresin puede simplemente evaluarse como 215 1). As, en una computadora de 16 bits una palabra puede guardar en memoria un entero decimal en el rango de 32 767 a 32 767. Adems, debido a que el cero est ya definido como 0000000000000000, sera redundante usar el nmero 1000000000000000 para definir menos cero. Por lo tanto, es usualmente empleado para representar un nmero negativo adicional: 32 768, y el rango va de 32 768 a 32 767.

    Observe que el mtodo de magnitud con signo descrito antes no se utiliza para re-presentar enteros en computadoras convencionales. Se prefiere usar una tcnica llamada complemento de 2 que incorpora en forma directa el signo dentro de la magnitud del nmero, en lugar de emplear un bit adicional para representar ms o menos (vase Cha-pra y Canale, 1994). Sin embargo, en el ejemplo 3.3 sigue sirviendo para ilustrar cmo todas las computadoras digitales estn limitadas en cuanto a su capacidad para repre-sentar enteros. Esto es, los nmeros por encima o por debajo de este rango no pueden representarse. Una limitacin ms importante se encuentra en el almacenaje y la mani-pulacin de cantidades fraccionarias, como se describe a continuacin.

    Representacin del punto-flotante. Las cantidades fraccionarias generalmente se representan en la computadora usando la forma de punto flotante. Con este mtodo, el nmero se expresa como una parte fraccionaria, llamada mantisa o significando, y una parte entera, denominada exponente o caracterstica, esto es,

    m be

    donde m = la mantisa, b = la base del sistema numrico que se va a utilizar y e = el ex-ponente. Por ejemplo, el nmero 156.78 se representa como 0.15678 103 en un sistema de base 10 de punto flotante.

    En 1a figura 3.5 se muestra una forma en que el nmero de punto flotante se guar-da en una palabra. El primer bit se reserva para el signo; la siguiente serie de bits, para el exponente con signo; y los ltimos bits, para la mantisa.

    Observe que la mantisa es usualmente normalizada si tiene primero cero dgitos. Por ejemplo, suponga que la cantidad 1/34 = 0.029411765 se guarda en un sistema de base 10 con punto flotante, que nicamente permite guardar cuatro lugares decimales. Entonces, 1/34 se guardara como

    0.0294 l00

    Sin embargo, al hacerlo as, la inclusin del cero intil a la derecha del punto decimal nos obliga a eliminar el dgito 1 del quinto lugar decimal. El nmero puede normalizarse

    3.4 ERRORES DE REDONDEO 63

    Chapra-03.indd 63Chapra-03.indd 63 6/12/06 13:44:146/12/06 13:44:14

  • 64 APROXIMACIONES Y ERRORES DE REDONDEO

    para eliminar el cero multiplicando la mantisa por 10 y diminuyendo el exponente en 1, para quedar

    0.2941 101

    As, se conserva una cifra significativa adicional al guardar el nmero.La consecuencia de la normalizacin es que el valor absoluto de m queda limitado.

    Esto es,

    1 m < 1 (3.8)

    b

    donde b = la base. Por ejemplo, para un sistema de base 10, m estara entre 0.1 y 1; y para un sistema de base 2, entre 0.5 y 1.

    La representacin de punto flotante permite que tanto fracciones como nmeros muy grandes se expresen en la computadora. Sin embargo, hay algunas desventajas. Por ejemplo, los nmeros de punto flotante requieren ms espacio y ms tiempo de proce-sado que los nmeros enteros. Ms importante aun es que su uso introduce una fuente de error debido a que la mantisa conserva slo un nmero finito de cifras significativas. Por lo tanto, se introduce un error de redondeo.

    EJEMPLO 3.4 Conjunto hipottico de nmeros con punto fl otante

    Planteamiento del problema. Determine un conjunto hipottico de nmeros con pun-to flotante para una mquina que guarda informacin usando palabras de 7 bits. Emplee el primer bit para el signo del nmero, los siguientes tres para el signo y la magnitud del exponente, y los ltimos tres para la magnitud de la mantisa (vase figura 3.6).Solucin. El nmero positivo ms pequeo posible se representa en la figura 3.6. El 0 inicial seala que la cantidad es positiva. El 1 en el segundo lugar indica que el expo-nente tiene signo negativo. Los 1, en el tercero y cuarto lugar dan un valor mximo al exponente de

    1 21 + 1 20 = 3

    Por lo tanto, el exponente ser 3. Por ltimo, la mantisa est especificada por el 100 en los ltimos tres lugares, lo cual nos da

    1 21 + 0 22 + 0 23 = 0.5

    Signo

    Exponentecon signo

    Mantisa

    FIGURA 3.5La forma en que un nmero de punto fl otante se guarda en una palabra.

    Chapra-03.indd 64Chapra-03.indd 64 6/12/06 13:44:146/12/06 13:44:14

  • Aunque es posible tomar una mantisa ms pequea (por ejemplo, 000, 001, 010, 011), se emplea el valor de 100 debido al lmite impuesto por la normalizacin [ecuacin (3.8)]. As, el nmero positivo ms pequeo posible en este sistema es +0.5 23, el cual es igual a 0.0625 en el sistema de base 10. Los siguientes nmeros ms grandes se desa-rrollan incrementando la mantisa como sigue:

    0111101 = (1 21 + 0 22 + 1 23) 23 = (0.078125)100111110 = (1 21 + 1 22 + 0 23) 23 = (0.093750)100111111 = (1 21 + 1 22 + 1 23) 23 = (0.109375)10

    Observe que las equivalencias de base 10 se esparcen de manera uniforme en un inter-valo de 0.015625.

    En este punto, para continuar el incremento se debe disminuir el exponente a 10, lo cual da un valor de

    1 21 + 0 20 = 2

    La mantisa disminuye hasta su valor ms pequeo: 100. Por lo tanto, el siguiente nme-ro es

    0110100 = (1 21 + 0 22 + 0 23) 22 = (0.125000)10Esto todava representa una brecha o espacio de 0.l25000 0.109375 = 0.015625. Sin embargo, cuando los nmeros grandes se generan incrementando la mantisa, la brecha es de 0.03125,

    0110101 = (1 21 + 0 22 + 1 23) 22 = (0.156250)100110110 = (1 21 + 1 22 + 0 23) 22 = (0.187500)100110111 = (1 21 + 1 22 + 1 23) 22 = (0.218750)10

    Este patrn se repite conforme se formula una cantidad mayor hasta que se alcanza un nmero mximo:

    0011111 = (1 21 + 1 22 + 1 23) 23 = (7)10El conjunto del nmero final se muestra en la figura 3.7.

    0 1 1 1 1 0 0

    Signo delnmero

    Signo delexponente

    Magnitud del exponente

    Magnitudde la mantisa

    21 20 21 22 23

    FIGURA 3.6El nmero positivo de punto fl otante ms pequeo posible del ejemplo 3.4.

    3.4 ERRORES DE REDONDEO 65

    Chapra-03.indd 65Chapra-03.indd 65 6/12/06 13:44:146/12/06 13:44:14

  • 66 APROXIMACIONES Y ERRORES DE REDONDEO

    En la figura 3.7 se presentan diversos aspectos de la representacin de punto flotan-te, que son importantes respecto de los errores de redondeo en las computadoras.

    1. El rango de cantidades que pueden representarse es limitado. Como en el caso de los enteros, hay nmeros grandes positivos y negativos que no pueden representar-se. Intentar emplear nmeros fuera del rango aceptable dar como resultado el llamado error de desbordamiento (overflow). Sin embargo, adems de las grandes cantidades, la representacin de punto flotante tiene la limitacin adicional de que nmeros muy pequeos no pueden representarse. Esto se ilustra por el agujero underflow entre el cero y el primer nmero positivo en la figura 3.7. Se debe ob-servar que este agujero aumenta por las limitaciones de normalizacin de la ecua-cin (3.8).

    2. Existe slo un nmero finito de cantidades que puede representarse dentro de un rango. As, el grado de precisin es limitado. Es evidente que los nmeros irraciona-les no pueden representarse de manera exacta. Adems, los nmeros racionales que no concuerdan exactamente con uno de los valores en el conjunto tampoco pueden ser representados en forma precisa. A los errores ocasionados por la aproximacin

    xx x

    x/2 x/2x x x + x

    Corte Redondeo

    0

    0

    7Overflow(1)

    Underflow(2) agujeroen el cero

    (1) Se genera una cantidad demasiado grande, en una operacin aritmtica, que rebasa la capacidad del registro(2) Se genera una cantidad, en una operacin aritmtica, demasiado pequea, para que pueda ser almacenada.

    FIGURA 3.7Sistema numrico hipottico desarrollado en el ejemplo 3.4. Cada valor se indica con una marca. Tan slo se muestran los nmeros positivos. Un conjunto idntico se extendera en direccin negativa.

    Chapra-03.indd 66Chapra-03.indd 66 6/12/06 13:44:146/12/06 13:44:14

  • en ambos casos se les conoce como errores de cuantificacin. La aproximacin real se realiza por dos caminos: cortando o redondeando. Por ejemplo, suponga que el valor de p = 3.14159265358 se va a guardar en un sistema de numeracin de base 10 con 7 cifras significativas. Un mtodo de aproximacin podra ser simplemente omitir, o cortar, el octavo y dems trminos, como en p = 3.141592, con la intro-duccin de un error asociado de [ecuacin (3.2)]Et = 0.00000065

    Esta tcnica de mantener slo trminos significativos fue originalmente conocida como truncamiento en la jerga computacional. Preferimos llamarla corte para distinguirla de los errores de truncamiento que se analizarn en el captulo 4. Ob-serve que en el sistema numrico de base 2 de la figura 3.7, corte significa que cualquier cantidad que est dentro de un intervalo de longitud x se guardar en memoria como una cantidad en el extremo inferior del intervalo. As, el error mxi-mo por corte es x. Adems, se presenta un sesgo porque todos los errores son po-sitivos. La deficiencia del corte se atribuye al hecho de que los trminos superiores de la representacin decimal completa no tienen impacto en la versin cortada. As, en el ejemplo de p, el primer dgito descartado es 6. El ltimo dgito retenido debe-ra redondearse a 3.141593. Tal redondeo reduce el error a

    Et = 0.00000035

    En consecuencia, el redondeo produce un error absoluto menor que el de corte. Observe que, en el sistema numrico de base 2 de la figura 3.7, redondear significa que cualquier cantidad que est en un intervalo de longitud x se representar como el nmero ms cercano permitido. Entonces, el error mximo de redondeo es x/2. Adems, no se presenta sesgo porque ciertos errores son positivos y otros son nega-tivos. Algunas computadoras emplean redondeo. Sin embargo, esto aumenta el trabajo computacional y, en consecuencia, muchas mquinas simplemente usan el corte. Dicho enfoque se justifica con la suposicin de que el nmero de cifras significativas es suficientemente grande para que los errores de redondeo resultantes sean despreciables.

    3. El intervalo entre los nmeros, x, aumenta conforme los nmeros crecen en mag-nitud. sta es la caracterstica, por supuesto, que permite que la representacin de punto flotante conserve los dgitos significativos. Sin embargo, tambin quiere decir que los errores de cuantificacin sean proporcionales a la magnitud del nmero que ser representado. Para normalizar los nmeros de punto flotante, esta proporciona-lidad se expresa, para los casos en que se emplea el corte, como

    xx

    (3.9)

    y, para los casos donde se utiliza el redondeo, como

    xx

    2

    (3.10)

    3.4 ERRORES DE REDONDEO 67

    Chapra-03.indd 67Chapra-03.indd 67 6/12/06 13:44:156/12/06 13:44:15

  • 68 APROXIMACIONES Y ERRORES DE REDONDEO

    donde a se le denomina psilon de la mquina, el cual se calcula como

    = b1t (3.11)

    donde b es el nmero base y t es el nmero de dgitos significativos en la mantisa. Ob-serve que las desigualdades en las ecuaciones (3.9) y (3.10) quieren decir que stos son los lmites de los errores. Es decir, especifican los casos extremos.

    EJEMPLO 3.5 psilon de la mquina

    Planteamiento del problema. Determine el psilon de la mquina y verifique su efectividad para caracterizar los errores del sistema numrico del ejemplo 3.4. Suponga que se usa al corte.

    Solucin. El sistema de punto flotante hipottico del ejemplo 3.4 empleaba valores de base b = 2, y nmero de bits de la mantisa t = 3. Por lo tanto, el psilon de la mquina debe ser [ecuacin (3.11)]

    = 213 = 0.25

    En consecuencia, el error de cuantificacin relativo estar limitado por 0.25, para el corte. El error relativo ms grande debera ocurrir para aquellas cantidades que caen justo debajo del lmite superior del primer intervalo entre nmeros equidistantes suce-sivos (vase figura 3.8). Aquellos nmeros que caen en los intervalos sucesivos siguien-tes tendrn el mismo valor de x pero un mayor valor de x y, por lo tanto, tendrn un error relativo bajo. Un ejemplo de un error mximo sera un valor que cae justo por debajo de lmite superior del intervalo entre (0.125000)10 y (0.156250)10. Para este caso, el error sera menor a

    0 031250 125000

    0 25..

    .=

    Entonces, el error es como se predijo mediante la ecuacin (3.9).

    Error relativomayor

    FIGURA 3.8El error de cuantifi cacin ms grande ocurrir para aquellos valores que caigan justo debajo del lmite superior del primero de una serie de intervalos equiespaciados.

    El hecho de que los errores de cuantificacin dependan de la magnitud tiene varias aplicaciones prcticas en los mtodos numricos. Muchas de ellas estn relacionadas con la comnmente empleada operacin de probar si dos nmeros son iguales. Ello

    Chapra-03.indd 68Chapra-03.indd 68 6/12/06 13:44:156/12/06 13:44:15

  • ocurre cuando se prueba la convergencia de cantidades, as como en los mecanismos para detener procesos iterativos (vase el ejemplo 3.2). En estos casos deber ser claro que ms que probar si las dos cantidades son iguales, es recomendable probar si su di-ferencia es menor que una pequea tolerancia aceptable. Adems, deber ser evidente que ms que la diferencia absoluta, deber compararse la diferencia normalizada, en especial cuando se trabaja con nmeros de gran magnitud. El psilon de la mquina, adems, se emplea al formular criterios de paro o de convergencia. Esto asegura que los programas sean porttiles, es decir, que no sean dependientes de la computadora sobre la cual se hayan implementado. En la figura 3.9 se presenta un seudocdigo que auto-mticamente determina el psilon de la mquina en una computadora binaria.

    Precisin extendida. Aqu se debe observar que, aunque los errores de redondeo llegan a ser importantes en contextos tales como pruebas de convergencia, el nmero de dgitos significativos que tiene la mayora de las computadoras permite que muchos clculos de ingeniera se realicen con una precisin ms que aceptable. Por ejemplo, el sistema numrico hipottico de la figura 3.7 es una enorme exageracin que se us con propsitos ilustrativos. En las computadoras comerciales se utilizan conjuntos mucho ms grandes y por consiguiente se permite que los nmeros queden expresados con una precisin adecuada. Por ejemplo, las computadoras que usan el formato IEEE permiten 24 bits para ser usados por la mantisa, lo cual se traduce en cerca de siete cifras signifi-cativas de precisin1 en dgitos de base 10 con un rango aproximado de 1038 a 1039.

    Se debe reconocer que an hay casos donde el error de redondeo resulta crtico. Por tal razn muchas computadoras permiten la especificacin de precisin extendida. La ms comn de estas especificaciones es la doble precisin, en la cual se duplica el n-mero de palabras utilizado para guardar nmeros de punto flotante. Esto proporciona de 15 a 16 dgitos decimales de precisin y un rango aproximado de 10308 a 10308.

    En muchos casos el uso de cantidades de doble precisin llega a reducir, en gran medida, el efecto del error de redondeo. Sin embargo, el precio que se paga por tales medidas remediales consiste en mayores requerimientos de memoria y de tiempo de ejecucin. La diferencia en el tiempo de ejecucin de un clculo pequeo podra parecer insignificante. No obstante, conforme los programas van siendo cada vez ms grandes y complicados, el tiempo de ejecucin agregado se vuelve ms considerable y repercute de manera negativa para resolver el problema en forma efectiva. Por lo tanto, la precisin extendida no debera utilizarse en forma generalizada. Por el contrario, deber ser em-pleada en forma selectiva, donde se obtenga un mximo beneficio al menor costo en trminos de tiempo de ejecucin. En las siguientes secciones veremos ms de cerca cmo los errores de redondeo afectan los clculos y ello nos servir para comprender los fun-damentos que nos guen en el uso de la capacidad de la doble precisin.

    Antes de proseguir, debemos observar que algunos paquetes de software de uso comn (por ejemplo, Excel o Mathcad) normalmente utilizan doble precisin para re-presentar las cantidades numricas. As, quienes desarrollaron estos paquetes decidieron reducir los errores de redondeo sacrificando velocidad para usar una precisin extendi-da. Otros, como el MATLAB, permiten usar la precisin extendida, si se desea.

    1 Observe que, de hecho, nicamente 23 bits se emplean en la memoria para la mantisa. Sin embargo, debido a

    la normalizacin, el primer bit de la mantisa es siempre 1 y, por lo tanto, no se guarda. As, el primer bit junto con los 23 bits de memoria dan 24 bits en total para la precisin de la mantisa.

    3.4 ERRORES DE REDONDEO 69

    epsilon = 1DOIF (epsilon+1 1) EXITepsilon = epsilon/2

    END DOepsilon = 2 epsilon

    FIGURA 3.9Seudocdigo para deter-minar el psilon de la m-quina en una computadora binaria.

    Chapra-03.indd 69Chapra-03.indd 69 6/12/06 13:44:156/12/06 13:44:15

  • 70 APROXIMACIONES Y ERRORES DE REDONDEO

    3.4.2 Manipulacin aritmtica de nmeros en la computadora

    Junto con las limitaciones del sistema numrico de una computadora, las manipulaciones aritmticas que se usan con tales nmeros tambin pueden dar como resultado errores de redondeo. En la siguiente seccin se ilustrar primero cmo afectan las operaciones aritmticas comunes a los errores de redondeo. De este modo, investigaremos varias manipulaciones que son especialmente propensas a errores de redondeo.

    Operaciones aritmticas comunes. A causa de que estamos familiarizados con los nmeros de base 10, los emplearemos para ilustrar el efecto del error de redondeo en las operaciones bsicas: suma, resta, multiplicacin y divisin. Otras bases de nmeros pueden tener un comportamiento similar. Para simplificar el anlisis, emplearemos una computadora decimal hipottica con una mantisa de 4 dgitos y un exponente de 1 dgi-to. Adems, se usar el corte. El redondeo puede implicar errores similares, aunque menos dramticos.

    Cuando se suman dos nmeros de punto flotante, el nmero de la mantisa con el exponente menor se modifica de tal forma que los exponentes sean los mismos. Esto tiene el efecto de alinear los puntos decimales. Por ejemplo, suponga que se quiere sumar 0.1557 101 + 0.4381 101. El decimal de la mantisa del segundo nmero se recorre a la izquierda un nmero de lugares igual a la diferencia de los exponentes [1 (1) = 2], as,

    0.4381 101 0.004381 101

    Ahora se suman los nmeros,

    0.1557 1010.004381 101

    0.160081 101

    y el resultado es cortado a 0.1600 101. Note cmo los ltimos dos dgitos del segundo nmero que se recorrieron a la derecha fueron eliminados de los clculos.

    La resta se realiza en forma idntica a la suma, con la excepcin del signo del sus-traendo, que es negativo. Por ejemplo, suponga que hacemos la resta 36.41 menos 26.86. Esto es,

    0.3641 102 0.2686 102 0.0955 102

    Aqu el resultado no est normalizado y se debe recorrer el decimal un lugar a la derecha para obtener 0.9550 101 = 9.550. Observe que el cero sumado al final de la man-tisa no es relevante, tan slo llena el espacio vaco creado al recorrer los nmeros. Es posible obtener resultados ms dramticos todava, cuando las cantidades estn muy cercanas, como por ejemplo,

    0.7642 1030.7641 103 0.0001 103

    Chapra-03.indd 70Chapra-03.indd 70 6/12/06 13:44:156/12/06 13:44:15

  • que podra convertirse en 0.1000 100 = 0.1000. As, en este caso, se agregan tres ceros no significativos, lo cual introduce un error sustancial de clculo debido a que las ma-nipulaciones siguientes actan como si los ceros fueran significativos. Como se ver ms adelante en otra seccin, la prdida significativa durante la resta de nmeros casi iguales es una de las principales fuentes de errores de redondeo en los mtodos numricos.

    La multiplicacin y la divisin resultan un poco ms sencillos que la suma y la resta. Los exponentes se suman y la mantisa se multiplica. Debido a que la multiplicacin de dos mantisas de n dgitos da como resultado 2n dgitos, muchas computadoras ofrecen resultados intermedios en un registro de doble longitud. Por ejemplo,

    0.1363 103 0.6423 101 = 0.08754549 102

    Si, como en este caso, se introduce un cero, el resultado es normalizado,

    0.08754549 102 0.8754549 101

    y cortando resulta

    0.8754 101

    La divisin se realiza en forma similar, aunque las mantisas se dividen y los expo-nentes se restan. Entonces el resultado es normalizado y cortado.

    Clculos grandes. Ciertos mtodos requieren un nmero extremadamente grandede manipulaciones aritmticas para llegar a los resultados finales. Adems, dichos clcu-los a menudo son interdependientes; es decir, los clculos son dependientes de los resultados previos. En consecuencia, aunque el error de redondeo individual sea pequeo, el efecto acumulativo durante el proceso de muchos clculos puede ser rele-vante.

    EJEMPLO 3.6 Un nmero grande de clculos interdependientes

    Planteamiento del problema. Investigue el efecto del error de redondeo en un gran nmero de clculos interdependientes. Desarrolle un programa que sume un nmero 100 000 veces. Sume el nmero 1 con precisin simple, y 0.00001 con precisiones sim-ple y doble.

    Solucin. En la figura 3.10 se muestra un programa en Fortran 90 que realiza la suma. Mientras que la suma con precisin simple de 1 dar el resultado esperado, la precisin simple en la suma de 0.00001 tiene una gran discrepancia. Este error se reduce de ma-nera importante cuando 0.00001 se suma con precisin doble.

    Los errores de cuantificacin son la fuente de las discrepancias. Debido a que el entero 1 puede ser representado en forma exacta en la computadora, puede sumarse exactamente. En contraste, 0.00001 no puede representarse con exactitud y se cuantifi-ca con un valor que es ligeramente diferente de su valor verdadero. Aunque esta ligera discrepancia resultar insignificante para un clculo pequeo, se acumula despus de la repeticin de sumas. Tal problema ocurre tambin con la precisin doble, pero se redu-ce en forma relevante porque el error de cuantificacin es mucho ms pequeo.

    3.4 ERRORES DE REDONDEO 71

    Chapra-03.indd 71Chapra-03.indd 71 6/12/06 13:44:166/12/06 13:44:16

  • 72 APROXIMACIONES Y ERRORES DE REDONDEO

    Observe que el tipo de error ilustrado en el ejemplo anterior es algo atpico porque todos los errores en las operaciones que se repiten tienen el mismo signo. En muchos casos, los errores en grandes clculos alternan el signo de manera aleatoria y, entonces, con frecuencia se cancelan. Sin embargo, hay tambin algunos casos donde tales errores no se cancelan pero, en efecto, llevan a resultados finales dudosos. En las siguientes secciones se mostrar cmo puede ocurrir esto.

    Suma de un nmero grande y uno pequeo. Suponga que se desea sumar un n-mero pequeo, 0.0010, con un nmero grande, 4 000, utilizando una computadora hipo-ttica con una mantisa de 4 dgitos y un exponente de 1 dgito. Modificamos el nmero pequeo para que su exponente sea igual al del grande,

    0.4000 1040.0000001 104

    0.4000001 104

    el cual se corta a 0.4000 l04. As, result lo mismo que si no hubiramos realizado la suma!

    Este tipo de error puede ocurrir cuando se calculan series infinitas. Por ejemplo, si el trmino inicial de una serie es relativamente grande en comparacin con los dems trminos, despus de que se han sumado unos pocos trminos, estamos en la situacin de sumar una cantidad pequea a una cantidad grande.

    PROGRAM fig0310IMPLICIT noneINTEGER::iREAL::sum1, sum2, x1, x2DOUBLE PRECISION::sum3, x3sum1=0.sum2=0.sum3=0.x1=1.x2=1.e-5x3=1.d-5DO i=1, 100000

    sum1=sum1+x1sum2=sum2+x2sum3=sum3+x3

    END DOPRINT *, sum1PRINT *, sum2PRINT *, sum3ENDoutput:100000.000000 1.000990 9.999999999980838E-001

    FIGURA 3.10Programa en Fortran 90 para sumar un nmero 105 veces. Aqu se suma el n-mero 1 con precisin simple y el nmero 105 con preci-siones simple y doble.

    Chapra-03.indd 72Chapra-03.indd 72 6/12/06 13:44:166/12/06 13:44:16

  • Una manera de reducir este tipo de errores consiste en sumar la serie en sentido inverso: esto es, en orden ascendente en lugar de descendente. De esta manera, cada nuevo trmino ser comparable en magnitud con el de la suma acumulada (vase el problema 3.4).

    Cancelacin por resta. Se refiere al redondeo inducido cuando se restan dos nme-ros de punto flotante casi iguales.

    Un caso comn donde esto ocurre es en la determinacin de las races de una ecua-cin cuadrtica o parbola utilizando la frmula cuadrtica,

    x

    x

    b b aca

    1

    2

    2 42

    =

    (3.12)

    En los casos donde b2 >> 4ac, la diferencia en el numerador puede ser muy pequea. En tales casos, la precisin doble llega a reducir el problema. Adems, una formulacin alternativa puede usarse para minimizar la cancelacin por resta.

    x

    x

    c

    b b ac1

    22

    24

    =

    (3.13)

    Una ilustracin del problema y del uso de esta frmula alternativa se ofrecen en el si-guiente ejemplo.

    EJEMPLO 3.7 Cancelacin por resta

    Planteamiento del problema. Calcule el valor de las races de una ecuacin cuadrti-ca con a = 1, b = 3 000.001 y c = 3. Compare el valor calculado con las races verdaderas x1 = 0.001 y x2 = 3 000.

    Solucin. En la figura 3.11 se muestra un programa en Fortran 90 que calcula las races x1 y x2 usando la frmula cuadrtica [(ecuacin (3.12)]. Observe que se dan las versiones tanto de la precisin simple como la precisin doble. Mientras que los resul-tados para x2 son adecuados, el error relativo porcentual para x1 es pobre para la precisin simple, et = 2.4%. Este valor quiz resulte para muchos problemas de aplicaciones en ingeniera. Este resultado es en particular sorpresivo porque se emplea una frmula analtica para obtener la solucin!

    La prdida de significancia ocurre en la lnea del programa donde dos nmeros grandes se restan. No ocurren problemas semejantes cuando los mismos nmeros se suman.

    Considerando lo anterior podemos obtener la conclusin general de que la frmu-la cuadrtica ser susceptible de cancelacin por resta cada vez que b2 >> 4ac. Una manera de evitar este problema consiste en usar precisin doble. Otra es reacomodar la frmula cuadrtica en la forma de la ecuacin (3.13). Ya que en la salida del programa, ambas opciones dan un error mucho menor porque se minimiza o evita la cancelacin por resta.

    3.4 ERRORES DE REDONDEO 73

    Chapra-03.indd 73Chapra-03.indd 73 6/12/06 13:44:166/12/06 13:44:16

  • 74 APROXIMACIONES Y ERRORES DE REDONDEO

    Considere que, como en el ejemplo anterior, hay veces en las que la cancelacin por resta se evita empleando una transformacin. No obstante, el nico remedio general es usar la precisin extendida.

    Dispersin. La dispersin ocurre generalmente cuando los trminos individuales en la sumatoria son ms grandes que la sumatoria misma. Como en el siguiente ejemplo, casos como stos ocurren en las series con signos alternados.

    EJEMPLO 3.8 Evaluacin de ex usando series infi nitas

    Planteamiento del problema. La funcin exponencial y = ex est dada por la serie infinita

    y x x x= + + + +12 3

    2 3

    ! !

    Evale esta funcin para x = 10 y x = 10; est atento al problema del error de redondeo.

    Solucin. En la figura 3.12a se muestra un programa en Fortran 90 que utiliza una serie infinita para evaluar ex. La variable i es el nmero de trminos en la serie, term es el valor de trmino actual que se le agrega a la serie, y sum es el valor acumulado de la serie. La variable test es el valor acumulado precedente de la serie antes de la suma de term. La serie se termina cuando la computadora no puede detectar la diferencia entre test y sum.

    PROGRAM fig0311IMPLICIT noneREAL::a,b,c,d,x1,x2,x1rDOUBLE PRECISION::aa,bb,cc,dd,x11,x22a = 1.b = 3000.001c = 3.d = SQRT(b * b - 4. * a * c)x1 = (-b + d) / (2. * a)x2 = (-b - d) / (2. * a)PRINT *, resultados con precisin simple:PRINT (1x, a10, f20.14), x1 = , x1PRINT (1x, a10, f10.4), x2 = , x2PRINT *aa = 1.bb = 3000.001cc = 3.dd = SQRT(bb * bb 4. * aa * cc)x11 = (-bb + dd) / (2. * aa)x22 = (-bb dd) / (2. * aa)

    PRINT *, resultados con precisin doble:PRINT (1x,a10,f20.14), x1 = , x11PRINT (1x,a10,f10.4), x2 = , x22PRINT *PRINT *, frmula modificada para la primer raz:x1r = -2. * c / (b + d)PRINT (1x,a10,f20.14), x1 = , x1rEND

    SALIDAresultados con precisin simple:

    x1 = -.00097656250000x2 = -3000.0000

    resultados con precisin doble:x1 = -.00100000000771x2 = -3000.0000

    frmula modificada para la primera raz:x1 = -.00100000000000

    FIGURA 3.11Programa en Fortran 90 para determinar las races de una ecuacin cuadrtica. Con precisiones simple y doble.

    Chapra-03.indd 74Chapra-03.indd 74 6/12/06 13:44:176/12/06 13:44:17

  • c) Evaluacin de e10

    x=

    -10i term sum0 1.000000 1.0000001 10.000000 9.0000002 50.000000 41.0000003 166.666700 125.6667004 416.666700 291.0000005 833.333400 542.333400 .

    .

    .

    1 2.989312E-09 8.137590E-0542 7.117410E-10 8.137661E-0543 1.655212E-10 8.137644E-0544 3.761845E-11 8.137648E-0545 8.359655E-12 8.137647E-05valor exacto = 4.539993E-05

    a) Programa

    PROGRAM fi g0312IMPLICIT noneReal::term, test, sum,xINTEGER::ii = 0term = 1.sum = 1.test = 0.PRINT *, x = READ *, xPRINT *, i, term, sumDO

    IF (sum.EQ.test) EXITPRINT *, i, term, sumi = i + 1term = term*x/itest = sumsum = sum+term

    END DOPRINT *, valor exacto = ,exp(x)END

    b) Evaluacin de e10

    x=

    10i term sum0 1.000000 1.0000001 10.000000 11.0000002 50.000000 61.0000003 166.666700 227.6667004 416.666700 644.3334005 833.333400 1477.667000 .

    .

    .

    27 9.183693E-02 22026.42000028 3.279890E-02 22026.45000029 1.130997E-02 22026.46000030 3.769989E-03 22026.47000031 1.216126E-03 22026.470000valor exacto = 22026.460000

    FIGURA 3.12a) Un programa en Fortran 90 para evaluar ex usando series infi nitas. b) Evaluacin de ex. c) Evaluacin de ex.

    3.4 ERRORES DE REDONDEO 75

    Chapra-03.indd 75Chapra-03.indd 75 6/12/06 13:44:176/12/06 13:44:17

  • 76 APROXIMACIONES Y ERRORES DE REDONDEO

    La figura 3.12b muestra los resultados de la ejecucin del programa para x = 10. Observe que este caso es completamente satisfactorio. El resultado final se alcanza en 31 trminos con la serie idntica para el valor de la funcin en la biblioteca con siete cifras significativas.

    En la figura 3.12c se muestran los resultados para x = 10. Sin embargo, en este caso, los resultados de la serie calculada no coinciden ni en el signo con respecto al re-sultado verdadero. De hecho, los resultados negativos abren una gama de preguntas serias porque ex nunca puede ser menor que cero. El problema es causado por el error de redondeo. Observe que muchos de los trminos que conforman la suma son mucho ms grandes que el resultado final de la suma. Adems, a diferencia del caso anterior, los trminos individuales varan de signo. As, en efecto, estamos sumando y restando nmeros grandes (cada uno con algn error pequeo) y dando gran significancia a las diferencias; esto es, cancelacin por resta. Entonces, puede verse que el culpable en este ejemplo de dispersin es, en efecto, la cancelacin por resta. En tales casos es apropiado buscar alguna otra estrategia de clculo. Por ejemplo, uno podra tratar de calcular y = e10 como y = (e1)10. En lugar de una reformulacin, ya que el nico recurso general es la precisin extendida.

    Productos internos. De las secciones anteriores debe quedar claro que, algunas series infinitas son particularmente propensas a errores por redondeo. Por fortuna, el clculo de series no es una de las operaciones ms comunes en mtodos numricos. Una mani-pulacin ms frecuente es el clculo de productos internos, esto es,

    x y x y x y x yi i n ni

    n

    = + + +=

    1 1 2 21

    Esta operacin es muy comn, en particular en la solucin de ecuaciones simultneas lineales algebraicas. Tales sumatorias son propensas a errores por redondeo. En conse-cuencia, a menudo es deseable calcular tales sumas con precisin extendida.

    Aunque en las secciones siguientes se ofrecern reglas prcticas para reducir el error de redondeo, no son un medio directo mejor que el mtodo de prueba y error para de-terminar realmente el efecto de tales errores en los clculos. En el prximo captulo se presentar la serie de Taylor, la cual proporcionar un enfoque matemtico para estimar esos efectos.

    PROBLEMAS

    3.1 Convierta los nmeros siguientes en base 2 a nmeros en base 10: a) 1011101. b) 101.101, y c) 0.01101.3.2 Realice su propio programa con base en la figura 3.9 y selo para determinar el psilon de mquina de su computadora.3.3 En forma similar a la de la figura 3.9, escriba un programa corto para determinar el nmero ms pequeo, xmn, que utiliza la computadora que emplear con este libro. Observe que su computadora ser incapaz de diferenciar entre cero y una canti-dad ms pequea que dicho nmero.

    3.4 La serie infinita

    f nii

    n

    ( ) ==

    141

    converge a un valor de f(n) = p 4/90 conforme n se tiende a infi-nito. Escriba un programa de precisin sencilla para calcular f (n) para n = 10 000 por medio de calcular la suma desde i = 1 hasta 10 000. Despus repita el clculo pero en sentido inverso, es

    Chapra-03.indd 76Chapra-03.indd 76 6/12/06 13:44:176/12/06 13:44:17

  • decir, desde i = 10 000 a 1, con incrementos de 1. En cada caso, calcule el error relativo porcentual verdadero. Explique los re-sultados.3.5 Evale e5 con el uso de dos mtodos

    e xx xx

    = + +12 3

    2 3

    !

    y

    ee

    xx x

    x

    x

    = =

    + + + +

    1 1

    12 3

    2 3

    !

    y comprelo con el valor verdadero de 6.737947 103. Utilice 20 trminos para evaluar cada serie y calcule los errores relativos aproximado y verdadero como trminos que se agregaran.3.6 La derivada de f(x) = 1/(1 3x2)2 est dada por

    61 3 2 2

    x

    x( )Esperara el lector dificultades para evaluar esta funcin para x = 0.577? Intntelo con aritmtica de 3 y 4 dgitos con corte.3.7 a) Evale el polinomio

    y = x3 7x2 + 8x + 0.35

    en x = 1.37. Utilice aritmtica de 3 dgitos con corte. Evale el error relativo porcentual.

    b) Repita el inciso a) pero exprese a y comoy = [(x 7)x + 8]x + 0.35

    Evale el error y comprelo con el inciso a).3.8 Calcule la memoria de acceso al azar (RAM) en megabytes, que es necesaria para almacenar un arreglo multidimensional de 20 40 120. Este arreglo es de doble precisin, y cada valor requiere una palabra de 64 bits. Recuerde que una palabra de 64 bits = 8 bytes, y un kilobyte = 210 bytes. Suponga que el ndice comienza en 1.3.9 Determine el nmero de trminos necesarios para aproximar cos x a 8 cifras significativas con el uso de la serie de McLaurin.

    cos! ! !

    xx x x x

    = + + 12 4 6 8

    2 4 6 8

    Calcule la aproximacin con el empleo del valor de x = 0.3p. Escriba un programa para determinar el resultado.3.10 Utilice aritmtica de 5 dgitos con corte para determinar las races de la ecuacin siguiente, por medio de las ecuaciones (3.12) y (3.13).

    x2 5000.002x + 10

    Calcule los errores relativos porcentuales de sus resultados.3.11 Cmo puede emplearse el psilon de la mquina para formular un criterio de detencin es para sus programas? D un ejemplo.

    PROBLEMAS 77

    Chapra-03.indd 77Chapra-03.indd 77 6/12/06 13:44:176/12/06 13:44:17