Error en cálculo numerico
-
Upload
beto-gomez -
Category
Documents
-
view
219 -
download
0
Transcript of Error en cálculo numerico
-
8/19/2019 Error en cálculo numerico
1/68
Luis Gomez
Universidad Austral, Campus Patagonia
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 1 / 67
Cálculo Numérico
BAIN 053Campus Patagonia 2015
-
8/19/2019 Error en cálculo numerico
2/68
1 Causas principales de errores en los métodos numéricos
2 Clase 2
3 clase 3 Error de redondeo
4 clase 4
5 clase 5
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 2 / 67
-
8/19/2019 Error en cálculo numerico
3/68
Causas principales de errores en los métodos numéricos
Causas principales de errores en los métodos numéricos
Introducción
Los errores númericos surgen del uso de aproximaciones para representar
operaciones y cantidades metemáticamente exactasLas dos Causas principales de errores son:
Error de truncamiento: está asociada a las aproximaciones de la fórmulamatemática
Error de redondeo: se asocian con el limitado número de dígitos con elque se representa en la computadora
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 3 / 67
-
8/19/2019 Error en cálculo numerico
4/68
Causas principales de errores en los métodos numéricos
Causas principales de errores en los métodos numéricos
Introducciónparte 2
Las soluciones numéricas (T n(x )) son aproximaciones de las soluciones
exactas (f (x ))Generalmente las aproximaciones son realizadas por medio de polinomios(suma o resta de términos o monómios) (de grado n)Es muy importante conocer la precisión (1/ξ ) con que el polinomio queaproxima la función verdadera
f (x ) = T n(x ) + ξ
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 4 / 67
-
8/19/2019 Error en cálculo numerico
5/68
Causas principales de errores en los métodos numéricos
Causas principales de errores en los métodos numéricos
Series de TaylorDefinicion
Una serie de Taylor o polinomio de Taylor es una representación de una
función como una suma infinita de términos.
T [f (x ), x a] =∞
i =0
f (i )(x a)
i ! (x − x a)i
Estos términos se calculan a partir de las derivadas de la función para undeterminado valor de la variable, lo que involucra un punto específicosobre la función.
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 5 / 67
-
8/19/2019 Error en cálculo numerico
6/68
Causas principales de errores en los métodos numéricos
Causas principales de errores en los métodos numéricos
Series de TaylorSolución numérica, aproximación
Como ya digimos, el desarrollo de Taylor es una serie infinita de potenciasque representa una función en un cierto intervalo.Sin embargo, en la practica una serie infinita no es posible por los que serealiza una aproximación a n términos.
T n[f (x ), x a] =n
i =0
f (i )(x a)
i !
(x
−x a)
i
Con algunos términos del polinomio es posible tener una aproximación dela función verdadera denominada serie de Taylor truncada (T n).
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 6 / 67
C i i l d l é d é i
-
8/19/2019 Error en cálculo numerico
7/68
Causas principales de errores en los métodos numéricos
Causas principales de errores en los métodos numéricos
Error de truncamiento
La diferencia entre la solución numérica con la serie de Taylor y la soluciónexacta corresponde al error de truncamiento
Si la serie de Taylor se trunca después del termino de orden N, nos queda:
T n[f (x ), x a] = f (x a) + (x − x a)f (x a) + (x − x a)2
2 f
(x a)+
(x − x a)36
f
(x a) + (x − x a)4
24 f
(x a) + ...+
(x − x a)nn!
f N (x a) + 0((x − x a)n+1)El error del método numérico se origina en el truncamiento
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 7 / 67
C i i l d l ét d é i
-
8/19/2019 Error en cálculo numerico
8/68
Causas principales de errores en los métodos numéricos
Causas principales de errores en los métodos numéricos
Desarrollo de Taylor para funciones unidimencionales
Se dice que una función es analítica en x = x as í f (x ) se puederepresentar por medio de una serie de potencias en términos deh = x − x a dentro de un radio de convergencia.
La condición para que sea analítica es que todas sus derivadas seancontinuas
Un punto singular es aquel donde f (x ) no es analítica (ejemplo
tan(π/2)) Cuando el valor de x a es igual a 0 denominamos a este polinomio
como de MacLaurin
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 8 / 67
Causas principales de errores en los métodos numéricos
-
8/19/2019 Error en cálculo numerico
9/68
Causas principales de errores en los métodos numéricos
Causas principales de errores en los métodos numéricos
Ejercicio
1. Calcular el polinomio de Taylor de grado 5 que se ajusta a la función
seno en el punto π/2.2. estimar el error que se comete entre el valor real, con un polinomio de
grado 2 y uno de grado 5.
3. De la función seno calcular el polinomio de grado 6 centrado en 0.
4. grafique en excel la función seno y los polinomios de grado 0, 1, 2, 3,4, 5 en torno 0 y π y centrado en π/2
5. Analice y discuta los resultados de su gráfica
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 9 / 67
Causas principales de errores en los métodos numéricos
-
8/19/2019 Error en cálculo numerico
10/68
Causas principales de errores en los métodos numéricos
Causas principales de errores en los métodos numéricos
Ayuda
y = sen(x ) −→ y = cos (x ) (1)y = cos (x ) −→ y = −sen(x ) (2)
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 10 / 67
Clase 2
-
8/19/2019 Error en cálculo numerico
11/68
Clase 2
Clase 2
Repaso
Los errores de truncamiento son aquellos que resultan al usar una
aproximación en lugar de un procedimiento matemático exacto. En esencia, la serie de Taylor proporciona un medio para predecir el
valor de una función en un punto en términos del valor de la función ysus derivadas en otro punto.
En particular, el teorema establece que cualquier función suave puedeaproximarse por un polinomio
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 11 / 67
Clase 2
-
8/19/2019 Error en cálculo numerico
12/68
Clase 2
Clase 2
Repaso
Proposition
f (x i +1) = f (x i ) + hf (x i ) +
h2
2!f (x i ) + f
(x i )h3
3! + ... +
hn
n!f n (x i ) + R n
En donde h = x i +1− x i , R n = f (n+1)(ξ)(n+1)! hn+1 y ξ es un valor entre x i y x (i +1)
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 12 / 67
Clase 2
-
8/19/2019 Error en cálculo numerico
13/68
Clase 2
Repaso
Proposition
f (x i +1) = f (x i ) + hf (x i ) +
h2
2!f (x i ) + f
(x i )h3
3! + ... +
hn
n!f n (x i ) + R n
En donde h = x i +1− x i , R n = f (n+1)(ξ)(n+1)! hn+1 y ξ es un valor entre x i y x (i +1)
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 13 / 67
Clase 2
-
8/19/2019 Error en cálculo numerico
14/68
Clase 2
Ejercicio
A partir de la función:
f (x ) = −0.1x 4 − 0.14x 3 − 0.5x 2 − 0.25x + 1.2y asumiendo que x i = 0 y h = 1, estime el valor de T n[(f (x ), 1]:
1. Para n de orden 0,1,2,3 y 4
2. grafique cada una de la soluciones en el rango de h, inclusive f (x )
3. Estime el error para cada uno de los casos
4. Anlice y discuta sus resultados
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 14 / 67
Clase 2
-
8/19/2019 Error en cálculo numerico
15/68
Hay que tener presente que cada uno de los términos adicionalescontribuye, aunque sea con poco, al mejoramiento de la aproximación.
Sin embargo, muchas veces con unos pocos términos obtentendremos
una solución suficientemente buena para términos prácticos. El valor de ξ es que nos debe orientar, sim embargo no se conoce con
exactitud, pero savemos que esta entre el rango de x i y x i + 1
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 15 / 67
Clase 2
-
8/19/2019 Error en cálculo numerico
16/68
Figure: Ejemplo gráfico de la aproximación f(x) y sus aproximaciones por elterorema de Taylor
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 16 / 67
Clase 2
-
8/19/2019 Error en cálculo numerico
17/68
Clase 2
Error o residuo
Esta ecuación nos es útil para poder evaluar el error provocado por eltruncamentiento, ya que controla el término h de la ecuación
R n = f (n+1)(ξ )
(n + 1)! hn+1 (3)
De aqui se deduce que el error de truccamiento de orden h(n+1) esproporcional al incremento de h elevado a la n + 1 Por lo que estaecuación puede expresarse como
R n = O (hn+1) (4)
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 17 / 67
Clase 2
-
8/19/2019 Error en cálculo numerico
18/68
Clase 2
Error o residuo
R n = O (hn+1
) (5)
Lo que quiere decir que si el error es O (h) y el incremento h se reducela la mitad el error tambien se reduce a la mitad
En cambio si el error es O (h2) y el incremento se reduce a la mitad,entonces el error se reduira a la cuarta parte.
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 18 / 67
Clase 2
-
8/19/2019 Error en cálculo numerico
19/68
Clase 2
Error o residuo
Proposition
En general, pero no siempre, el error de truncamiento diminuye agregando
términos a serie de Taylor.
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 19 / 67
Clase 2
-
8/19/2019 Error en cálculo numerico
20/68
Clase 2
Uso de Taylor en cálculo de error en truncamiento
Por ejemplo tenemos la función que explica el movimiento de un cuerpocomo :
v (t i +1) = v (t ) + v (t i )(t i +1 − t i ) + v
(t i )
2! (t i +1 − t ) + ... + R n (6)
y queremos estimar la aceleración que es v’(t), por lo que truncaremos el
término en la primera derivada:
v (t i +1) = v (t ) + v (t i )(t i +1 − t i ) + R n (7)
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 20 / 67
Clase 2
-
8/19/2019 Error en cálculo numerico
21/68
Clase 2
Uso de Taylor en cálculo de error en truncamiento
Por lo que nos queda que :
v (t i ) = v (t i +1) − v (t i )
(t i +1 − t i ) − R n
(t i +1 − t i ) (8)
en donde el primer término lo podemos asociar a la aproximación de
primer orden y el segundo al error
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 21 / 67
clase 3 Error de redondeo
-
8/19/2019 Error en cálculo numerico
22/68
clase 3 Error de redondeo
Definición del Error de redondeo
Los errores de redondeo se deben a la capacidad finita de nuestratecnología de representar números
en cambio el error de truncamiento representa la diferencia entre laformula exacta y la aproximación obtenida por el método numérico
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 22 / 67
clase 3 Error de redondeo
-
8/19/2019 Error en cálculo numerico
23/68
clase 3 Error de redondeo
Cifras signicativas
Esta dada por los límite mínimo de medición del instrumento, entregandoun grado de certeza y replicabilidad de la medición o evaluación.
Figure: Ejemplo de cifras significativas en un voltímetro
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 23 / 67
clase 3 Error de redondeo
-
8/19/2019 Error en cálculo numerico
24/68
clase 3 Error de redondeo
Implicancias de la Cifras signicativas
Las cifras signicativas nos permiten:
dar confianza a nuestros resultados
estimar el error de redondeo
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 24 / 67
clase 3 Error de redondeo
-
8/19/2019 Error en cálculo numerico
25/68
clase 3 Error de redondeo
Ejercicio:
Evaluef (x ) = x 3 − 6.1x 2 + 3.2x + 1.5 (9)
1. en x = 4.71 con una aritmética de 3 cifras significativas, exactas, contruncamiento y con redondeo
2. estime el error porcentual
3. evalúe el error aplicando el método de la anidada
f (x ) = ((x − 6.1)x + 3.2)x + 1.5 (10)
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 25 / 67
clase 3 Error de redondeo
-
8/19/2019 Error en cálculo numerico
26/68
clase 3 Error de redondeo
NUMEROS EN LAS COMPUTADORAS
El número limitado de dígitos de la calculadora o computador puedeprovocar errores de redondeo
los problemas de error por redondeo se pueden minimizar por mediode prácticas de programación adecuadas.
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 26 / 67
clase 3 Error de redondeo
-
8/19/2019 Error en cálculo numerico
27/68
clase 3 Error de redondeo
Base de los números
La base del sistema numérico decimal es 10. Sin embargo, las
computadoras no usan el sistema decimal en los cálculos ni en lamemoria, sino que usan el binario.
En lenguaje de máquina se usan en particular el octal y elhexadecimal. Estos sistemas son parientes cercanos del binario ypueden traducirse con facilidad al o del binario.
El hexadecimal también proporciona un uso más eficiente del espaciode la memoria para los números reales
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 27 / 67
clase 3 Error de redondeo
-
8/19/2019 Error en cálculo numerico
28/68
clase 3 Error de redondeo
Base de los números
La base de un sistema numérico también recibe el nombre de raíz.
Para, el sistema decimal ésta es 10; para el sistema octal es 8 y 2para el binario. La raíz del sistema hexadecimal es 16.
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 28 / 67
-
8/19/2019 Error en cálculo numerico
29/68
clase 3 Error de redondeo
-
8/19/2019 Error en cálculo numerico
30/68
clase 3 Error de redondeo
Rango de constantes numéricas
Las constantes numéricas que generalmente se usan en un programa seclasifican en tres categorías:
1. enteros
2. números reales y
3. números complejos.
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 30 / 67
clase 3 Error de redondeo
-
8/19/2019 Error en cálculo numerico
31/68
clase 3 Error de redondeo
Representación entera
El método más sencillo para representar los enteros en la computadora sedenomina método de magnitud con signo y emplea el primer bit de unapalabra para indicar el signo: con un 0 para positivo y un 1 para elnegativo.
Los bits sobrantes se usan para guardar el número.Por ejemplo:-10101101 (-173 en decimal)
Figure: Ejemplo de cifras significativas en un voltímetro
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 31 / 67
clase 3 Error de redondeo
-
8/19/2019 Error en cálculo numerico
32/68
clase 3 Error de redondeo
Ejercicio
Si posee una computadora de 16 bits.
1. determine el rango de enteros de base 10 que se pueden representar.
2. calcula la diferencia con uno de 32 bits
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 32 / 67
clase 4
-
8/19/2019 Error en cálculo numerico
33/68
clase 4
Representación del punto-flotante
Las cantidades fraccionarias generalmente se representan en lacomputadora usando la forma de punto flotante. Con este método, elnúmero se expresa como una parte fraccionaria, llamada mantisa (m) o
significando, y una parte entera, denominada exponente o característica(e), esto es,
m· b e (13)donde:
m: es la mantisa,
b : es la base del sistema numérico que se va a utilizar
e : es el exponente.
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 33 / 67
clase 4
-
8/19/2019 Error en cálculo numerico
34/68
Figure: Ejemplo de como se guarda un numero punto flotante en una palabra
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 34 / 67
clase 4
-
8/19/2019 Error en cálculo numerico
35/68
clase 4
Ejercicio
a) ¿Como representaría el numero 1458.63 en un sistema de base 10 conpunto flotante y cinco numero de decimales?
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 35 / 67
clase 4
-
8/19/2019 Error en cálculo numerico
36/68
clase 4
Ejercicio
1. ¿Como representaría el numero 1458.63 en un sistema de base 10 conpunto flotante y cinco numero de decimales?
2. ¿ como se guardaría el número 0,0245888?
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 36 / 67
clase 4
-
8/19/2019 Error en cálculo numerico
37/68
clase 4
normalización
Para evitar ceros a la derecha del número punto flotante se ocupa unprocedimiento denominado normalización el que consiste en elevar elexponente negativo cuantos ceros existan a la derecha del numero antesdel punto. por ejemplo: 0, 0245888· 100 normalizado queda: 0.24588· 10−1
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 37 / 67
clase 4
-
8/19/2019 Error en cálculo numerico
38/68
clase 4
normalización
Sin embargo la consecuencia de la normalización es que el valor absoluto
de m queda limitado a:1
b ≤ m
-
8/19/2019 Error en cálculo numerico
39/68
clase 4
representación de punto flotante
La representación de punto flotante permite que tantofracciones como números muy grandes se expresen en lacomputadora
Sin embargo dentro de las desventajas esta que los puntoflotante requieren más espacio y más tiempo de procesadoque los números enteros
representa un número finito introduciendo una error deredondeo
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 39 / 67
clase 5
-
8/19/2019 Error en cálculo numerico
40/68
clase 5
Ejercicio
Determine un conjunto hipotético de números con punto flotante parauna máquina que guarda información usando palabras de 7 bits enbinario. Emplee el primer bit para el signo del número, los siguientestres para el signo y la magnitud del exponente, y los últimos tres parala magnitud de la mantisa
calcule el valor mínimo a representar, en decimal, a través del límite
de la mantisa estime el rango que es posible escribir en base 10
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 40 / 67
clase 5
Determine un conjunto hipotético de números con punto flotante para
-
8/19/2019 Error en cálculo numerico
41/68
una máquina que guarda información usando palabras de 7 bits enbinario. Emplee el primer bit para el signo del número, los siguientestres para el signo y la magnitud del exponente, y los últimos tres para
la magnitud de la mantisa
calcule el valor mínimo a representar, en decimal, a través del límitede la mantisa
estime el rango que es posible escribir en base 10Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 41 / 67
clase 5
l 5
-
8/19/2019 Error en cálculo numerico
42/68
clase 5
Características
como en el caso de los enteros, hay números grandes positivos y
negativos que no pueden representar emplear números fuera del rango aceptable dará como resultado el
llamado error de desbordamiento (overflow)
el “agujero” underflow entre el cero y el primer número positivo en la
figura. Se debe a la normalización de la ecuación
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 41 / 67
clase 5
l 5
-
8/19/2019 Error en cálculo numerico
43/68
clase 5
Aproximaciones y errores de redondeo
Figure: Ejemplo de aproximaciones y errores de redondeo de números sólopositivos
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 42 / 67
clase 5
l 5
-
8/19/2019 Error en cálculo numerico
44/68
clase 5
número finito de cantidades
Existe sólo un número finito de cantidades que puede representarse
dentro de un rango los números racionales que no concuerdan exactamente con uno de
los valores en el conjunto tampoco pueden ser representados en formaprecisa (ejemplo: el número π)
los errores ocasionados por la aproximación se les conoce comoerrores de cuantificación
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 43 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
45/68
clase 5
Aproximación Real
La aproximación real se realiza mediante dos formas:
cortando
redondeando
por ejemplo:π = 3.14159265358... (15)
Guardado en un sistema de base 10 con 7 cifras significativas
¿explique como se guardaria en la maquina?
estime la magnitud del error de redondeo y corte
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 44 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
46/68
clase 5
redondeando
consecuencia, el redondeo produce un error absoluto menor que el decorte
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 45 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
47/68
clase 5
Ejercicio
Calcule el error de redondeo y el de corte con el número π(π=3.14159265358) con una precisión de 4 cifras significativas
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 46 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
48/68
clase 5
épsilon de la maquina ε
El épsilon ε de la máquina es el intervalo entre 1 y el siguiente númeromayor que 1 distinguible. Representa la exactitud relativa de la aritméticadel computador.
1 + ε > 1 (16)
numéricamente se puede calcular como
ε = b 1−t (17)
donde b es la base y t es el número de dígitos significativos en la mantisa.La existencia del épsilon de la máquina es una consecuencia de la precisiónfinita de la aritmética en coma flotante.
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 47 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
49/68
clase 5
∆x
Debido a que el punto flotante conserva el número de dígitos significativo,∆x aumenta conforme x crecen en magnitud para el caso de corte
|∆x ||x | ≤ (18)
para el caso de redondeo|∆x |
|x | ≤
2 (19)
Estos valores corresponden a los límite de los errores, es decir los casosextremos. También nos entregan las diferencias mínimas en las quepodemos evaluar nuestros cálculos.
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 48 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
50/68
clase 5
Ejercicio
Para una palabra de 7 bits en donde se emplea el primer bit para el signodel número, los siguientes tres para el signo y exponente y los últimos para
para la magnitud de la mantisa. calcule el épsilon de la máquina
grafique el crecimiento de ∆x con x, en el caso de la aproximaciónpor corte y redondeo
explique que significan esas curvas y como afectan a sus cálculos dederivada.
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 49 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
51/68
clase 5
Ejercicio
Desarrolle un código que le permita estimar el épsilon de la máquina con laque usted está trabajando
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 50 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
52/68
clase 5
Precisión extendida
Los errores de redondeo, llegan a ser importantes en contextos tales comopruebas de convergencia. El número de dígitos significativos que tiene la
mayoría de las computadoras permite que muchos cálculos de ingeniería serealicen con una precisión más que aceptable
Por ejemplo, las computadoras que usan el formato IEEE permiten 24bits para ser usados por la mantisa
lo cual se traduce en cerca de siete cifras significativas de precisión 1en dígitos de base 10 con un rango aproximado de 10˘38 a 1039
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 51 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
53/68
Precisión extendida
Se debe reconocer que aún hay casos donde el error de redondeo resultacrítico:
La más común de estas especificaciones es la doble precisión, en la
cual se duplica el número de palabras utilizado para guardar númerosde punto flotante. Esto proporciona de 15 a 16 dígitos decimales deprecisión y un rango aproximado de 10˘308a 10308.
Esto reduce el error de redondeo.
Sin embargo, el precio que se paga por tales medidas consiste enmayores requerimientos de memoria y de tiempo de ejecución.
por lo tanto la precisión extendida no debe utilizarse en formageneralizada
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 52 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
54/68
Software
Excel: Utiliza doble precisiónMATLAB o Octave: precisión extendida a decisión
C++, : real simple 32 bits (double ), real doble 64 bits (15 digitosdecimales ) (long double )
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 53 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
55/68
Operaciones aritméticas comunes
Las manipulaciones aritméticas que se usan, pueden dar como resultadoerrores de redondeo. por ejemplo el número con punto flotante
suma: cuando sumamos dos números con puntos flotantes, elnúmero de mantisa y el exponente se modifican de talmanera que los exponentes sean los mismos
resta: se realiza de igual forma, solamente que el exponente es
negativo, sin embargo los resultados deben normalizarse
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 54 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
56/68
Ejemplo de suma
si tenemos una maquina con cuatro dígitos de mantisa y un exponente deun dígito. y aplicaremos corte sumar 0.1557 · 101 + 0.4381 · 10−1
1. igualamos el exponente menor al mayor
0.4381 · 10−1 −→ 0.004381 · 101
2. sumamos los dos números
0.1557 ·1010.004381
·101
0.160081 ·1013. se eliminan los datos que están por sobre el tamaño de la mantisa
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 55 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
57/68
Ejemplo de resta
La resta se realiza en forma idéntica a la suma
1. Resta 36.41 menos 26.86 Esto es:
0.3641 ·102−0.2686 ·1020.0955 ·102
2. y luego se normaliza
0.0955 · 102 = 0.9550 · 101 = 9.550notar que el cero a la derecha ya no es relevante, es decir hemos perdidoprecisión
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 56 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
58/68
Ejercicio
Estimar la precisión perdida con punto flotante en la resta entre 764.2 y764.1
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 57 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
59/68
Multiplicación
En el caso de la multiplicación los exponentes se suman y la mantisa semultiplica. Por ejemplo la multiplicación entre 1366.3 × 0.06423
1. Se normalizan los valores y se multiplica
0.1363 · 103 × 0.6423 · 10−1 = 0.08754549 · 1022. luego el resultado es normalizado
0.08754549 · 102 −→ 0.8754549 · 101
3. por ultimo se corta el resultado al número de cifras significativasiniciales 0.8754 · 101
Para la división se realiza algo similar pero las mantisas se dividen y losexponentes se restan
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 58 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
60/68
Ejercicio
Calcular mediante el método de punto flotante la división entre 5754.3 y0.568891 y estimar el error porcentual
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 59 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
61/68
Número grande de cálculos interdependientes
Mediante un algoritmo investigue el error cometido al sumar 100 000 veces0.00001 con precisión simple y doble. Si puede calcule los tiempos deejecución
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 60 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
62/68
Suma de un número grande y uno pequeño
que sucede si quiere sumar un número pequeño como 0.0010 con un
numero grande 4000 notar que pareciera que la suma nunca ocurrió.
Esto normalmente ocurre con grandes series en donde el término inicial escomparativamente mayor a los siguientes. Después de sumar los primeros
términos los restantes ya no se reflejan en el resultado.
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 61 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
63/68
Cancelación por resta
Se refiere al redondeo inducido cuando se restan dos números de puntoflotante casi iguales Un caso común es en la determinación de raíces deuna ecuación cuadrática o parábola utilizando la fórmula cuadrática
−b ±√ b 2
− 4ac 2a
En el caso de b 2 4ac la diferencia en el numerador puede ser muypequeña, en tales casos es mejor ocupar precisión doble o la fórmula
alternativa que se describe a continuación:−2c
b ±√ b 2 − 4ac Lo que minimiza la cancelación por resta
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 62 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
64/68
Ejercicio
Calcule el valor de las raíces de una ecuación cuadrática con a = 1 b=3000.001 y c =3. Compare el valor calculado con las raíces verdaderasx 1 = −0.001yx 2 = −3000
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 63 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
65/68
Dispersión
Observamos dispersión cuando los términos individuales en una sumatoriason mas grandes que la sumatoria misma, un ejemplo de eso son las series
con signos alternados. Por ejemplo
y = 1 + x + x 2
2! +
x 3
3! + ... (20)
evaluada en un número negativo, por ejemplo -10
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 64 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
66/68
Productos Internos
Una opción muy común en cálculo numérico es la de sumatoria deproductos internos, las que son propensas a errores por redondeo
n
i =1
x i y i = x 1y 1 + x 2y 2 + . . . + x ny n (21)
una opción para evitar dichos errores es el uso de la precisión extendida
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 65 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
67/68
Bonus: Cálculo de decimal a binario
calculo de 100 decimal a binario
valor resultado residuo
100 50 0
50 25 025 12 112 6 06 3 03 1 1
1 1 1
resultado:(100)10 = (1100100)2 (22)
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 66 / 67
clase 5
clase 5
-
8/19/2019 Error en cálculo numerico
68/68
Bonus: Cálculo de decimal a binario
calculo de 0.3125 decimal a binario
0.3125 ·
2 = 0.625 −→
00.625 · 2 = 1.25 −→ 10.25 · 2 = 0.5 −→ 00.5 · 2 = 1 −→ 1
resultado:
(0.3125)10 = (0.0101)2 (23)
Luis Gomez [email protected] ( Universidad Austral, Campus Patagonia) Campus Patagonia 2015 67 / 67