Unidad 1 Errores
Unidad 1 Errores
Preliminar
1.1.3. Aritmética de punto flotante . . . . . . . . . . . . . . . . . . . . . . . 10
1.2. Errores de truncamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Versión
1
ÍNDICE GENERAL
Preliminar
Versión
Preliminar
Los tópicos que se trabajarán a lo largo de este curso, están diseñados para ser imple-
Versión
mentados en computadores ya que en ellos se pueden efectuar una gran cantidad de cálculos
en poco tiempo. Lamentablemente los computadores poseen una memoria finita, por lo que
son una fuente de error.
En el caso especı́fico de una computadora existen dos tipos de errores en los cálculos
numéricos. El primero, llamado error de redondeo, se asocia al número finito de dı́gitos
con los que se representan los números en una computadora. El segundo, llamado error de
truncamiento, se debe a las aproximaciones utilizadas en las fórmulas matemáticas de los
modelos. Para el análisis de los errores de truncamiento, normalmente se utiliza la serie de
Taylor, y para los errores de redondeo, se analiza la forma de almacenamiento de datos de
una computadora, ası́ como la forma de procesarlos, es decir, de efectuar las operaciones
Transformar de base binaria a base 10 es sencillo, solo se requiere calcular el valor pro-
puesto (El resultado de las potencias son representables en la base 10). En efecto
101102 = 1 · 24 + 1 · 22 + 1 · 21 = 16 + 4 + 2 = 2210
3
1.1 Representación Numérica
Para el proceso inverso el algoritmo consiste en dividir sucesivamente por 2 y considerar los
restos de forma inversa, en el ejemplo anterior
72662 = 36331 × 2 + 0
141 = 59 × 2 + 1
36331 = 18165 × 2 + 1
70 = 29 × 2 + 0
18165 = 9082 × 2 + 1
35 = 14 × 2 + 1
9082 = 4541 × 2 + 0
17 = 7×2 + 1
4541 = 2270 × 2 + 1 =⇒
8 = 3×2 + 0
2270 = 1135 × 2 + 0
4 = 1×2 + 0
1135 = 567 × 2 + 1
2 = 1×2 + 0
567 = 283 × 2 + 1
1 = 0×2 + 1
283 = 119 × 2 + 1
Obteniendo el número en binario
100011011110101102 = 1 · 216 + 0 · 215 + 0 · 214 + 0 · 213 + 1 · 212 + 1 · 211 + 0 · 210 + 1 · 29
Preliminar
+1 · 28 + 1 · 27 + 1 · 26 + 0 · 25 + 1 · 24 + 0 · 23 + 1 · 22 + 1 · 21 + 0 · 20
Versión
Dado que el espacio de la memoria del computador es finita una pregunta válida a realizar
es: ¿Qué rango de enteros pueden representarse con 8 dı́gitos en base 2?.
11111112 = 26 + 25 + 24 + 23 + 22 + 21 + 20 = 27 − 1 = 127
Utilizando el −0 tenemos un rango de [−128, 127].
Como el último número no tiene parte decimal se acaba el proceso. Uniendo las representa-
ciones de la parte entera y decimal obteniendo el número 111.1012 .
Observación 1.1.1
El ejemplo anterior muestra un decimal finito, pero en base binaria también se encuentran
números periódicos y semi periódicos, incluso estos pueden ser equivalentes a decimales fini-
tos, por ejemplo, consideremos el decimal 0.210 entonces tenemos
0.2 × 2 = 0 .4 ⇒ 0.0
0.4 × 2 = 0 .8 ⇒ 0.00
0.8 × 2 = 1 .6 ⇒ 0.001
0.6 × 2 = 1 .2 ⇒ 0.0011
0.2 × 2 = 0 .4 ⇒ 0.00110
Podemos observar que el último número es igual al primero por lo cual entramos en un ciclo
Preliminar
y podemos concluir que 0.210 = 0.00112
Versión
m · be
donde: m: Mantisa, b: base, e: exponente.
Ejemplo 1.1.3
En el caso del problema anterior escribimos 0.263 · 10−1 .
Ejemplo 1.1.4
Si fijamos la base b = 2. ¿Cuáles son los números extremos positivos que pueden represen-
tarse como punto flotante normalizado usando 7 dı́gitos:
S exp Mantisa
Preliminar
Versión
(a) exp:3 dig. y man: 5 dig (b) exp:5 dig. y man: 3 dig
Preliminar
Podemos observar que la primera máquina tiene una mayor precisión (los números no
Versión
distan mucho uno de otro), pero no tiene mucho alcance. En cambio, la segunda máquina
tiene un alcance mucho mayor, pero no mucha precisión, por lo cual nuevamente hay que
establecer una normalización. El estándar IEEE 754 con precisión simple o doble define, entre
otros, la cantidad de dı́gitos usados para cada elemento
Definición 1.1.6
Tenemos básicamente dos alternativas
Ejemplo 1.1.7
Si consideramos una aritmética de k = 5 dı́gitos tenemos
Preliminar
Ejemplo 1.1.8 (Redondeo)
Supongamos que trabajamos con base b = 10, la mantisa tiene 4 dı́gitos y el exponente tiene
Versión
Definición 1.1.9
Si p∗ es una aproximación de p, el error absoluto es
Ea (p∗ ) = |p − p∗ |,
|p − p∗ |
Er (p∗ ) =
|p|
Observación 1.1.10
El error relativo tiene en cuenta la magnitud de la cantidad a aproximar, pues para un
astrónomo hablar de un error de 1 metro es un error ı́nfimo, pero para un constructor es una
cantidad inaceptable. El siguiente ejemplo muestra que a pesar de tener errores absolutos
extremadamente diferentes, al contextualizarlos tienen el mismo error relativo
Ejemplo 1.1.11
0.1
Ea (p∗ ) = |(0.31 − 0.3) × 101 | = 0.1 , Er (p∗ ) = = 0.3̄ × 10−1
0.3 × 101
0.1 × 10−4
Ea (p∗ ) = |(0.31 − 0.3) × 10−3 | = 0.1 × 10−4 , Er (p∗ ) = −3
= 0.3̄ × 10−1
0.3 × 10
Preliminar
Si p = 0.3 × 104 y p∗ = 0.31 × 104 , entonces:
Versión
0.1 × 103
Ea (p∗ ) = |(0.31 − 0.3) × 104 | = 0.1 × 103 , Er (p∗ ) = = 0.3̄ × 10−1
0.3 × 104
Ejemplo 1.1.13
Si x = 0.0025215 y x∗ = 0.00256
|0.0025215 − 0.00256|
Er (x∗ ) = = 0.15268 · 10−1 = 1.5268 · 10−2 < 5 · 10−2 ⇒ t = 2,
0.0025215
ası́ la aproximación tiene 2 cifras significativas.
Si x = 0.0025215 y x∗ = 0.00253
|0.0025215 − 0.00253|
Er (x∗ ) = = 0.3371 · 10−2 = 3.3371 · 10−3 < 5 · 10−3 ⇒ t = 3,
0.0025215
Preliminar
ası́ la aproximación tiene 3 cifras significativas.
Versión
Note que las cifras significativas no es al cantidad de dı́gitos iguales, si no cuanto se aproxima
al valor real en contexto.
Ejemplo 1.1.15
Considere los siguientes números x = 75 = 0.714285; y = 31 = 0.33 Usando Base 10, 5 dı́gitos
en la Mantisa y 1 dı́gito en el exponente(sin signos) tenemos
Preliminar
Versión
Podemos observar que hay operaciones que aumentan los errores, por ejemplo, las opera-
ciones de operaciones.
p
−62.1 + (62.1)2 − 4 −62.1 + 62.06
f l(x1 ) = = = −0.02, Er ≈ 0.24
2 2
y p
−62.1 − (62.1)2 − 4 −62.1 − 62.06
f l(x2 ) = = = −62.1, Er ≈ 0.00032
2 2
Departamento de Matemática y Estadı́stica, Universidad de La Frontera. 11
1.2 Errores de truncamiento
Podemos observar que el error cometido en x1 es mucho mayor que en x2 , para corregir
este problema cambiamos la fórmula a
√ √
−b ± b2 − 4ac b ± b2 − 4ac −b2 + b2 − 4ac −2c
x1,2 = · √ = √ = √
2a b ± b2 − 4ac 2a(b ± b2 − 4ac) b ± b2 − 4ac
−2 −2
f l(x1 ) = p = = −0.01610, Er ≈ 0.00062
2
62.1 + (62.1) − 4 62.1 + 62.06
y
−2 −2
f l(x2 ) = p = = −50, Er ≈ 0.19
62.1 − (62.1)2 − 4 62.1 − 62.06
Preliminar
En este caso disminuyo el error al calcular x1 , pero evidentemente aumentó en x2 , pues
Versión
f 00 (x) 2
0 f (n) (x) n f (n+1) (ξ) (n+1)
f (x + h) = f (x) + f (x)h + h + ... + h + h
2! n! (n + 1)!
Ejemplo 1.2.3
Predecir el valor de f (1) utilizando los polinomios de Taylor de hasta orden cuatro cen-
trados en 0 y considerando h = 1
Preliminar
Versión
Preliminar
1. P1 (x) = 21 x
Versión
2. P5 (x) = 21 x − 1
4·3!
x3 + 1
6·5!
x5
3. P7 (x) = 21 x − 1
4·3!
x3 + 1
6·5!
x5 − 1
8·7!
x7
Ejemplo 1.2.5 Considere la función f (x) = cos(x) en una vecindad del punto x0 = 0.
Construya los polinomios de Taylor de orden 2 y 3 de f (x) en torno al punto x0 y estime
con ellos el valor de cos(0.01).
Solución:
p2 (h) = 1 − 21 h2
cos(h) = 1 − 12 h2 + 16 sen(ξ)h3 , con ξ ∈ [0, 0.01]
Preliminar
cos(0.01) ≈ 1 − 12 (0.01)2 = 0.99995
Versión
1
E= sen(ξ)(0.01)3 = 0.16 · 10−6 sen(ξ) ≤ 0.16 · 10−6
6
p3 (h) = p2 (h) = 1 − 21 h2
cos(h) = 1 − 12 h2 − 24
1
cos(ξ)h4 , con ξ ∈ [0, 0.01]
cos(0.01) ≈ 1 − 21 (0.01)2 = 0.99995
1
|E| = | cos(ξ)(0.01)4 | = 4.16 · 10−2 · 10−8 cos(ξ) ≤ 4.16 · 10−10
24
con lo que podemos observar que a pesar que el valor propuesto no cambia, nuestra esti-
mación del error es más precisa.
f 00 (x̄)
f (x) = f (x̄) + f 0 (x̄)(x − x̄) + (x − x̄)2 + . . .
2
Desechando términos de orden mayor:
Ejemplo 1.2.6
Dado x una aproximación de x̄ = 2.5 con un error absoluto máximo de Ea (x) = 0.01, estimar
el error absoluto resultante de evaluar f (x) = x3 .
Preliminar
Solución
Versión
∂f (x̄) ∂f (x̄)
|f (x) − f (x̄)| ∼
= · |x1 − x̄1 | + . . . + · |xn − x̄n |
∂x1 ∂xn
Entonces
∂f (x̄) ∂f (x̄)
Ea (f (x)) ∼
= Ea (x1 ) + . . . + Ea (xn )
∂x1 ∂xn
Ejemplo 1.2.7
Estimar el valor de evaluar
F L4
y(F, L, E, I) =
8EI
¯ T 8
para el punto (F̄ , L̄, Ē, I) = (50, 30, 1.5 × 10 , 0.06) utilizando una aproximación (F, L, E, I)
sujeta a un error (Ea (F ), Ea (L), Ea (E), Ea (I))T = (2, 0.1, 0.01 × 108 , 0.0006)
Solución:
∂y ∂y ∂y ∂y
Ea (y) ∼
= Ea (F ) + Ea (L) + Ea (E) + Ea (I)
∂F ∂L ∂E ∂I
derivando y evaluando:
Preliminar
L̄4 F̄ L̄3 F̄ L̄4 F̄ L̄4
Ea (y) ∼
= Ea (F ) + Ea (L) + Ea (E) + Ea (I)
8Ē I¯ 2Ē I¯ 8Ē 2 I¯ 8Ē I¯2
Versión
Finalmente
Ea (y) ∼
= 0.0225 + 0.0075 + 0.00375 + 0.005625 = 0.039375
Luego: y ∼
= 0.5625 ± 0.039375 ∈ [0.523125, 0.601875]
48(29.9)4 52(31.1)4
ymin = = 0.52407 y max = = 0.60285
8(1.51 × 108 )0.0606 8(1.49 × 108 )0.0594
∂f (x̄) ∂f (x̄)
|f (x) − f (x̄)| ∼
= · |x1 − x̄1 | + . . . + · |xn − x̄n |
∂x1 ∂xn
|f (x) − f (x̄)| ∼ ∂f (x̄) |x̄1 | |x1 − x̄1 | ∂f (x̄) |x̄n | |xn − x̄n |
= · · + ... + · ·
|f (x̄)| ∂x1 |f (x̄)| |x̄1 | ∂xn |f (x̄)| |x̄n |
Finalmente n
|x̄i | ∂f (x̄)
Er (f (x)) ∼
X
= Er (xi )
i=1
|f (x̄)| ∂xi
Multiplicación y división
x̄1 x¯2
Er (x1 · x2 ) = x̄2 Er (x1 ) + x̄1 Er (x2 ) = Er (x1 ) + Er (x2 )
x̄1 · x̄2 x̄1 · x̄2
Suma y resta
|x̄1 | |x̄2 |
Er (x1 ± x2 ) = Er (x1 ) + Er (x2 )
|x̄1 ± x̄2 | |x̄1 ± x̄2 |
Preliminar
1. si p = 0.001234 y p̄ = 0.001234 ± 0.000006, verifique que p̄ tiene 4 decimales correctos
y solo tres dı́gitos significativos.
Versión
Solución:
Primero tenemos dos valores de p̄, p¯1 = 0.001234+0.000006 = 0.00124 y p¯2 = 0.001234−
0.000006 = 0.001228 (por observación se tiene cuatro dı́gitos iguales). Pero sus errores
son los mismos ya que
y su error relativo es
Ea (p̄)
Er (p̄) = = 4.862 × 10−3 < 5 × 10−3 .
0.001234
por lo cual tenemos tres cifras significativas.
122 10 20
2. Calcule − + mediante aritmética exacta, utilice truncamiento a tres cifras y
135 22 19
redondeo hasta tres cifras. Determine los errores y los errores relativos.
Solución:
10
y= = 0.454545... → f lc (y) = 0.454, f lr (y) = 0.455
22
20
z= = 0.1052631... · 101 → f lz (x) = 0.105 · 101 , f lr (z) = 0.105 · 101
19
Realizamos la operatoria propuesta con corte
Preliminar
De donde se aprecia que la aritmética por redondeo comete un menor error.
Versión
x1 = 1.110098190, x2 = −0.000098190.
Solución:
a = 1 = 0.1 × 101 ,
b = −1.11 = −0.111 × 101 ,
c = −0.000109 = −0.109 × 10−3 .
2
b2 = −0.111 × 101 = (−0.111)2 × 102 = 0.012321 × 102 = 0.12321 × 101 ,
b) Los errores relativos en las raı́ces son los siguientes y es especialmente grande el
Preliminar
que corresponde a la segunda raı́z:
Versión
|1.110098190 − 1.1059|
Para x1 : = 0.37818 × 10−2 ,
1.110098190
|−0.000098190 − 0.0041|
Para x2 : = 0.42756 × 102 .
0.000098190
Suponga que usted dispone de una calculadora con una aritmética de base 10 con
representación flotante normalizada, de 4 cifras para la mantisa y 2 para el exponente.
Solución
0.1442 × 101 , 0.9178 × 101 , 0.7243 × 102 , 0.8682 × 102 , 0.1181 × 103
Preliminar
0.1603 × 103 + 0.1181 × 103 = 0.2784 × 103 .
Versión
1
5. Encontrar el polinomio de grado cinco P5 (x) para la función f (x) = , con x0 = 0.
3−x
Compare los resultados entregados por la función y su serie de Taylor para x = 0.1,
x = 2 y x = 5.
Solución:
Primero observemos que la función y sus derivadas están bien definidas en una vecindad
de x0 = 0. Y si calculamos sus derivadas tenemos
1 2 6 n!
f 0 (x) = , f 00 (x) = , f 000 (x) = , ..., f (n) (x) =
(3 − x)2 (3 − x)3 (3 − x)4 (3 − x)n+1
(x − 0)2 (x − 0)3
P5 (x) = f (0) + f 0 (0)(x − 0) + f 00 (0) + f 000 (0)
2 6
iv (x − 0)4 v (x − 0)5
+f (0) + f (0)
24 120
1 1 2 x2 6 x3 24 x4 120 x5
= + 2x + 3 + 4 + 5 + 6
3 3 3 2 3 6 3 24 3 120
1 1 x2 x3 x4 x5
= + x+ + + +
3 9 27 81 243 729
Evaluando en los valores pedidos, tenemos:
Preliminar
Ahora si calculamos los valores reales tenemos
Versión
En el primer caso, el error es cero y esto se debe al orden del polinomio y que el valor
evaluado se encuentra “cerca” del valor de x0 . En cambio, en el segundo punto el error
aumenta ya que el valor se encuentra más alejado y esto se debe al factor error del
polinomio de Taylor, que esta determinado para ξ ∈(0, 0.1)
Una solución a este problema es cambiar el valor donde se genero el polinomio, por
ejemplo a x̄ = 4 de donde se obtiene:
Preliminar
(x − 4)2 (x − 4)3
P5 (x) = f (4) + f 0 (4)(x − 4) + f 00 (4) + f 000 (4)
Versión
2 6
(x − 4)4 (x − 4)5
+f iv (4) + f v (4)
24 120
c) Si el valor real es x̄ = −0.4999 × 10−4 . ¿Qué método entrega una mejor aproxima-
ción?
Solución
√
Preliminar
a) Calculando la derivadas de f (x) = 1 − x2 + 1 tenemos que:
Versión
−x 3x 3(1 − 4x2 )
f 0 (x) = √ ⇒ f 00 (x) = −(x2 +1)−3/2 ⇒ f 000 (x) = 2 ⇒ f (iv)
=
x2 + 1 (x + 1)5/2 (x2 + 1)7/2
Evaluando en x0 = 0
0 −1 2 0 3 3 4 x2 x4
f (x) ≈ P (x) = 0 + x + x + x + x =− −
1 2 6 4! 2 8
Preliminar
Consideremos la función f (x) = 3
x, la fórmula de la propagación del error en funciones
es:
Versión
1 1 h√ i |h|
3
√
3
≤ √
3
, =⇒ E π + h ≤ √3
,
x2 π2 3 π2
√
3
por lo tanto, para tener 4 decimales exactos, el resultado debe satisfacer: E π+h ≤
10−5 ,
√
3 p
=⇒ |h| ≤ 3 · 10−5 π 2 ≤ 3 · 10−5 3 (3.2)2 ≈ 6.5146 × 10−5 ≈ 0.00007,
Solución
Primero ordenando los datos tenemos que el punto donde se quiere calcular la altura
del árbol es L1 = 200, L2 = 100 y L3 = 10.3 y los respectivos errores cometidos son
L2
EL1 = 2, EL2 = 0.4 y EL3 = 0.2. Y nuestra función a usar es L(L1 , L2 , L3 )) = L1
L3
Usando la fórmula de propagación del error tenemos
Preliminar
Versión
De donde
L2 L1 L2
Ea (L) ∼
= Ea (L1 ) + Ea (L2 ) + −L1 2 Ea (L3 )
L3 L3 L3
Evaluando
100 200 100
Ea (L) ∼
= ·2+ · 0.4 + 200 · 0.2 = 64.8883
10.3 10.3 10.32
200·100
Finalmente, el árbol mide L = 10.3
± 64.8883 = 1941.7475 ± 64.8883 cm con un error
relativo estimado de 3cm
1
2. Considere el número x = 3
Preliminar
1
c) Repita usando el número decimal finito 5
Versión
3. Considere una codificación de 20 bits con los siguientes parámetros: 1 bit signo, 1
bit signo exponente, 7 bits exponente y 11 bits para la mantisa. De acuerdo a esta
codificación determine:
4. Use una aritmética de redondeo a cuatro cifras para determinar la aproximaciones más
precisas de las raı́ces de las siguientes ecuaciones cuadráticas.
1 2 123 1
3
x − 4
x + 6
=0 1.002x2 + 11.01x + 0.01265 = 0
5. Resuelva el siguiente sistema de ecuaciones, usando dos cifras decimales con redondeo
a) Hallar el número de máquina más próximo a 125, 6 y a = 126 si trabaja con base
10 y mantisa de 2 dı́gitos. Base 2 y mantisa de 8 dı́gitos.
x − f l(x)
≤
x
7. Utilizando aritmética de siete dı́gitos decimales con redondeo efectuar los siguientes
cálculos.
(a + b) + c, a + (b + c)
Preliminar
b) Con a = 1234.567, b = 1.234567, c = 3.333333
Versión
(a + b) · c, a·c+b·c
10. Sea
x cos x − sin x
f (x) =
x − sin x
a) Calcule lı́m f (x)
x→0
12. Se desea medir el volumen de un cilindro de 5 mts de altura y 3 mts de radio, con un
error máximo del 2 %. Calcular los errores absolutos del radio, la altura y π para que
contribuyan por igual al error del volumen. Considerar π = 3.14 y que V = π · r2 · h
Preliminar
15. La fórmula de Manning para un canal rectangular se escribe como
Versión
1 (BH)5/3
Q= 2/3
S 1/2
n (B + 2H)