2 Errores Numericos
2 Errores Numericos
2 Errores Numericos
Métodos Numéricos
Prof. Alejandro G. Marchetti
Unidad II
Errores Numéricos
Mayo de 2020
Errores Numéricos 1
1. Introducción
El análisis numérico provee métodos computacionales para el estudio y la solución de pro-
blemas matemáticos. Debido a que los cálculos se realizan en computadoras digitales, debemos
conocer las implicancias que esto tiene en la implementación de métodos numéricos. El estu-
dio del error es de primordial importancia en el análisis numérico. La mayorı́a de los métodos
numéricos obtienen soluciones que son sólo una aproximación de la solución verdadera, y es im-
portante, de ser posible, poder estimar o acotar el error resultante. En esta Segunda Unidad, nos
enfocamos en el estudio de los errores que se generan en los cálculos, debido a la representación
computacional de números en punto flotante.
donde los coeficientes ai son los valores (posición) de los dı́gitos en el sistema con base β, es
decir, enteros positivos tales que 0 ≤ ai ≤ β − 1, y σ es una variable binaria que representa el
signo del número (σ = 0 si el número es positivo y σ = 1 si es negativo).
La fórmula general para construir un número real x en un sistema de numeración posicional
de base β es la siguiente:
x = (−1)σ an β n + an−1 β n−1 + · · · + a1 β 1 + a0 β 0 + a−1 β −1 + a−2 β −2 + . . . (1)
Por ejemplo, usando el sistema decimal, el número 213,58 se puede construir como:
213, 58 = (−1)0 × 2 × 102 + 1 × 101 + 3 × 100 + 5 × 10−1 + 8 × 10−2 .
Errores Numéricos 2
(1 0 1 0 1, 1 1 0 1)2
Otros ejemplos:
lo cual representa una suma parcial de una serie geométrica de razón 2. Luego,
1 − 2m
x= = 2m − 1
1−2
lo cual representa una serie geométrica de razón 0, 25 < 1. Sabemos que dicha serie es
convergente, y conocemos la expresión de su suma,
n
∞
1X 1 1 1 1 1
x= = 1 = = = 0, 333 . . .
4 4 41− 4
4−1 3
n=0
11 = 2 × 5 + 1 −→ a0 = 1
5 = 2 × 2 + 1 −→ a1 = 1
2 = 2 × 1 + 0 −→ a2 = 0
1 = 2 × 0 + 1 −→ a3 = 1
2 × x = 0, 4 −→ a−1 = 0, x1 = 0, 4
2 × x1 = 0, 8 −→ a−2 = 0, x2 = 0, 8
2 × x2 = 1, 6 −→ a−3 = 1, x3 = 0, 6
2 × x3 = 1, 2 −→ a−2 = 1, x4 = 0, 2
..
.
Luego, (0, 2)10 = (0, 00110011001100 . . . )2 . Notar que se obtiene una fracción binaria periódica.
La mantisa m es la parte fraccional del número, definida por los n dı́gitos ai , i = 1, . . . , n, como:
a1 a2 an
m = (, a1 a2 . . . an )β = 1 + 2 + · · · + n
β β β
donde ai , i = 1, . . . , n, son números naturales tales que 0 ≤ ai ≤ β − 1, con a1 6= 0 para números
en punto flotante normalizados.
El exponente E es un número entero positivo, definido por los t dı́gitos cj , j = 1, . . . , t, como:
E = (c1 c2 . . . ct )β = c1 β 1 + c2 β 2 + · · · + ct β t
El signo del número está definido por la variable binaria σ, introducida previamente, de
forma que σ = 0 si el número es positivo y σ = 1 si es negativo.
El uso exclusivo de enteros positivos para el exponente no permitirı́a una representación
adecuada de números con magnitud pequeña. Para garantizar que estos números también sean
representables, se resta el sesgo s del exponente, el cual es una constante para una representación
dada.
Ejemplos de números decimales en notación de punto flotante con una mantisa de 10 dı́gitos:
f l(3,333 . . . ) = (,3333333333)10 × 101
f l(0,000777 . . . ) = (,7777777778)10 × 10−3
f l(100,02) = (,1000200000)10 × 103
El cero no puede ser representado como punto flotante normalizado y se representa como
caso particular. Para una representación dada, existen lı́mites en los exponentes que se pueden
representar:
L≤E−s≤U
con L < 0 y U > 0. Si el exponente de un número x viola la cota inferior, es decir, si E − s < L,
ocurre un desbordamiento a cero o underflow. En este caso, f l(x) = 0 y los cálculos continuan.
Si el exponente de x viola la cota superior, es decir, si E −s > U , luego x no se puede representar
como f l(x) y ocurre un desbordamiento u overflow. Esto representa un error fatal y el cálculo
(programa) se interrumpe.
Precisión simple: En precisión simple, los números se representan con 32 bits y un sesgo de
127. Se emplea 1 bit para el signo, 8 para el exponente, y 23 para la mantisa.
Precisión doble: En precisión doble, los números se representan con 64 bits y un sesgo de
1023. Se emplea 1 bit para el signo, 11 para el exponente, y 52 para la mantisa.
Notar que en el estándar IEEE 754, el 1 anterior a la coma en (3) y (4) es implı́cito, y no se
almacena ya que se asume se presencia. Por otra parte, el dı́gito a1 puede ser igual a cero.
(11111111)2 = 28 − 1 = 255
Para números normalizados se representan números enteros del 1 al 254. El mı́nimo (0) y el
máximo (255) se reservan para otros fines. Utilizando un sesgo de 127, se pueden representar
exponentes en el rango,
− 126 ≤ E − s ≤ 127
L = −126 = 1 − 127
U = 127 = 254 − 127
0 10000100 01000000000000000000000
Exponente: E = 27 + 22 = 132
Significante: ξ = 20 + 2−2 = 1,25
con a1 6= 0.
Redondeo en decimal: Notar que la definición (6) concuerda con la definición clásica de redondeo
que conocemos para el sistema decimal:
(−1)σ (, a1 a2 . . . an−1 an )10 × 10E−s 0 ≤ an+1 < 5
f l(x) =
(−1)σ [(, a1 a2 . . . an−1 an )10 + (, 0 0 . . . 0 1)10 ] × 10E−s 5 ≤ an+1 < 10
Redondeo en binario: Incluyendo el significante empleado en la norma IEEE, el redondeo en
binario está dado por:
(−1)σ (1, a1 a2 . . . an−1 an )2 × 2E−s an+1 = 0
f l(x) =
(−1)σ [(1, a1 a2 . . . an−1 an )2 + (, 0 0 . . . 0 1)2 ] × 2E−s an+1 = 1
Algunos programas como Matlab y Scilab utilizan la variante mencionada anteriormente, es
decir, en el caso particular en que:
(1) an+1 = 1 y (2) aj = 0 para j ≥ n + 2,
se redondea hacia arriba si an = 1 y hacia abajo si an = 0.
Epsilon de la máquina
Sea y el menor número representable “en la máquina”que es mayor a 1. El epsilon de la
máquina es una medida de precisión dada por: ε = y − 1.
Empleando la norma IEEE se tiene:
1 = (1, 0 0 . . . 0 0)2 × 20
y = (1, 0 0 . . . 0 1)2 × 20 = 1 + 2−n > 1
Luego, ε = 2−n . En precisión simple, ε = 2−23 ≈ 1,19 × 10−7 .
Unidad de redondeo
La unidad de redondeo de un computador es un número δ que satisface:
Errores Numéricos 7
(1, 0 0 . . . 0 1 0 0 . . . )2 × 20 = 1 + 2−n−1
↑
posición n + 1
Ahora, si δ̂ < 2−n−1 entonces 1 + δ̂ tiene un cero en la posición n + 1 de la mantisa, y por defi-
nición se tiene entonces que f l(1+ δ̂) = 1. Luego, δ = 2−n−1 . En precisión simple, δ ≈ 5,96×10−8 .
Sin embargo, 224 + 1 no se almacena en forma exacta ya que esto requerirı́a una mantisa de 24
bits:
4. Errores Numéricos
4.1. Error Absoluto y Relativo
Al resover un problema, buscamos obtener la solución exacta o verdadera, que denotamos xv .
Sin embargo, aplicando métodos numéricos se obtiene por lo general una solución approximada
xa . Definimos el error en xa como:
Error = xv − xa
Errores Numéricos 8
f l(x) = (1 + ε)x
Luego, f l(x) puede verse como un valor perturbado de x. La siguiente proposición provee cotas
sobre el error relativo ε.
Proposición 1 Sea x ∈ R, con x 6= 0. Las siguientes cotas sobre el error relativo ε son válidas
empleando las fórmulas de truncamiento y redondeo dadas por (5) y (6), respectivamente.
i) −β −n+1 ≤ ε ≤ 0 f l(x) truncado
1 1
ii) − β −n+1 ≤ ε ≤ β −n+1 f l(x) redondeado
2 2
Demostración. Veremos la demostración del item (i) solamente. Supondremos σ = 0 (el caso
σ = 1 no cambia el signo de ε). En el caso de truncamiento, tenemos:
Sea γ = β − 1,
0 ≤ x − f l(x) ≤ (, 0 0 . . . 0 γ γ . . . )β × β e =
"∞ # "∞ # 1
X 1 e γ X 1 i e γ β γ 1 e βe
=γ β = n β = n βe = β = = β −n+e
β n+i β β β 1 βn γ βn
i=1 i=1 1−
β
Dividiendo por x la desigualdad anterior, tenemos
x − f l(x) β −n+e
0≤ ≤ (7)
x (, a1 a2 . . . )β × β e
Luego,
β −n
0 ≤ −ε ≤ = β −n+1
(, 1 0 0 0 . . . )β
con lo cual queda demostrado el item (i).
Errores Numéricos 9
Definición. Decimos que xa tiene m cifras significativas con respecto a xv si el error |xv − xa |
tiene una magnitud menor o igual a cinco unidades en el dı́gito (m + 1) de xv contando de
izquierda a derecha desde el primer dı́gito distinto de cero en xv .
Ejemplos
.
(a) xv = 1/3 xa = 0, 333 |xv − xa | = 0,000333
Decimos que xa tiene tres cifras significativas con respecto a xv .
(b) xv = 23, 496 xa = 23, 494 |xv − xa | = 0,002
Decimos que xa tiene cuatro cifras significativas con respecto a xv .
Errores Numéricos 10
Para medir el número de cifras significativas de un valor aproximado se suele emplear la siguiente
desigualdad. Si
xv − xa
≤ 5 × 10−m−1 , (8)
xv
luego xa tiene m cifras significativas con respecto a xv . Para demostrar esto, consideremos
primero el caso en que 0,1 ≤ xv < 1. Luego (8) implica
Como 0,1 ≤ xv < 1, esto implica que xv tiene m cifras significativas. Para un xv general la
demostración es la misma, haciendo xv = x̂v × 10E , con 0,1 ≤ x̂v < 1, y E un número entero.
Nota: Notar que (8) es una condición suficiente, pero no necesaria, para que xa tenga m cifras
significativas con respecto a xv . Los ejemplos (a) y (b) dados anteriormente tienen un mayor
número de cifras significativas que las indicadas por la condición (8).
Ejemplos
(a) Redondeo con 5 cifras significativas
xv = 1, 123456 xa = 1, 1235 |xv − xa | = 0, 000044
Luego xa tiene cinco cifras significativas con respecto a xv .
Error propagado
Sea ω una de las operaciones aritméticas +, −, ×, /; y sea ω̂ la versión computacional de la
misma operación, la cual incluye redondeo o truncamiento. Sean xa e ya números usados en los
cálculos, y suponga que ya presentan error, siendo sus valores verdaderos
xv = xa + ǫ, yv = ya + η.
La primera cantidad entre corchetes es llamada error propagado, mientras que la segunda can-
tidad es el error de redondeo o de truncamiento. Supondremos en los sucesivo que se emplea
redondeo. Para esta segunda cantidad, usualmente tenemos que
lo cual significa que xa ωya se calcula con exactitud y luego se redondea. Aplicando la cota (ii)
de la Proposición 1,
β −n+1
|xa ωya − xa ω̂ya | ≤ |xa ωya |
2
Para el error propagado examinaremos los casos particulares.
xv yv − xa ya = xv yv − (xv − ǫ)(yv − η)
= xv η + yv ǫ − ǫη
Para |Rel(ya )| ≪ 1,
xa
Rel ≈ Rel(xa ) − Rel(ya )
ya
Errores Numéricos 12
Tanto para la multiplicación como para la división los errores relativos no se propagan rápida-
mente.
por lo tanto,
Esto puede parecer bueno y razonable, pero es engañoso. El error relativo Rel(xa ± ya ) puede
ser bastante pobre comparado con Rel(xa ) y Rel(ya ).
22
Ejemplo. Sea xv = π, xa = 3,1416, yv = 7 , ya = 3,1429. Luego
Evaluar la función
√ √
f (x) = x x+1− x
Vemos como para valores elevados de x el error en la evaluación de f (x) aumenta conside-
rablemente. Para ver lo que está sucediendo analizaremos el caso de x = 100. Tenemos:
√ √
101 = 10,0499 100 = 10,0000
Errores Numéricos 13
En este caso, si evaluamos f (100) con una calculadora decimal de 6 dı́gitos, obtenemos f (100) =
4,98756, lo cual es igual al valor real de f (100) correctamente redondeado.
La primera cantidad entre corchetes es el error propagado, y es el error que resulta de aplicar
aritmética exacta en la evaluación de la función. La segunda cantidad entre corchetes es el
error que resulta de evaluar f (xa ) en la computadora. Este segundo error puede verse como una
variable aleatoria de pequeña magnitud que resulta de la acumulación de los errores de redondeo
asociados a las operaciones aritméticas que definen a la función f (x).
Error en sumatorias
Veremos cómo se propaga el error al realizar una sumatoria de números empleando aritmética
de punto flotante. Sea la suma
m
X
S= xj
j=1
Recursivamente, definimos
Observando esta fórmula, vemos que el mayor número de errores εj multiplica a x1 y x2 , mientras
que solo εm multiplica a xm . Si queremos minimizar el error |S − Sm | deducimos que la mejor
estrategia es sumar los números del menor al mayor, es decir, ordenando los términos antes de
sumarlos de tal modo que 0 ≤ |x1 | ≤ |x2 | ≤ · · · ≤ |xm |. Por supuesto, existen contraejemplos,
pero para sumatorias grandes esta estrategia por lo general minimiza la propagación de errores.
1) Error de modelado matemático. En fı́sica y en ciencias aplicadas (lo cual incluye todas las
ingenierı́as), un modelo matemático es una representación simplificada, a través de ecuaciones,
funciones o fórmulas matemáticas, de un fenómeno o de la relación entre dos o más variables.
Se podrı́a decir que un modelo matemático es una traducción de la realidad fı́sica de un sistema
fı́sico en términos matemáticos, es decir, una forma de representar matemáticamente cada uno
de los tipos de entidades que intervienen en un cierto proceso.
Las relaciones matemáticas formales entre los objetos del modelo, deben representar de al-
guna manera las relaciones reales existentes entre las diferentes entidades o aspectos del sistema
fı́sico. Ası́, una vez “traducido” o “representado” cierto problema en forma de modelo matemáti-
co, se pueden aplicar el cálculo, el álgebra y otras herramientas matemáticas para deducir el
comportamiento del sistema bajo estudio.
P V = nRT
donde P es la presión del gas, V es el volumen que ocupa, n es el número de moles del gas,
lo cual está relacionado con su masa, R es la constante universal de los gases ideales, y T es
la temperatura absoluta del gas. Esta ley describe el estado de un gas hipotético formado por
moléculas puntuales que no se atraen o repelen entre sı́. No existen gases que sean exactamente
ideales, pero muchos de ellos se aproximan al comportamiento ideal para temperaturas cercanas
a la temperatura ambiente y presiones cercanas a la presión atmosférica, de tal modo que
aproximarlos por un gas ideal es muy útil en numerosas situaciones. Por supuesto, existen
ecuaciones de estado mas precisas. van der Waals introdujo correcciones que tenı́an en cuenta el
volumen de las moléculas y las fuerzas atractivas que una molécula ejerce sobre otra a distancias
muy cercanas entre ellas, lo cual le valió el premio Nobel en 1910. La ecuación de van der Waals
está dada por
an2
P + 2 (V − nb) = nRT
V
Diferenciación numérica.
f (x + h) − f (x − h)
f ′ (x) ≈
2h
Bibliografı́a
1. Kendall E. Atkinson, An Introduction to Numerical Analysis, Second Edition, John Wiley &
Sons, 1989.