Sei sulla pagina 1di 7

3

3.1 CIFRAS SIGNIFICATIVAS 49

CAPÍTULO
CAPÍTULO 3 se introduce por el hecho de que los métodos numéricos pueden emplear aproximaciones para re
presentar operaciones y cantidades matemáticas exactas. Por último, se analizan los errores que no
están relacionados directamente con el método numérico en sí. Éstos son equivocaciones, errores d

Aproximaciones y errores
formulación o del modelo, y la incertidumbre en la obtención de los datos, entre otros.

de redondeo
3.1 CIFRAS SIGNIFICATIVAS

En esta obra se trata de manera extensa con aproximaciones que se relacionan con el manejo d
números. En consecuencia, antes de analizar los errores asociados con los métodos numéricos, e
útil repasar algunos conceptos básicos referentes a la representación aproximada de los número
mismos.
A causa de que la mayor parte de los métodos expuestos en este libro son muy sencillos en su des- Cuando se emplea un número para realizar un cálculo, debe haber seguridad de que pued
cripción y en sus aplicaciones, en este momento resulta tentador ir directamente al cuerpo principal usarse con confianza. Por ejemplo, la figura 3.1 muestra un velocímetro y un odómetro (contador d
del texto y averiguar el empleo de dichas técnicas. Sin embargo, entender el concepto de error es tan kilometraje) de un automóvil. Con un simple vistazo al velocímetro se observa que el vehículo via
importante para utilizar en forma efectiva los métodos numéricos que los dos siguientes capítulos ja a una velocidad comprendida entre 48 y 49 km/h. Como la aguja está más allá de la mitad entr
se eligieron para tratar el tema. las marcas del indicador, es posible asegurar que el automóvil viaja aproximadamente a 49 km/h
La importancia de los errores se mencionó por primera vez en el análisis de la caída del para- Tenemos confianza en este resultado, ya que dos o más individuos que hicieran esta lectura llegarían
caidista en el capítulo 1. Recuerde que la velocidad de caída del paracaidista se determinó por mé- a la misma conclusión. Sin embargo, supongamos que se desea obtener una cifra decimal en la esti
todos analíticos y numéricos. Aunque con la técnica numérica se obtuvo una aproximación a la mación de la velocidad. En tal caso, alguien podría decir 48.8, mientras que otra persona podrí
solución analítica exacta, hubo cierta discrepancia o error, debido a que los métodos numéricos dan decir 48.9 km/h. Por lo tanto, debido a los límites del instrumento, únicamente se emplean con
sólo una aproximación. En realidad fuimos afortunados en este caso porque teníamos la solución confianza los dos primeros dígitos. Para estimaciones del tercer dígito (o más allá) sólo se conside
analítica que nos permitía calcular el error en forma exacta. Pero en muchos problemas de aplicación rarían aproximaciones. Sería ridículo afirmar, considerando el velocímetro de la figura, que el au
en ingeniería no es posible obtener la solución analítica; por lo tanto, no se pueden calcular con tomóvil viaja a 48.8642138 km/h. En contraste, el odómetro muestra hasta seis dígitos confiables
exactitud los errores en nuestros métodos numéricos. En tales casos debemos usar aproximaciones De la figura 3.1 se concluye que el automóvil ha recorrido un poco menos de 87 324.5 km durant
o estimaciones de los errores. su uso. Aquí el séptimo dígito (y los siguientes) resultan inciertos.
La mayor parte de las técnicas desarrolladas en este libro tienen la característica de poseer El concepto de cifras o dígitos significativos se ha desarrollado para designar formalmente l
errores. En primera instancia, esto puede parecer contradictorio, ya que no coincide con la imagen confiabilidad de un valor numérico. Las cifras significativas de un número son aquellas que pueden
que se tiene de una buena ingeniería. Los estudiantes y los practicantes de la ingeniería trabajan utilizarse en forma confiable. Se trata del número de dígitos que se ofrecen con certeza, más uno
constantemente para limitar este tipo de errores en sus actividades. Cuando hacen un examen o estimado. Por ejemplo, el velocímetro y el odómetro de la figura 3.1 muestran lecturas de hasta tre
realizan sus tareas, son sancionados, mas no premiados por sus errores. En la práctica profesional, y siete cifras significativas, respectivamente. Para el velocímetro, los dos dígitos seguros son 48
los errores llegan a resultar costosos y, en algunas ocasiones, catastróficos. Si una estructura o un Por convención al dígito estimado se le da e
dispositivo falla, esto puede costar vidas. valor de la mitad de la escala menor de división
Aunque la perfección es una meta digna de alabarse, es difícil, si no imposible, alcanzarla. Por en el instrumento de medición. Así, la lectur
ejemplo, a pesar de que el modelo obtenido mediante la segunda ley de Newton es una aproximación del velocímetro consistirá de las tres cifras sig
excelente, en la práctica jamás predecirá con exactitud la caída del paracaidista. Fenómenos tales nificativas: 48.5. En forma similar, el odómetro
como la velocidad del viento y alguna ligera variación de la resistencia del aire desviarían la predic- dará una lectura con siete cifras significativas
ción. Si tales desviaciones son sistemáticamente grandes o pequeñas, habría entonces que formular 87 324.45.
un nuevo modelo. No obstante, si su distribución es aleatoria y se agrupan muy cerca de la predicción, 40 60
Aunque, por lo común, determinar las cifra
entonces las desviaciones se considerarían insignificantes y el modelo parecerá adecuado. Las aproxi- significativas de un número es un procedimiento
maciones numéricas también presentan discrepancias similares en el análisis. De nuevo, las pregun- 40 80
sencillo, en algunos casos genera cierta confu
tas 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, cuanti- 20 100
ficación y minimización de dichos errores. En las primeras secciones se revisa la información refe-
rente a la cuantificación de los errores. En seguida, se estudia uno de los dos errores numéricos más FIGURA 3.1
comunes: errores de redondeo. Los errores de redondeo se deben a que la computadora tan sólo 0 120
El velocímetro y el odómetro de un automóvil
representa cantidades con un número finito de dígitos. En el siguiente capítulo nos ocuparemos de 4 ejemplifican el concepto de cifras significativas.
8 7 3 2 4 5
otra clase importante de error: el de truncamiento. El error de truncamiento es la discrepancia que

Chapra-03.indd 48 24/11/10 11:34:23 Chapra-03.indd 49 9/11/10


50 CApíTulo 3 ApRoxImACIoNeS y eRRoReS de RedoNdeo 3.3 deFINICIoNeS de eRRoR 51

sión. Por ejemplo, los ceros no siempre son cifras significativas, ya que pueden usarse sólo para FIGURA 3.2
ubicar el punto decimal: los números 0.00001845, 0.0001845 y 0.001845 tienen cuatro cifras signi­ Aumenta la exactitud Un ejemplo de puntería ilustra los conceptos de
ficativas. Asimismo, cuando se incluye ceros en números muy grandes, no queda claro cuántos son exactitud y precisión. a) Inexacto e impreciso;
significativos. Por ejemplo, el número 45 300 puede tener tres, cuatro o cinco dígitos significativos, b) exacto e impreciso; c) inexacto y preciso;
d) exacto y preciso.
dependiendo de si los ceros se conocen o no con exactitud. La incertidumbre se puede eliminar
utilizando la notación científica, donde 4.53 × 104, 4.530 × 104, 4.5300 × 104 muestran, respectiva­
mente, que el número tiene tres, cuatro y cinco cifras significativas.
El concepto de cifras significativas tiene dos implicaciones importantes en el estudio de los
métodos numéricos.

Aumenta la precisión
1. Como se mencionó en el problema de la caída del paracaidista, los métodos numéricos dan
resultados aproximados. Por lo tanto, se deben desarrollar criterios para especificar qué tan
a) b)
confiables son dichos resultados. Una manera de hacerlo es en términos de cifras significativas.
Por ejemplo, es posible afirmar que la aproximación es aceptable siempre y cuando sea correc­
ta con cuatro cifras significativas.
2. Aunque ciertas cantidades tales como p, e o 7 representan cantidades específicas, no se pue­
den expresar exactamente con un número finito de dígitos. Por ejemplo,

p = 3.141592653589793238462643...
tanto la inexactitud como la imprecisión en la
hasta el infinito. Como las computadoras retienen sólo un número finito de cifras significativas, predicciones. Con dichos conceptos como ante
tales números jamás se podrán representar con exactitud. A la omisión del resto de cifras signi­ c) d) cedentes, ahora analizaremos los factores qu
ficativas se le conoce como error de redondeo. contribuyen al error en los cálculos numéricos
Los errores de redondeo y el uso de cifras significativas para expresar nuestra confianza en un
resultado numérico se estudiarán con mayor detalle en las siguientes secciones. Además, el concep­
to de cifras significativas tendrá mucha importancia en la definición de exactitud y de precisión en
la siguiente sección. 3.3 DEFINICIONES DE ERROR

Los errores numéricos surgen del uso de aproximaciones para representar operaciones y cantidade
3.2 EXACTITUD Y PRECISIÓN matemáticas exactas. Éstas incluyen los errores de truncamiento que resultan del empleo de aproxi
maciones como un procedimiento matemático exacto, y los errores de redondeo que se producen
Los errores en cálculos y medidas se pueden caracterizar con respecto a su exactitud y su precisión. cuando se usan números que tienen un límite de cifras significativas para representar números exac
La exactitud se refiere a qué tan cercano está el valor calculado o medido del valor verdadero. La tos. Para ambos tipos de errores, la relación entre el resultado exacto, o verdadero, y el aproximado
precisión se refiere a qué tan cercanos se encuentran, unos de otros, diversos valores calculados o está dada por
medidos.
Estos conceptos se ilustran gráficamente utilizando la analogía con una diana en la práctica de Valor verdadero = valor aproximado + error (3.1
tiro. Los agujeros en cada blanco de la figura 3.2 se consideran como las predicciones con una téc­ Reordenando la ecuación (3.1) se encuentra que el error numérico es igual a la diferencia entre e
nica numérica; mientras que el centro del blanco representa la verdad. La inexactitud (conocida valor verdadero y el valor aproximado, es decir
también como sesgo) se define como una desviación sistemática del valor verdadero. Por lo tanto,
aunque los disparos en la figura 3.2c están más juntos que los de la figura 3.2a, los dos casos son Et = valor verdadero – valor aproximado (3.2
igualmente inexactos, ya que ambos se centran en la esquina superior izquierda del blanco. La im-
precisión (también llamada incertidumbre), por otro lado, se refiere a la magnitud en la dispersión donde Et se usa para denotar el valor exacto del error. El subíndice t indica que se trata del erro
de los disparos. Por consiguiente, aunque las figuras 3.2b y 3.2d son igualmente exactas (esto es, “verdadero” (true). Como ya se mencionó brevemente, esto contrasta con los otros casos, donde s
igualmente centradas respecto al blanco), la última es más precisa, pues los disparos están agrupados debe emplear una estimación “aproximada” del error.
en forma más compacta. Una desventaja en esta definición es que no toma en consideración el orden de la magnitud de
Los métodos numéricos deben ser lo suficientemente exactos o sin sesgo para satisfacer los valor que se estima. Por ejemplo, un error de un centímetro es mucho más significativo si se est
requisitos de un problema particular de ingeniería. También deben ser suficientemente precisos para midiendo un remache en lugar de un puente. Una manera de tomar en cuenta las magnitudes de la
ser adecuados en el diseño de la ingeniería. En este libro se usa el término error para representar cantidades que se evalúan consiste en normalizar el error respecto al valor verdadero, es decir

Chapra-03.indd 50 9/11/10 17:53:25 Chapra-03.indd 51 9/11/10


52 CApíTulo 3 ApRoxImACIoNeS y eRRoReS de RedoNdeo 3.3 deFINICIoNeS de eRRoR 53

error verdadero ecuación (3.4). Uno de los retos que enfrentan los métodos numéricos es el de determinar estima
Error relativo fraccional verdadero = ———————
valor verdadero ciones del error en ausencia del conocimiento de los valores verdaderos. Por ejemplo, ciertos méto
dos numéricos usan un método iterativo para calcular los resultados. En tales métodos se hace un
donde, como ya se mencionó en la ecuación (3.2), error = valor verdadero – valor aproximado. El aproximación considerando la aproximación anterior. Este proceso se efectúa varias veces, o d
error relativo también se puede multiplicar por 100% para expresarlo como forma iterativa, para calcular en forma sucesiva, esperando cada vez mejores aproximaciones. En
error verdadero tales casos, el error a menudo se calcula como la diferencia entre la aproximación previa y la actual
et = ——————— 100% (3.3)
valor verdadero Por lo tanto, el error relativo porcentual está dado por
donde et denota el error relativo porcentual verdadero. aproximación actual – aproximación anterior 100%
ea = ———————————————–——— (3.5
aproximación actual
EJEMPLO 3.1 Cálculo de errores
En capítulos posteriores se explicarán con detalle éste y otros métodos para expresar errores.
Planteamiento del problema. Suponga que se tiene que medir la longitud de un puente y la de
Los signos de las ecuaciones (3.2) a (3.5) pueden ser positivos o negativos. Si la aproximación
un remache, y se obtiene 9 999 y 9 cm, respectivamente. Si los valores verdaderos son 10 000 y 10 es mayor que el valor verdadero (o la aproximación previa es mayor que la aproximación actual), e
cm, calcule a) el error verdadero y b) el error relativo porcentual verdadero en cada caso. error es negativo; si la aproximación es menor que el valor verdadero, el error es positivo. También
Solución en las ecuaciones (3.3) a (3.5), el denominador puede ser menor a cero, lo cual también llevaría a un
error negativo. A menudo, cuando se realizan cálculos, no importa mucho el signo del error, sino
a) El error en la medición del puente es [ecuación (3.2)] más bien que su valor absoluto porcentual sea menor que una tolerancia porcentual prefijada es. Po
Et = 10 000 – 9 999 = 1 cm lo tanto, es útil emplear el valor absoluto de las ecuaciones (3.2) a (3.5). En tales casos, los cálculo
se repiten hasta que
y en la del remache es de
|ea| < es (3.6
Et = 10 – 9 = 1 cm
Si se cumple la relación anterior, entonces se considera que el resultado obtenido está dentro de
b) El error relativo porcentual para el puente es [ecuación (3.3)] nivel aceptable fijado previamente es. Observe que en el resto del texto en general emplearemo
1 exclusivamente valores absolutos cuando utilicemos errores relativos.
et = ——— 100% = 0.01%
10 000 Es conveniente también relacionar estos errores con el número de cifras significativas en l
aproximación. Es posible demostrar (Scarborough, 1966) que si el siguiente criterio se cumple, s
y para el remache es de tendrá la seguridad que el resultado es correcto en al menos n cifras significativas.
1
et = —– 100% = 10% es = (0.5 × 102–n)% (3.7
10
Por lo tanto, aunque ambas medidas tienen un error de 1 cm, el error relativo porcentual del remache EJEMPLO 3.2 Estimación del error con métodos iterativos
es mucho mayor. Se concluye entonces que se ha hecho un buen trabajo en la medición del puente;
mientras que la estimación para el remache dejó mucho que desear. Planteamiento del problema. En matemáticas con frecuencia las funciones se representan me
diante series infinitas. Por ejemplo, la función exponencial se calcula usando
x2 x3 xn
Observe que en las ecuaciones (3.2) y (3.3), E y e tienen un subíndice t que significa que el error ex = 1 + x + —– + —– + … + —– (E3.2.1
2! 3! n!
ha sido normalizado al valor verdadero. En el ejemplo 3.1 teníamos el valor verdadero. Sin embargo,
en las situaciones reales a veces es difícil contar con tal información. En los métodos numéricos, el Así cuanto más términos se le agreguen a la serie, la aproximación será cada vez más una mejo
valor verdadero sólo se conocerá cuando se tengan funciones que se resuelvan analíticamente. Éste estimación del valor verdadero de ex. La ecuación (E3.2.1) se conoce como expansión en series d
comúnmente será el caso cuando se estudie el comportamiento teórico de una técnica específica para Maclaurin.
sistemas simples. Sin embargo, en muchas aplicaciones reales, no se conoce a priori la respuesta Empezando con el primer término ex = 1 y agregando término por término, estime el valor d
verdadera. Entonces en dichos casos, una alternativa es normalizar el error, usando la mejor estima­ e0.5 . Después de agregar cada término, calcule los errores: relativo porcentual verdadero y normali
ción posible al valor verdadero; es decir, para la aproximación misma, como en zado a un valor aproximado usando las ecuaciones (3.3) y (3.5), respectivamente. Observe que e
error aproximado valor verdadero es e0.5 = 1.648721… Agregue términos hasta que el valor absoluto del error aproxi
ea = —————–—— 100% (3.4) mado ea sea menor que un criterio de error preestablecido es con tres cifras significativas.
valor aproximado
donde el subíndice a significa que el error está normalizado a un valor aproximado. Observe también Solución. En primer lugar la ecuación (3.7) se emplea para determinar el criterio de error qu
que en aplicaciones reales la ecuación (3.2) no se puede usar para calcular el término del error de la asegura que un resultado sea correcto en al menos tres cifras significativas:

Chapra-03.indd 52 9/11/10 17:53:26 Chapra-03.indd 53 9/11/10


cha01064_ch03.qxd 3/20/09 11:21 AM Page 60

54 CApíTulo 3 ApRoxImACIoNeS y eRRoReS de RedoNdeo 3.3 deFINICIoNeS de eRRoR 55

60 APPROXIMATIONS AND ROUND-OFF ERRORS


es = (0.5 × 102–3)% = 0.05% FUNCTION IterMeth(val, es, maxit) En la figura 3.3 se presenta un pseudocódigo par
iter = 1 FUNCTION IterMeth(val,unes,
cálculo iterativo genérico. A la función se le pasa un
maxit)
Por lo tanto, se agregarán términos a la serie hasta que ea sea menor que este valor. sol = val iter � 1 valor (val) junto con criterio de error de detención (es)
La primera estimación es igual a la ecuación (E3.2.1) con un solo término. Entonces, la prime­ ea = 100
sol � val y un valor máximo permisible de iteraciones (maxit)
ra estimación es igual a 1. La segunda estimación se obtiene agregando el segundo término, así: DO
solold = sol ea � 100 El valor típicamente es: 1) un valor inicial, o 2) el valo
ex = 1 + x sol = ... DO para el cual se debe hacer el cálculo iterativo.
iter = iter + 1 solold � sol La función inicializa primero tres variables, que in
y para x = 0.5, IF sol ≠ 0 ea=abs((sol - solold)/sol)*100
sol � ... cluyen: 1) una variable iter que lleva la cuenta de
e0.5 = 1 + 0.5 = 1.5 IF ea ≤ es OR iter ≥ maxit EXIT
iter � iter � 1 número de iteraciones, 2) una variable sol que contien
END DO el estimado
IF sol � 0 ea�abs((sol actual de la solución y 3) una variable ea
� solold)/sol)*100
Esto representa el error relativo porcentual verdadero de [ecuación (3.3)] IterMeth = sol
IF ea � es OR iter que contiene
� maxit EXITel porcentaje aproximado de error relativo
END IterMeth
1.648721 – 1.5 END DO Observe que ea al inicio se ajusta a un valor de 100 par
et = —————–— 100% = 9.02% FIGURA 3.3
1.648721 IterMeth � sol asegurar que el bucle se ejecute por lo menos una vez.
Pseudocódigo para un cálculo genérico iterativo. Después de estas inicializaciones sigue el bucle d
END IterMeth
La ecuación (3.5) se utiliza para determinar una estimación aproximada del error, dada por:
decisión que realmente implementa el cálculo iterativo
1.5 – 1 100% = 33.3%
ea = ——— Antes
FIGURE de generar
3.3 una nueva solución, sol se asigna primero a solold. Luego se calcula un nuevo
1.5 Pseudocode
valor de sol,for a generic
y se iterative
incrementa calculation.
el contador de iteraciones. Si el nuevo valor de sol es diferente de cero
Como ea no es menor que el valor requerido es, se deben continuar los cálculos agregando otro tér­ se determina el porcentaje de error relativo ea. En seguida se prueban los criterios de detención. S
mino, x2 /2!, repitiendo el cálculo del error. El proceso continúa hasta que ea < es. Todos los cálculos ambos son falsos, se repite el bucle. Si cualquiera de ellos es verdadero, termina el bucle y se enví
se resumen de la siguiente manera: de
areregreso a la llamada
then tested. de función.
If both are false, theEl siguiente
loop repeats.ejemplo
If eitherilustra cómo
are true, these puede
loop aplicar and
terminates el algoritmo
genérico
the final asolution
un cálculo iterativo
is sent back específico.
to the function call. The following example illustrates how
Así, después de usar seis the generic algorithm can be applied to a specific iterative calculation.
Términos Resultado εt (%) εa (%)
términos, el error aproxima­ EJEMPLO 3.3 Implementación en computadora de un cálculo iterativo
1 1 39.3 do es menor que es = 0.05%,
2 1.5 9.02 33.3 EXAMPLE 3.3 Computer Implementation
Planteamiento of an Iterative
del problema. Desarrolle un programaCalculation
de computación basado en el pseudocódi
y el cálculo termina. Sin
3 1.625 1.44 7.69 go de la figura 3.3 para implementar el cálculo del ejemplo 3.2. on the pseudocode from
embargo, observe que, ¡el Problem Statement. Develop a computer program based
4 1.645833333 0.175 1.27
resultado es exacto con cin­ Fig. 3.3 to implement the calculation from Example 3.2.
5 1.648437500 0.0172 0.158 Solución. Una función para implementar la expansión de la serie de Maclaurin para ex se pued
6 1.648697917 0.00142 0.0158 co cifras significativas! en Solution.
basar en el esquema general
A function de la figura
to implement 3.3. Para hacer
the Maclaurin esto, primero
series expansion x formula la expansión de l
for esecan be based on the
vez de tres cifras significa­ serie como
general una fórmula:
scheme in Fig. 3.3. To do this, we first formulate the series expansion as a formula:
tivas. Esto se debe a que, en este caso, las ecuaciones (3.5) y (3.7) son conservadoras. Es decir, ase­ n
� xn
guran que el resultado es, por lo menos, tan bueno como lo especifican. Aunque, como se analiza en ex ∼
=
el capítulo 6, éste no es siempre el caso al usar la ecuación (3.5), que es verdadera en la mayoría de i=0
n!
las veces. Figure 3.43.4
shows functions to implement this series written in VBA and MATLAB. Simi-
La figura muestra las funciones para implementar esta serie, escritas en VBA y MATLAB. S
lar codesdesarrollar
podrían could be developed in other en
códigos similares languages such a C++
otros lenguajes comoorC++
Fortran 95. Notice
o Fortran that
95. Observe que
whereas MATLAB
mientras MATLABhas a built-in
tiene una función
factorial
factorial function, it ises
interna, necessary to calcular
necesario computeelthe fac- como
factorial
3.3.1 Algoritmo de computadora para cálculos iterativos torialde
parte as la
part of the VBA implementation
implementación en VBA con un with
soloa simple product
acumulador accumulator
de productos fac . .
fac
When
Al the programs
correr are run,
los programas, they generate
generan an estimate
un estimado para for the exponential
la función function.
exponencial. ParaForla versión
Muchos de los métodos numéricos que se describen en el resto de este libro utilizan cálculos itera­ the MATLAB
MATLAB, version, the
la respuesta answer isjunto
se devuelve returned
con elalong
error with the approximate
aproximado y el númeroerror
de and the
iteraciones. Po
tivos del tipo que se ilustra en el ejemplo 3.2. Todos ellos conllevan la resolución de un problema number of
ejemplo, e1 iterations. For example,
se puede evaluar 1
como e can be evaluated as
matemático mediante el cálculo de aproximaciones sucesivas a la solución, comenzando por una
conjetura inicial. >> >> format
format long
long
La implementación en computadora de tales soluciones iterativas incluye loops de computación. >> >> [val,
[val, ea,ea, iter]
iter] = IterMeth(1,1e-6,100)
= IterMeth(1,1e-6,100)
Como se vio en la sección 2.1.1, éstos vienen en dos “sabores” básicos: loops controlados por val =
cuenta y loops de decisión. La mayor parte de las soluciones iterativas usan loops de decisión. Así, val = 2.718281826198493
ea =
2.718281826198493
en vez de emplear un número preespecificado de iteraciones, el proceso típicamente se repite
ea = 9.216155641522974e-007
hasta que un estimado aproximado de error cae por debajo de un criterio de detención, como en iter =
9.216155641522974e-007
el ejemplo 3.2. iter = 12
12

Chapra-03.indd 54 9/11/10 17:53:26 Chapra-03.indd 55 9/11/10


56 CApíTulo 3 ApRoxImACIoNeS y eRRoReS de RedoNdeo 3.4 eRRoReS de RedoNdeo 57

a) VBA/Excel b) MATLAB representación en base 2, no pueden representar exactamente algunos números en base 10. Est
Function IterMeth(x, es, maxit) function [v,ea,iter] = IterMeth(x,es,maxit) discrepancia por la omisión de cifras significativas se llama error de redondeo.
' initialization % initialization
iter = 1 iter = 1;
sol = 1 sol = 1; 3.4.1 Representación de números en la computadora
ea = 100 ea = 100;
fac = 1 Numéricamente los errores de redondeo se relacionan de manera directa con la forma en que s
' iterative calculation % iterative calculation guardan los números en la memoria de la computadora. La unidad fundamental mediante la cual s
Do while (1) representa la información se llama palabra. Ésta es una entidad que consiste en una cadena de dígi
solold = sol solold = sol;
fac = fac * iter tos binarios o bits (binary digits). Por lo común, los números son guardados en una o más palabras
sol = sol + x ^ iter / fac sol = sol + x ^ iter / factorial(iter); Para entender cómo se realiza esto, se debe revisar primero algún material relacionado con los sis
iter = iter + 1 iter = iter + 1; temas numéricos.
If sol <> 0 Then if sol~=0
ea = Abs((sol - solold) / sol) * 100 ea=abs((sol - solold)/sol)*100; Sistemas numéricos. Un sistema numérico es simplemente una convención para representar can
End If end tidades. Debido a que se tienen 10 dedos en las manos y 10 dedos en los pies, el sistema de numera
If ea <= es Or iter >= maxit Then Exit Do if ea<=es | iter>=maxit,break,end
Loop end ción que nos es muy familiar es el decimal o de base 10. Una base es el número que se usa como
IterMeth = sol v = sol; referencia para construir un sistema. El sistema de base 10 utiliza 10 dígitos (0, 1, 2, 3, 4, 5, 6, 7, 8
End Function end 9) para representar números. Tales dígitos son satisfactorios por sí mismos para contar de 0 a 9.
Para grandes cantidades se usa la combinación de estos dígitos básicos; con la posición o valo
FIGURA 3.4
de posición se especifica su magnitud. El dígito en el extremo derecho de un número entero repre
a) VBA/Excel y b) Funciones MATLAB basadas en el pseudocódigo de la figura 3.3.
senta un número del 0 al 9. El segundo dígito a partir de la derecha representa un múltiplo de 10. E
tercer dígito a partir de la derecha representa un múltiplo de 100 y así sucesivamente. Por ejemplo
si se tiene el número 86 409 se tienen 8 grupos de 10 000, seis grupos de 1 000, cuatro grupos de 100
Se puede ver que, después de 12 iteraciones, se obtiene un resultado de 2.7182818 con un error y cero grupos de 10, y nueve unidades, o bien
aproximado de estimación = 9.2162 × 10 –7%. El resultado se puede verificar usando la función in­
terna exp para calcular directamente el valor exacto y el error porcentual relativo. (8 × 104) + (6 × 103) + (4 × 102) + (0 × 101) + (9 × 100) = 86 409

>> trueval=exp(1) La figura 3.5a ofrece una representación d


104 103 102 101 100 cómo se formula un número en el sistema de bas
trueval = 10. Este tipo de representación se llama notación
2.718281828459046 8 6 4 0 9
posicional.
9  1 = 9
>> et=abs((trueval-val)/trueval)*100 0  10 = 0
Debido a que el sistema decimal resulta ser tan
et = 4  100 = 400 familiar, no es común darse cuenta de que existen
8.316108397236229e-008 a) 6  1 000 = 6 000 otras alternativas. Por ejemplo, si el ser humano
8  10 000 = 80 000 tuviera ocho dedos en las manos y ocho en los pies
Como en el caso del ejemplo 3.2, se obtuvo el resultado deseable de que el error verdadero es menor 86 409 se tendría, sin duda, una representación en un sis
que el error aproximado. tema octal o de base 8. En tal sentido nuestr
amiga la computadora es como un animal que tien
27 26 25 24 23 22 21 20
dos dedos, limitado a dos estados: 0 o 1. Esto s
Con las definiciones anteriores como antecedente, se procede ahora a examinar los dos tipos de relaciona con el hecho de que las unidades lógica
error relacionados directamente con los métodos numéricos: el error de redondeo y el error de trun­ 1 0 1 0 1 1 0 1
fundamentales de las computadoras digitales sean
camiento. 1  1 = 1
0  2 = 0
1  4 = 4
3.4 ERRORES DE REDONDEO 1  8 = 8
0  16 = 0
1  32 = 32 FIGURA 3.5
Como se mencionó antes, los errores de redondeo se originan debido a que la computadora emplea Cómo trabajan los sistemas a) decimal (base 10)
b) 0  64 = 0
un número determinado de cifras significativas durante un cálculo. Los números tales como p, e o 1  128 = 128 y b) binario (base 2). En b) el número binario
7 no pueden expresarse con un número fijo de cifras significativas. Por lo tanto, no pueden ser 173 10101101 es equivalente al número decimal 173.
representados exactamente por la computadora. Además, debido a que las computadoras usan una

Chapra-03.indd 56 9/11/10 17:53:26 Chapra-03.indd 57 9/11/10


58 CApíTulo 3 ApRoxImACIoNeS y eRRoReS de RedoNdeo 3.4 eRRoReS de RedoNdeo 59

FIGURA 3.6 Exponente


La representación de un entero decimal –173 en 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 con signo
una computadora de 16 bits usando el método de
magnitud con signo. Número FIGURA 3.7
Signo Mantisa
La forma en que un número de punto flotante se
guarda en una palabra.
Signo
componentes electrónicos de apagado/encendido. Por lo tanto, los números en la computadora se
representan con un sistema binario o de base 2. Del mismo modo que con el sistema decimal, las
cantidades pueden representarse usando la notación posicional. Por ejemplo, el número binario 11 parte fraccionaria, llamada mantisa o significando, y una parte entera, denominada exponente o
es equivalente a (l × 21) + (1 × 20) = 2 + 1 = 3 en el sistema decimal. En la figura 3.5b se ilustra un característica, esto es,
ejemplo más complejo. m · be
Representación entera. Ahora que se ha revisado cómo los números de base 10 se representan en donde m = la mantisa, b = la base del sistema numérico que se va a utilizar y e = el exponente. Po
forma binaria, es fácil concebir cómo los enteros se representan en la computadora. El método más ejemplo, el número 156.78 se representa como 0.15678 × 103 en un sistema de base 10 de punto
sencillo se denomina método de magnitud con signo y emplea el primer bit de una palabra para flotante.
indicar el signo: con un 0 para positivo y un 1 para el negativo. Los bits sobrantes se usan para En 1a figura 3.7 se muestra una forma en que el número de punto flotante se guarda en un
guardar el número. Por ejemplo, el valor entero –173 puede guardarse en la memoria de una compu­ palabra. El primer bit se reserva para el signo; la siguiente serie de bits, para el exponente con signo
tadora de 16 bits como se muestra en la figura 3.6. y los últimos bits, para la mantisa.
Observe que la mantisa es usualmente normalizada si tiene primero cero dígitos. Por ejemplo
EJEMPLO 3.4 Rango de enteros suponga que la cantidad 1/34 = 0.029411765… se guarda en un sistema de base 10 con punto flotan
te, que únicamente permite guardar cuatro lugares decimales. Entonces, 1/34 se guardaría como
Planteamiento del problema. Determine el rango de enteros de base 10 que pueda representarse
en una computadora de 16 bits. 0.0294 × l00
Sin embargo, al hacerlo así, la inclusión del cero “inútil” a la derecha del punto decimal nos obliga
Solución. De los 16 bits, se tiene el primer bit para el signo. Los 15 bits restantes pueden con­ eliminar el dígito 1 del quinto lugar decimal. El número puede normalizarse para eliminar el cero
tener los números binarios de 0 a 111111111111111. El límite superior se convierte en un entero multiplicando la mantisa por 10 y disminuyendo el exponente en 1, para quedar
decimal, así
0.2941 × 10–1
(1 × 214) + (1 × 213) + ··· + (1 × 21) + (1 × 20)
Así, se conserva una cifra significativa adicional al guardar el número.
que es igual a 32 767 (observe que esta expresión puede simplemente evaluarse como 215 – 1). Así, La consecuencia de la normalización es que el valor absoluto de m queda limitado. Esto es,
en una computadora de 16 bits una palabra puede guardar en memoria un entero decimal en el ran­
go de –32 767 a 32 767. Además, debido a que el cero está ya definido como 0000000000000000, 1 ≤m<1
— (3.8
sería redundante usar el número 1000000000000000 para definir “menos cero”. Por lo tanto, es b
usualmente empleado para representar un número negativo adicional: –32 768, y el rango va de
donde b = la base. Por ejemplo, para un sistema de base 10, m estaría entre 0.1 y 1; y para un sistem
–32 768 a 32 767.
de base 2, entre 0.5 y 1.
La representación de punto flotante permite que tanto fracciones como números muy grande
Observe que el método de magnitud con signo descrito antes no se utiliza para representar en­ se expresen en la computadora. Sin embargo, hay algunas desventajas. Por ejemplo, los números d
teros en computadoras convencionales. Se prefiere usar una técnica llamada complemento de 2 que punto flotante requieren más espacio y más tiempo de procesado que los números enteros. Más im
incorpora en forma directa el signo dentro de la magnitud del número, en lugar de emplear un bit portante aún es que su uso introduce una fuente de error debido a que la mantisa conserva sólo un
adicional para representar más o menos (véase Chapra y Canale, 1994). Sin embargo, el ejemplo 3.4 número finito de cifras significativas. Por lo tanto, se introduce un error de redondeo.
sigue sirviendo para ilustrar cómo todas las computadoras digitales están limitadas en cuanto a su
capacidad para representar enteros. Esto es, los números por encima o por debajo de este rango no EJEMPLO 3.5 Conjunto hipotético de números con punto flotante
pueden representarse. Una limitación más importante se encuentra en el almacenaje y la manipula­
ción de cantidades fraccionarias, como se describe a continuación. Planteamiento del problema. Determine un conjunto hipotético de números con punto flotante par
una máquina que guarda información usando palabras de 7 bits. Emplee el primer bit para el signo de
Representación del punto flotante. Las cantidades fraccionarias generalmente se representan en número, los siguientes tres para el signo y la magnitud del exponente, y los últimos tres para la mag
la computadora usando la forma de punto flotante. Con este método, el número se expresa como una nitud de la mantisa (véase figura 3.8).

Chapra-03.indd 58 9/11/10 17:53:27 Chapra-03.indd 59 9/11/10


60 CApíTulo 3 ApRoxImACIoNeS y eRRoReS de RedoNdeo

21 20 2–1 2–2 2–3 Solución. El número positivo más pequeño posible se


representa en la figura 3.8. El 0 inicial señala que la canti­
0 1 1 1 1 0 0
dad es positiva. El 1 en el segundo lugar indica que el ex­
Magnitud
ponente tiene signo negativo. Los 1, en el tercero y cuarto
Signo del Signo del lugar dan un valor máximo al exponente de
de la mantisa
número exponente
Magnitud
1 × 21 + 1 × 20 = 3
del exponente Por lo tanto, el exponente será –3. Por último, la mantisa
FIGURA 3.8 está especificada por el 100 en los últimos tres lugares, lo
El número positivo de punto flotante más cual nos da
pequeño posible del ejemplo 3.5. 1 × 2–1 + 0 × 2–2 + 0 × 2–3 = 0.5
Aunque es posible tomar una mantisa más pequeña (por
ejemplo, 000, 001, 010, 011), se emplea el valor de 100 debido al límite impuesto por la normalización
[ecuación (3.8)]. Así, el número positivo más pequeño posible en este sistema es +0.5 × 2–3, el cual
es igual a 0.0625 en el sistema de base 10. Los siguientes números más grandes se desarrollan in­
crementando la mantisa como sigue:

0111101 = (1 × 2–1 + 0 × 2–2 + 1 × 2–3) × 2–3 = (0.078125)10


0111110 = (1 × 2–1 + 1 × 2–2 + 0 × 2–3) × 2–3 = (0.093750)10
0111111 = (1 × 2–1 + 1 × 2–2 + 1 × 2–3) × 2–3 = (0.109375)10

Observe que las equivalencias de base 10 se esparcen de manera uniforme en un intervalo 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 más pequeño: 100. Por lo tanto, el siguiente número es
0110100 = (1 × 2–1 + 0 × 2–2 + 0 × 2–3) × 2–2 = (0.125000)10
Esto todavía representa una brecha o espacio de 0.l25000 – 0.109375 = 0.015625. Sin embargo,
cuando los números grandes se generan incrementando la mantisa, la brecha es de 0.03125,

0110101 = (1 × 2–1 + 0 × 2–2 + 1 × 2–3) × 2–2 = (0.156250)10


0110110 = (1 × 2–1 + 1 × 2–2 + 0 × 2–3) × 2–2 = (0.187500)10
0110111 = (1 × 2–1 + 1 × 2–2 + 1 × 2–3) × 2–2 = (0.218750)10
Este patrón se repite conforme se formula una cantidad mayor hasta que se alcanza un número má­
ximo:
0011111 = (1 × 2–1 + 1 × 2–2 + 1 × 2–3) × 23 = (7)10
El conjunto del número final se muestra en la figura 3.9.

En la figura 3.9 se presentan diversos aspectos de la representación de punto flotante, 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 números grandes positivos y negativos que no pueden representarse. Intentar emplear núme­
ros fuera del rango aceptable dará como resultado el llamado error de desbordamiento (overflow).

Chapra-03.indd 60 9/11/10 17:53:28

Potrebbero piacerti anche