UNIVERSIDAD DE PAMPLONA
Facultad de Ciencias Básicas
Departamento de Matemáticas
Métodos Numéricos
Unidad 1: Errores y Aritmética Finita
Profesor:
Wilson Alberto Contreras Espinosa
1.
1.1.
Errores y Aritmética Finita
Introducción
La ciencia y la tecnología describen los fenómenos reales mediante modelos matemáticos.
El estudio de estos modelos permite un conocimiento más profundo del fenómeno, así como
de su evolución futura. La matemática aplicada es la rama de las matemáticas que se dedica
a buscar y aplicar las herramientas más adecuadas a los problemas basados en estos modelos.
Desafortunadamente, no siempre es posible aplicar métodos analíticos clásicos por diferentes
razones:
No se adecúan al modelo concreto.
Su aplicación resulta excesivamente compleja.
La solución formal es tan complicada que hace imposible cualquier interpretación posterior.
Simplemente no existen métodos analíticos capaces de proporcionar soluciones al problema.
En estos casos son útiles las técnicas numéricas, que mediante una labor de cálculo más o
menos intensa, conducen a soluciones aproximadas que son siempre numérica. El importante
esfuerzo de cálculo que implica la mayoría de estos métodos hace que su uso esté íntimamente
ligado al empleo de computadores. De hecho, sin el desarrollo que se ha producido en el campo
de la informática resultaría difícilmente imaginable el nivel actual de utilización de las técnicas
numéricas en ámbitos cada día más diversos.
Por lo anterior podemos dar una definición, más o menos aproximada, de lo que es un
Método Numérico:
1.2.
¿Qué es un Método Numérico?
Un método numérico es un procedimiento mediante el cual se obtiene, casi siempre de
manera aproximada, la solución de ciertos problemas realizando cálculos puramente aritméticos y lógicos (operaciones aritméticas elementales, cálculo de funciones, consulta de una tabla
de valores, cálculo proposicional, etc.). Un tal procedimiento consiste de una lista finita de
instrucciones precisas que especifican una secuencia de operaciones algebraicas y lógicas (algoritmo), que producen o bien una aproximación de la solución del problema (solución numérica)
o bien un mensaje. La eficiencia en el cálculo de dicha aproximación depende, en parte, de la
facilidad de implementación del algoritmo y de las características especiales y limitaciones de
los instrumentos de cálculo (los computadores). En general, al emplear estos instrumentos de
cálculo se introducen errores llamados de redondeo.
La importancia de los métodos numéricos es creciente debido la existencia generalizada de
computadores relativamente baratos y de gran potencia de cálculo. Sin embargo, los métodos
numéricos adolecen de una acusada incapacidad para el análisis. Por este motivo es generalmente muy difícil entender un sistema si sólo se sabe de él lo que nuestros cálculos numéricos
nos han proporcionado. Las expresiones analíticas o los resultados cualitativos tienen la enorme
ventaja de permitirnos entender de un vistazo lo que es relevante en un problema físico. Alcanzar un grado equivalente de certeza o comprensión mediante procedimientos exclusivamente
numéricos sin apenas apoyos teóricos suele ser imposible o, si hay suerte, extremadamente
laborioso. Por ello, la aplicación fructífera de los métodos numéricos requiere:
Entender el problema que estamos resolviendo.
Entender el procedimiento o algoritmo numérico que se emplea, es decir, sus fundamentos, sus posibilidades, las circunstancias bajo las cuales podría dar malos resultados,
etc.
Conocer lo que vamos a obtener. Esto es poco más que un corolario de las dos afirmaciones
anteriores. Pero lo cierto es que si obtenemos un resultado completamente inesperado, la
situación es muy difícil: ¿ha fallado nuestra comprensión del problema o el procedimiento
numérico?
1.3.
El Error
El concepto de error es consustancial con el cálculo numérico. En todos los problemas es
fundamental hacer un seguimiento de los errores cometidos a fin de poder estimar el grado de
2
aproximación de la solución que se obtiene.
Los errores asociados a todo cálculo numérico tienen su origen en dos grandes factores:
Aquellos que son inherentes a la formulación del problema.
Los que son consecuencia del método empleado para encontrar la solución del problema.
Dentro del grupo de los primeros, se incluyen aquellos en los que la definición matemática
del problema es sólo una aproximación a la situación física real. Estos errores son normalmente
despreciables; por ejemplo, el que se comete al obviar los efectos relativistas en la solución de
un problema de mecánica clásica. En aquellos casos en que estos errores no son realmente
despreciables, nuestra solución será poco precisa independientemente de la precisión empleada
para encontrar las soluciones numéricas. Otra fuente de este tipo de errores tiene su origen en
la imprecisión de los datos físicos: constantes físicas y datos empíricos. En el caso de errores
en la medida de los datos empíricos y teniendo en cuenta su carácter generalmente aleatorio,
su tratamiento analítico es especialmente complejo pero imprescindible para contrastar el
resultado obtenido computacionalmente.
En lo que se refiere al segundo tipo de error (error computacional), tres son sus fuentes
principales:
1. Equivocaciones en la realización de las operaciones (errores de bulto). Esta fuente de error
es bien conocida por cualquiera que haya realizado cálculos manualmente o empleando
una calculadora. El empleo de computadores ha reducido enormemente la probabilidad
de que este tipo de errores se produzcan. Sin embargo, no es despreciable la probabilidad
de que el programador cometa uno de estos errores (calculando correctamente el resultado
erróneo). Más aún, la presencia de bugs no detectados en el compilador o en el software
del sistema no es inusual. Cuando no resulta posible verificar que la solución calculada
es razonablemente correcta, la probabilidad de que se haya cometido un error de bulto
no puede ser ignorada. Sin embargo, no es esta la fuente de error que más nos va a
preocupar.
2. El error causado por resolver el problema no como se ha formulado, sino mediante algún
tipo de aproximación. Generalmente está causado por la sustitución de un infinito (sumatorio o integración) o un infinitesimal (diferenciación) por una aproximación finita.
Algunos ejemplos son:
El cálculo de una función elemental (por ejemplo, Sen x) empleando sólo n términos
de los infinitos que constituyen la expansión en serie de Taylor.
Aproximación de la integral de una función por una suma finita de los valores de
la función, como la empleada en la regla del trapezoide.
Resolución de una ecuación diferencial reemplazando las derivadas por una aproximación (diferencias finitas).
3
Solución de la ecuación f (x) = 0 por el método de Newton-Raphson: proceso iterativo que, en general, converge sólo cuando el número de iteraciones tiende a infinito.
Denominaremos a este error, en todas sus formas, como error por truncamiento, ya
que resulta de truncar un proceso infinito para obtener un proceso finito. Obviamente,
estamos interesados en estimar, o al menos acotar, este error en cualquier procedimiento
numérico.
3. Por último, la otra fuente de error de importancia es aquella que tiene su origen en
el hecho de que los cálculos aritméticos no pueden realizarse con precisión ilimitada.
Muchos números requieren infinitos decimales para ser representados correctamente, sin
embargo, para operar con ellos es necesario redondearlos. Incluso en el caso en que
un número pueda representarse exactamente, algunas operaciones aritméticas pueden
dar lugar a la aparición de errores (las divisiones pueden producir números que deben
ser redondeados y las multiplicaciones dar lugar a más dígitos de los que se pueden
almacenar). El error que se introduce al redondear un número se denomina error de
redondeo.
Antes de abordar la definición de los tipos de errores, es conveniente identificar algunos
conceptos bases para estas definiciones.
1.4.
Precisión y Exactitud
Todo algoritmo que resuelve un problema numéricamente produce en cada paso un error
numérico. Un algoritmo se dice inestable cuando los errores que se cometen en cada etapa del
mismo van aumentado de forma progresiva, de manera que el resultado final pierde gran parte
de su exactitud. Un algoritmo es estable cuando no es inestable (controlado).
Además, la precisión se refiere al número de cifras significativas que representan una cantidad dependiendo del error de la medida o de la máquina que estemos utilizando.
En resumen, podemos decir que la exactitud se refiere a qué tan cercano está el valor
calculado o medido del valor verdadero. La precisión se refiere a qué tan cercanos se encuentran,
unos de otros, diversos valores calculados o medidos. En la Figura 1, se puede observar un
ejemplo de estos dos conceptos.
1.5.
Estabilidad
El fenómeno del redondeo y su influencia en el funcionamiento de un método numérico se
engloba en un problema más general: estabilidad frente a perturbaciones. Podemos considerar
las perturbaciones provenientes de los errores operacionales de la máquina en las operaciones
que ejecuta el computador. En problemas reales debemos contar con que los datos suelen provenir de mediciones externas que aportan sus propios errores, generalmente de varios grados
4
a)
b)
c)
d)
Figura 1: Ilustración de los conceptos de precisión y exactitud, a)impreciso e inexacto; b) impreciso y exacto;
c) preciso e inexacto; d) preciso y exacto.
mayor de orden de magnitud. De cualquier manera, deberemos plantearnos cómo es el problema original antes de estudiar la sensibilidad de los métodos utilizables para su resolución
aproximada.
1.6.
Dígitos significativos o cifras significativas
Son aquellos números diferentes de cero, en una cifra, leyendo de izquierda a derecha;
empiezan con el primer dígito diferente de cero y terminan con el tamaño que permitan las
celdas que guardan la mantisa.
Para las cifras o dígitos significativos se tienen en cuenta los siguientes aspectos:
Son significativos todos los dígitos distintos de cero. Por ejemplo, 8723 tiene cuatro cifras
Los ceros situados entre dos cifras significativas son significativos. 105 tiene tres cifras
significativas
Los ceros a la izquierda de la primera cifra significativa no lo son. 0,005 tiene una cifra
significativa
Para números mayores que 1, los ceros a la derecha de la coma son significativos. 8,00
tiene tres cifras significativas
Para números sin coma decimal, los ceros posteriores a la última cifra distinta de cero
pueden o no considerarse significativos. Así, para el número 70 podríamos considerar
una o dos cifras significativas. Esta ambigüedad se evita utilizando la notación científica.
7 × 102 tiene una cifra significativa. 7,0 × 102 tiene dos cifra significativas
El concepto de cifras significativas se ha introducido para poder manejar formalmente la
confiabilidad de un valor numérico. Un ejemplo puede ser el velocímetro de un carro, que nos
permite la lectura de velocidades con dos cifras significativas.
5
Sin embargo, sin conocer el contexto puede ser imposible conocer las cifras significativas de
un número. Por ejemplo, los números 0.000857, 0.00857 y 0.0857 tienen 3 cifras significativas, ya
que los ceros solamente se usan para ubicar el punto decimal. Pero cuantas cifras significativas
tiene el número 857000? Puede tener 3, 4 5 o 6 cifras significativas, dependiente de cuantos de
los ceros se conocen con exactitud. Para resolver este tipo de ambigüedad, se usa la notación
científica de los números reales:
0.000857 = 8.57 ×104 ⇒ 3 cifras significativas.
0.00857 = 8.57 ×104 ⇒ 3 cifras significativas.
0:0857 = 8.57 ×104 ⇒ 3 cifras significativas.
Y para el número 857000 tenemos:
Si lo escribimos como 8.57 ×105 indicamos que tiene 3 cifras significativas.
Si lo escribimos como 8.570 ×105 indicamos que tiene 4 cifras significativas.
Si lo escribimos como 8.5700 ×105 indicamos que tiene 5 cifras significativas.
El concepto de cifras significativas es importante ya que permite definir criterios para la
bondad de una aproximación: por ejemplo la aproximación de un valor numérico es aceptable,
si coincide con el valor exacto en 4 cifras significativas.
En todo cálculo numérico debemos esperar un error: los métodos que utilizamos en nuestros cálculos son generalmente aproximados; los datos de partida proceden de medidas de
precisión limitada; las operaciones a que sometemos estos datos producen valores intermedios
cuyo número de cifras debe reducirse; los valores numéricos que tratamos de calcular son generalmente reales y por tanto raramente expresable en términos finitos; etc. No debe por tanto
preocuparnos el que en nuestros cálculos acarreemos un cierto error sino el controlar en todo
momento ese error y mantenerlo por debajo de un extremo prefijado.
1.7.
Aritmética Finita
Siendo los computadores la herramienta básica en los métodos numéricos es conveniente
indicar cómo son los números del computador y cómo se simula su aritmética.
La mayoría de los computadores usan sólo un subconjunto finito, relativamente pequeño,
de los números reales para representar a ”todos” los números reales; este conjunto, que sólo
contiene números racionales y que describiremos más adelante, es llamado conjunto de números de punto flotante o conjunto de números de máquina en punto flotante o
simplemente conjunto de punto flotante.
Cada número del computador se representa mediante un número finito de dígitos (aritmética finita), según se indica a continuación:
6
Un número del computador o de punto flotante, distinto de cero, se describe matemáticamente en la forma
σ × (.a1 a2 · · · at )β × β e
Ahora, definiendo cada uno de los símbolo utilizados, damos su significado:
σ, la letra griega sigma representa el signo del número, por lo tanto σ = +1 o σ = −1.
En base binaria (0 positivo, 1 negativo).
β, la letra griega beta es un entero que denota la base del sistema numérico en la caul
está escrito el número. Por lo general β = 2 (Sistema Binario), β = 8 (Sistema Octal),
β = 10 (Sistema Decimal) o β = 16 (Sistema Hexadecimal).
Los ai , i = 1, 2, · · · , t, es un entero con 0 ≤ ai ≤ β − 1. Los enteros 0, 1, · · · , β − 1 son
llamados dígitos en la base β, así por ejemplo los dígitos usados en la base binaria serán
0 y 1, o los de la base octal serán 0, 1, 2, 3, 4, 5, 6 y 7. Nosotros asumiremos en todo lo
que sigue que a1 6= 0 , en cuyo caso el numero se dice que esta en forma normalizada.
(.a1 a2 · · · at )β denota la suma
del número de punto flotante.
a1
β1
+
a2
β2
+ ··· +
at
βt
y es llamada la mantisa o fracción
El entero t indica el numero de dígitos en la base β que se usan para representar el número
de punto flotante, y es llamado precision. Por lo general t = 6 o t = 7 con β = 10 (precision
sencilla), t = 14 o t = 15 con β = 10 (doble precision). En algunos computadores se pueden
hacer representaciones en precision sencilla, doble precision e incluso en precision mayor.
e es un entero llamado el exponente, y es tal que L ≤ e ≤ U para ciertos enteros L y U ;
es común encontrar L = −U o L = −U ± 1. Un caso frecuente es L = −63 y U = 64, para un
total de 128 posibles exponentes.
El numero cero requiere una representación especial.
Cualesquiera sean los parámetros elegidos, los conjuntos de punto flotante correspondientes
comparten las mismas características cualitativas, entre ellas la carencia de algunas de las
propiedades algebraicas de que gozan los numeros reales.
Base Decimal
signo
Base Binaria
exponente
+ 6.02 X 10
mantisa
signo
-23
exponente
+ 1.11110 X 2 -1101
base
mantisa
base
Figura 2: Representación de un número como número de punto flotante
A continuación en la siguiente tabla (1) se muestran algunos ejemplos de diferentes representaciones de punto flotante en algunos computadores:
Donde
7
Tabla 1: Representación de punto flotante en algunos computadores
Máquina
S/D
R/C
β
t
L
U
HP-11C,15C
S
R
10 10
99
-99
IBM 3033
S
C
16 6
-64
63
IBM 3033
D
C
16 14
-64
63
Intel 8087
S
R
2 24
-126
127
Intel 8087
D
R
2 53 -1022
1023
PRIME 850
S
R
2 23
-128
127
PRIME 850
D
C
2 47 -32.896 32.639
S/D: Simple o Doble precisión.
R/C: Aproximación por Redondeo o Truncamiento (Cortado).
β: Número de la base.
t: Dígitos en la mantisa.
L, U : Limites del exponente.
Muchos números reales x no pueden ser representados exactamente por la un numero de
punto flotante, pero si pueden ser aproximados por un número representable en la máquina.
Dado un número real arbitrario x, podemos denotar al número de punto flotante que aproxima
al real x en la máquina como f l(x). Existen dos formas para encontrar f l(x) para x: Redondeo
o Truncamiento.
Dado un número real x, puede ser escrito en la forma,
x = σ · (.a1 a2 · · · at at+1 · · · )β · β e
(1.1)
como se mencionó anteriormente a1 6= 0, además se asume que L ≤ e ≤ U .
1.8.
Error por Truncamiento
La representación en la máquina mediante el procedimiento de truncamiento de un número
x es dada por
f l(x) = σ · (.a1 a2 · · · at )β · β e
(1.2)
Un caso particular para el procedimiento de truncamiento, sería aproximar el número real
π, conocido por todos, 3,141592653..., al aproximarlo mediante truncamiento quedaría 3,1415,
es decir, sin tener en cuenta el dígito que sigue después del dígito 5.
8
1.9.
Error por Redondeo
La representación por redondeo de un número x está dado por
f l(x) =
e
σ · (.a1 · · · at )β · β ,
0 ≤ at+1 <
β
2
(1.3)
i
h
σ · (.a1 · · · at ) + (,0 · · · 01) · β e ,
β
β
β
2
≤ at+1 < β
donde, (,0 · · · 01)β representa a β −t , es decir, al dígito más pequeño en la base β.
Retomemos, el ejemplo anterior, π = 3,141592653..., en forma decimal normalizada tendremos π = (,3141592653...) × 101 , entonces la aproximación por los procedimientos sería:
(
(,31415) × 101 ,
f l(π) =
(,31416) × 101 ,
T runcado
Redondeado
Notemos que existe diferencia entre los dos procedimientos, en el caso del redondeo debemos
tener en cuenta la Ecuación (1.3), por lo que debemos analizar el dígito que sigue a donde
vamos a aproximar, en este caso el dígito que sigue al a5 = 5, es decir, el dígito a6 = 9,
(,3141592653...) × 101 , como a6 = 9 > 5, entonces, a5 = 5 + 1.
Dado lo anterior, que la máquina no puede representar exactamente a todos lo números
reales, entonces se genera un error, por tal razón, debemos estudiar los tipo de error.
1.10.
Definiciones de Error
Como se mencionó anteriormente, los errores numéricos surgen del uso de aproximaciones
para representar operaciones y cantidades matemáticas exactas. Tal es el caso de los errores
por truncamiento y redondeo.
V alor verdadero = V alor aproximado + error
Sea x el valor exacto de un número real y sea x̄ su valor aproximado. Se define el error
como sigue.
1.10.1.
Error Absoluto
El error absoluto esta definido por,
EA = |x − x̄|
(1.4)
este error mide la diferencia entre el valor exacto de una cantidad y su valor aproximado.
9
1.10.2.
Error Relativo
Debido a que el error absoluto no cuantifica el error respecto del valor exacto de una cierta
cantidad x, se introduce el concepto de error relativo que se puede define como,
¯
¯
¯ x − x̄ ¯
¯
¯
(1.5)
ERel = ¯
x ¯
Notemos que el error relativo no está definido para x = 0. La ecuación (1.5) muestra el
error relativo, que es una cantidad adimensional, que habitualmente se expresa en tanto por
ciento ( %).
Ejemplo 1.1 La serie de MacLaurin para la función exponencial (obtenido por el desarrollo
de Taylor en el punto x0 = 0) es
ex = 1 + x +
xn
x2 x3
+
+ ··· +
2!
3!
n!
Calcule el valor de e0,5 , usando inicialmente un solo término de la serie de MacLaurin
y agregando en cada iteración un término más hasta que el error aproximado porcentual se
menor que 0.005 %.
Sea yi el valor de la i-ésima iteración. Entonces tenemos:
y1 = 1
1
y2 = y1 + 0,5 = 1,5; ER = y2y−y
= 1,5−1
1,5 100 % = 33,3 %
2
y3 = y2 +
y4 = y3 +
y5 = y4 +
y6 = y5 +
0,52
2
0,53
3!
0,54
4!
0,55
5!
y3 −y2
= 1,625−1,5
y3
1,625 100 % = 7,69 %
y4 −y3
ER = y4 = 1,27 %
4
ER = y5y−y
= 0,158 %
5
y6 −y5
ER = y6 = 0,0158 % < 0,05 %
= 1,625; ER =
= 1,6458333;
= 1,6464375;
= 1,6486979;
Después de la sexta iteración, el error porcentual aproximado queda por debajo de la cota
o tolerancia exigida.
Ejemplo 1.2 Estimar la menor cota superior para el error relativo cuando un numero real
x 6= 0 es aproximado por su representante de punto flotante, f l(x), en una aritmética decimal
de t−dígitos.
Sea x un número real positivo cualquiera en forma decimal normalizada.
x = (.a1 a2 . . . at at+1 . . .) × 10n
donde n es algún entero.
Si f l(x) se obtiene por redondeo, tenemos dos opciones: 1) que at+1 se menor que 5, o 2)
que at+1 se mayor o igual que 5.
10
1. Si 0 ≤ at+1 < 5, entonces
f l(x) = (.a1 a2 . . . at ) × 10n
y entonces
Er =
|(.a1 a2 . . . at at+1 . . .) × 10n − (.a1 a2 . . . at ) × 10n |
|(.a1 a2 . . . at at+1 . . .) × 10n |
¯
¯
¯(.at+1 at+2 . . .) × 10n−t ¯
Er =
|(.a1 a2 . . . at at+1 . . .) × 10n |
Er =
|(.at+1 at+2 . . .)|
× 10−t
|(.a1 a2 . . . at at+1 . . .)|
Er =
,5
× 10−t = 5 × 10−t
,1
lo anterior, se puede explicar de la siguiente manera, como a1 6= 0, entonces, el valor
mínimo en el denominador es 0,1. Ahora el numerador muestra el error absoluto esta
acotado por 1, pero como at+1 es menor que 5, entonces, el máximo número que podemos
encontrar en el numerador es 0,5.
Por tanto, 5 × 10−t sería una cota superior.
2. Si 5 ≤ at+1 ≤ 9, entonces
f l(x) = (.a1 a2 . . . at ) × 10n + 1,0 × 10n−t
por la segunda parte de la ecuación (1.3).
Así que
Er =
¯
£
¤¯
¯(.a1 a2 . . . at at+1 . . .) × 10n − (.a1 a2 . . . at ) × 10n + 1,0 × 10n−t ¯
|(.a1 a2 . . . at at+1 . . .) × 10n |
¯
¯
¯(.at+1 at+2 . . .) × 10n−t − 1,0 × 10n−t ¯
Er =
|(.a1 a2 . . . at at+1 . . .) × 10n |
Er =
≤
|(.at+1 at+2 . . .) − 1,0|
× 10−t
|(.a1 a2 . . . at at+1 . . .)|
,5
× 10−t
|(.a1 a2 . . . at at+1 . . .)|
ya que .at+1 at+2 ... ≥ ,5
Er =
,5
× 10−t = 5 × 10−t
,1
ya que .a1 a2 ...at at+1 ... ≥ ,10..,05 > ,100..,00
11
De 1) y 2) se tiene que si x 6= 0 un real y f l(x) se obtiene por redondeo, entonces
Er =
|x − f l(x)|
< 5 × 10−t
|x|
y 5 × 10−t es la menor cota superior para el error relativo.
Ejemplo 1.3 Encuentre el error absoluto y el error relativo de x̄ con respecto a x, en cada
uno de los siguientes casos.
1. x = (,50) × 102 , x̄ = (,51) × 102 Entonces
¯
¯ ¯
¯
EA = ¯(,5) × 102 − (,51) × 102 ¯ = ¯− (,01) × 102 ¯ = (,01) × 101 = 1,0
Er =
(,1) × 101
,1
1
=
=
= (,2) × 10−1 = ,02 = 2 %
2
1
(,5) × 10
(,5) × 10
50
2. x = (,50) × 10−3 , x̄ = (,51) × 10−3
3. x = (,50) × 106 , x̄ = (,51) × 106
Ejercicio 1.1 Realiza los items 2) y 3) del ejemplo anterior. ¿Qué puedes decir del error
absoluto? ¿Qué puedes decir del error relativo? ¿Qué conclusión puedes hacer?
Definicion 1.1 Se dice que el número x̄ aproxima con sus primeros t-dígitos o cifras significativas al numero x 6= 0 , si t es el mayor entero no negativo para el cual
Er =
|x − x̄|
< 5 × 10−t
|x|
Los t-dígitos significativos, a que se refiere esta definición, son los primeros t-dígitos en la
mantisa de x̄ cuando x̄ se escribe en forma decimal normalizada.
De acuerdo con la definición anterior, si x̄ = f l(x) en una aritmética de punto flotante
decimal con redondeo a t-dígitos, entonces f l(x) aproxima a x con t cifras significativas, es
decir, todos los dígitos en la mantisa de f l(x) son significativos con respecto a x.
También se define el concepto de cifras decimales exactas, como sigue:
Definicion 1.2 Se dice que el número x̄ aproxima con sus primeras primeras k-cifras
decimales exactas al número x, si k es el mayor entero no negativo tal que
EA = |x − x̄| < 5 × 10−(k+1)
12
Las k cifras decimales exactas, a que se refiere esta definición, son las primeras k cifras
contadas a partir del punto decimal en x̄, cuando x̄ se escribe en forma decimal.
Ejemplo 1.4 Si x = ,003451 y x̄ = ,003348, entonces
,00005 < |x − x̄| = ,001,0 < ,0005 = 5 × 10−4 < 5 × 10−3 < 5 × 10−2 < 5 × 10−1
así que k = 3 es el mayor entero no negativo tal que |,003451 − ,003348| ≤ 5 × 10−(k+1) . Luego
.003348 aproxima a .003451 con sus tres primeras cifras decimales exactas, que son en este
caso 0, 0 y 3.
Observe que si y = 28.003451 y ȳ = 28.003348 , entonces
,00005 < |y − ȳ| = ,000103 < 5 × 10−4 < 5 × 10−3 < 5 × 10−2 < 5 × 10−1
y nuevamente, ȳ aproxima a y con sus primeras tres cifras decimales exactas, que son, por
supuesto, 0, 0 y 3.
Ahora, el error relativo de x̄ con respecto a x es
,005 < Er =
,000103
= ,029... < ,05 = 5 × 10−2 < 5 × 10−1
,003451
así que t = 2 es el mayor entero no negativo que satisface
|,003451 − ,003348|
< 5 × 10−t
|,003451|
y por tanto x̄ aproxima a x con sus primeros 2-dígitos significativos que son 3 y 3 (Por
qué?). Con cuantas cifras significativas aproxima ȳ a y?
Ejemplo 1.5 Con cuántas cifras significativas aproxima ,333 a
1
3
Como
¯
¯
¯1
¯1
¯ ¯
¯ ¯
¯ − ,333¯ ¯¯ 1 − ,333 ¯¯
¯ − ,333¯ ¯¯ 1 − ,333 ¯¯
3 ¯ ¯
=¯3 1
=¯3 1
¯ = |1 − ,999| = ,001 3 ¯¯ 1 ¯¯
¯ = |1 − ,999| = ,001
¯1¯
¯
¯
¯
¯
3
3
3
3
y ,0005 < ,001 < ,005 = 5 × 10−3 < 5 × 10−2 < 5 × 10−1 , entonces t = 3 es el mayor entero
no negativo tal que
¯1
¯
¯ − ,333¯
3 ¯ ¯
< 5 × 10−t
¯1¯
3
Por lo tanto .333 aproxima a 31 con 3 cifras significativas. Observe que .333 es el número
en aritmética de punto flotante decimal con redondeo a tres dígitos que representa a 13 .
13
Ejemplo 1.6 ¿Dónde debe estar x̄ para que aproxime a 1000 con 4 cifras significativas?
Según la definición (1.1), x̄ debe ser tal que
1.
¯
¯
¯ 1000 − x̄ ¯
−4
¯
¯
¯ 1000 ¯ < 5 × 10
2.
¯
¯
¯ 1000 − x̄ ¯
−5
¯
¯
¯ 1000 ¯ < 5 × 10
La desigualdad 1) tiene como solución 999.5 <x̄ <1000.5 y la desigualdad 2) tiene como
solución x̄ ≤ 999.95 o S
x̄ ≥ 1000.05 . Interceptando las dos soluciones se obtiene que x̄ debe
estar en (999.5,999.95] [1000.05,1000.5)
2.
Ejercicios
Ejercicio 2.1 Realiza un algoritmo en MATLAB o SCILAB, para pasar cualquier número
en base 10 a cualquier base. Aunque estos dos paquetes poseen funciones que realizan estos
procesos, realizar el algoritmo.
Ejercicio 2.2 Consulta como pasar un número de fracción decimal (por ejemplo: 0.5, 0.83,
etc.) a binario. Luego utiliza MATLAB o SCILAB, y realiza el algoritmo.
Ejercicio 2.3 Compruebe que EA = |x − f l(x)| ≤ 5 × 10n−(t+1)
Ejercicio 2.4 Verificar que si f l(x) se obtiene por cortado, entonces
Er =
|x − f l(x)|
< 10 × 10−t = 10−t+1
|x|
y
EA = |x − f l(x)| ≤ 10 × 10n−(t+1)
Ejercicio 2.5 Consulta el tema ”Propagación de errores” en: la adición, la diferencia, el producto, el cociente y la potenciación. Dar dos problemas como ejemplo.
Ejercicio 2.6 Sean (x0 , y0 ) y (x1 , y1 ), con y0 6= y1 , puntos dados de una cierta línea recta.
Verifique que la abscisa del punto de intersección de dicha recta con el eje x, se puede calcular
con cualquiera de las dos siguientes fórmulas
14
x=
x0 y1 − x1 y0
,
y1 − y0
x = x0 −
(x1 − x0 ) y0
y1 − y0
Use los datos (x0 , y0 ) = (1,31, 3,24), (x1 , y1 ) = (1,93, 4,76) y aritmética decimal con redondeo a tres dígitos para calcular dicha abscisa, utilizando las dos fórmulas. Cuál fórmula da el
mejor resultado y por qué?
Ejercicio 2.7 Consultar los términos overflow y underflow, dar ejemplos
Ejercicio 2.8 Calcule ln2 a partir de la serie de MacLaurin para la función f (x) = ln(x + 1).
Determine el menor número de términos en dicha serie que deben tomarse para conseguir ln2
con un error menor al 0.05 %. H
15