Error en cálculo numerico

download Error en cálculo numerico

of 26

Transcript of Error en cálculo numerico

  • 8/19/2019 Error en cálculo numerico

    1/68

    Luis Gomez

    [email protected]

    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)

    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