Computacin y Clculo Numrico Turner P A Unidad

  • Slides: 29
Download presentation
Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES UNIDAD III: ERRORES

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES UNIDAD III: ERRORES Hemos desarrollado: • Sistemas numéricos: decimal, binario y hexadecimal. • Representación interna de datos: números y caracteres. Presentaremos hoy: • Nociones básicas de errores. Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. En esta UNIDAD comenzamos a introducirnos en

Computación y Cálculo Numérico Turner, P. A. En esta UNIDAD comenzamos a introducirnos en los: Unidad III – ERRORES MÉTODOS NUMÉRICOS Situación REAL NO SIEMPRE se requiere una RESPUESTA EXACTA MODELO MATEMÁTICO para describir y analizar APROXIMACIÓN SOLUCIÓN ANALÍTICA: Puede NO tener Puede ser DIFÍCIL o COSTOSA (objetivos) MÉTODOS NUMÉRICOS Una SOLUCIÓN APROXIMADA al PROBLEMA ORIGINAL Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. OBJETIVO MÉTODO NUMÉRICO Unidad III – ERRORES

Computación y Cálculo Numérico Turner, P. A. OBJETIVO MÉTODO NUMÉRICO Unidad III – ERRORES Resolver problemas numéricos COMPLEJOS utilizando operaciones aritméticas SIMPLES. RECORDEMOS ALGORITMO Conjunto FINITO de reglas o instrucciones bien definidas, tal que, siguiéndolas paso a paso se obtiene la solución a un dado problema. DIREMOS MÉTODO NUMÉRICO Es un ALGORITMO diseñado para dar respuesta NUMÉRICA problema con una PRECISIÓN prescripta. CÁLCULO NUMÉRICO EVALÚA los MÉTODOS NUMÉRICOS OBJETIVO diseñados. Licenciatura en Física – Departamento de Física - ECEN a un

Computación y Cálculo Numérico Turner, P. A. DIREMOS Unidad III – ERRORES El CÁLCULO

Computación y Cálculo Numérico Turner, P. A. DIREMOS Unidad III – ERRORES El CÁLCULO de un dado MÉTODO NUMÉRICO dará NÚMEROS que se APROXIMAN a los que se obtendrían aplicando la SOLUCIÓN ANALÍTICA de un problema, en el caso que existiera. Si el cálculo aproxima a la solución “exacta”: NOS PREGUNTAMOS ¿Qué tan PRECISOS (próximos a la solución “exacta”) son los resultados? O ¿Qué tanto ERROR se ha introducido? Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. NOCIONES BÁSICAS DE ERRORES Unidad III –

Computación y Cálculo Numérico Turner, P. A. NOCIONES BÁSICAS DE ERRORES Unidad III – ERRORES TRATAMIENTO INFORMACIÓN ENTRADA INFORMACIÓN DATOS ERROR RESUMIMOS PROCESO INFORMACIÓN SALIDA INFORMACIÓN MÉTODO NUMÉRICO ERROR RESULTADOS FUENTES DE ERROR • Distintos ERRORES en cada ETAPA. • Los ERRORES se PROPAGAN dando el ERROR TOTAL. ¿Cómo MEDIMOS el ERROR? Licenciatura en Física – Departamento de Física - ECEN ERROR

Computación y Cálculo Numérico Turner, P. A. MAGNITUD DEL ERROR CUANTIFICAMOS el ERROR: Unidad

Computación y Cálculo Numérico Turner, P. A. MAGNITUD DEL ERROR CUANTIFICAMOS el ERROR: Unidad III – ERRORES Siendo VA una aproximación de VV, y VV el valor real, entonces: ERROR ABSOLUTO e = | VA – VV | ERROR RELATIVO ABSOLUTO e. R = | ( VA – VV ) / VV | con la condición VV ≠ 0 ERROR PORCENTUAL ABSOLUTO e. P = 100. | ( VA – VV ) / VV |(%) con la condición VV ≠ 0 Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. CIFRAS SIGNIFICATIVAS MEDIR la CONFIABILIDAD de un

Computación y Cálculo Numérico Turner, P. A. CIFRAS SIGNIFICATIVAS MEDIR la CONFIABILIDAD de un VALOR NUMÉRICO Unidad III – ERRORES Siendo VA una aproximación de VV (de la definición de ERROR RELATIVO) Si d es el mayor número natural tal que | ( VA – VV ) / VV | < 10 -d/2 VA es una aproximación a VV con d CIFRAS SIGNIFICATIVAS EJEMPLOS • VA = 3. 14 y VV = 3. 141592 |(VA – VV)/VV| = 0. 000507 < 10 -2/2 VA es una aproximación a VV con 2 cifras significativas. • VA = 999 996 y VV = 1 000 |(VA – VV)/VV| = 0. 000004 < 10 -5/2 VA es una aproximación a VV con 5 cifras significativas. • VA = 0. 000012 y VV = 0. 000009 |(VA – VV)/VV| = 0. 25 < 10 -0/2 VA es una aproximación a VV con 0 cifras significativas. Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES FUENTES DE ERRORES

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES FUENTES DE ERRORES en el CÁLCULO al implementar en MÁQUINA el MÉTODO. Es decir: Tiempo ALGORITMO MÉTODO PROCESO COMPUTACIONAL NUMÉRICO Espacio INTENCIONALMENTE al usar un ALGORITMO COMPUTACIONAL Introducimos restricciones: TIEMPO FINITO (ALGORITMO) ESPACIO FINITO (COMPUTADORA) RIGUROSAMENTE: FINITO no alcanza. FINITO debe entenderse como RAZONABLE. ERRORES • ERROR DE TRUNCAMIENTO (tiempo). • ERROR DE REDONDEO (espacio). Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. FUENTES DE ERROR EN EL ALGORITMO COMPUTACIONAL

Computación y Cálculo Numérico Turner, P. A. FUENTES DE ERROR EN EL ALGORITMO COMPUTACIONAL Unidad III – ERRORES ERROR DE TRUNCAMIENTO SURGEN debido a la limitación en TIEMPO. Debemos realizar un número finito de acciones. EJEMPLOS: • Evaluar funciones con la Serie de Taylor. • Proceso iterativo convergente. • Evaluar por intervalos. TRUNCAR Faltará evaluar (ERROR) términos, iteraciones o intervalos TRUNCADOS. NO PODEMOS IMPLEMENTAR EL LÍMITE ANALÍTICO Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. FUENTES DE ERROR EN EL ALGORITMO COMPUTACIONAL

Computación y Cálculo Numérico Turner, P. A. FUENTES DE ERROR EN EL ALGORITMO COMPUTACIONAL Unidad III – ERRORES ERROR DE REDONDEO SURGEN debido a la limitación en ESPACIO (la memoria ocupa espacio). Los números reales se representan por una INFINIDAD de dígitos. En MÁQUINA sólo podemos tener un representación FINITA. X = ± 0, d 1 d 2 d 3 …. dm x 10 n , 1≤d 1≤ 9 y 0≤di≤ 9 d 1 d 2 d 3 …. dm: mantisa n: exponente Trabajamos con: fl(x) = ± 0, d 1 d 2 d 3 …. dk x 10 n Tenemos almacenado un REDONDEO del número real que difiere (ERROR) del número real. Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. REDONDEO TRUNCADO Unidad III – ERRORES El

Computación y Cálculo Numérico Turner, P. A. REDONDEO TRUNCADO Unidad III – ERRORES El redondeo truncado consiste en truncar el resultado de una operación al número de cifras significativas que se estén utilizando. Por ejemplo sí redondeamos 7/9 a 4 cifras significativas tenemos 0. 7777 REDONDEO SIMÉTRICO El redondeo simétrico consiste en aumentar en uno la última cifra retenida si la primera cifra descartada está entre 5 y 9, o dejarla igual si la primera cifra descartada está entre 0 y 4. Ejemplo: 1/3 + 2/3 = 1, su resolución mediante la calculadora puede llevarnos a un resultado diferente. Si realizamos la suma empleando únicamente 4 cifras significativas se obtiene 0. 3333 + 0. 6666 = 0. 9999 (redondeo truncado) 0. 3333 + 0. 6667 = 1. 000 (redondeo simétrico) Licenciatura en Física – Departamento de Física - ECEN Errores

Computación y Cálculo Numérico Turner, P. A. ERROR NUMÉRICO TOTAL Unidad III – ERRORES

Computación y Cálculo Numérico Turner, P. A. ERROR NUMÉRICO TOTAL Unidad III – ERRORES ERROR NUMÉRICO TOTAL ERROR DE TRUNCAMIENTO ERROR DE REDONDEO Error de truncamiento Agregando términos, iteraciones o disminuyendo el intervalo. Significa número de operaciones Error de redondeo DISMINUIR UNA COMPONENTE DE ERROR CONDUCE A UN INCREMENTO EN LA OTRA Licenciatura en Física – Departamento de Física - ECEN

Unidad III – ERRORES Computación y Cálculo Numérico Turner, P. A. There are 10

Unidad III – ERRORES Computación y Cálculo Numérico Turner, P. A. There are 10 2 types of people in the world: those who understand binary and those who don't. Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. Conjunto de todos los números reales positivos

Computación y Cálculo Numérico Turner, P. A. Conjunto de todos los números reales positivos de la forma Unidad III – ERRORES n pertenece al conjunto {-3, -2, -1, 0, 1, 2, 3, 4}. {0. 10002 x 2 -3, 0. 10012 x 2 -3, … , 0. 11102 x 24, 0. 11112 x 24} Mantisa Exponente n=-3 n=-2 n=-1 n=0 n=1 n=2 n=3 n=4 0. 1000(2) 0. 0625 0. 125 0. 5 1 2 4 8 0. 1001(2) 0. 0703125 0. 140625 0. 28125 0. 5625 1. 125 2. 25 4. 5 9 0. 1010(2) 0. 078125 0. 15625 0. 3125 0. 625 1. 25 2. 5 5 10 0. 1011(2) 0. 0859375 0. 171875 0. 34375 0. 6875 1. 375 2. 75 5. 5 11 0. 1100(2) 0. 09375 0. 1875 0. 375 0. 75 1. 5 3 6 12 0. 1101(2) 0. 1015625 0. 203125 0. 40625 0. 8125 1. 625 3. 25 6. 5 13 0. 1110(2) 0. 109375 0. 21875 0. 4375 0. 875 1. 75 3. 5 7 14 0. 1111(2) 0. 1171875 0. 234375 0. 46875 0. 9375 1. 875 3. 75 7. 5 15 Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES Por ejemplo que

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES Por ejemplo que pasaría si en nuestra computadora de 4 cifras como describimos en los párrafos anteriores se realiza la operación (1/10 + 1/5) + 1/6? . Supongamos además que nuestra computadora redondea todos los números reales al número binario más próximo de los que dispone. La computadora debe decidir ahora cómo almacenar el número 1. 00111(2) x 2 -2. Supongamos que se redondea como 0. 1010(2) x 2 -1. El paso siguiente es Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES Ahora la computadora

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES Ahora la computadora decide como almacenar el número 0. 11111 (2) x 2 -1. Puesto que suponemos que redondea, almacena 0. 1000(2) x 20. Por lo tanto, la solución a nuestro problema original es El error en el cálculo efectuado por la computadora es Equivalente a un error del 7% aproximadamente !!. . . (1/10 + 1/5) + 1/6 =? 1/10 + (1/5 + 1/6) …. Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES Utilizando polinomios de

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES Utilizando polinomios de Taylor analice el valor de exp(x) en funcion del numero de términos retenidos en la serie exp(1) (6 cifras significativas): Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Ejemplo ERROR DE REDONDEO Unidad III – ERRORES x 2

Computación y Cálculo Numérico Ejemplo ERROR DE REDONDEO Unidad III – ERRORES x 2 + 62. 10 x + 1 = 0 Raíces aproximadas (7 cifras significativas): x 1 = -0. 01610723 , x 2 = -62. 08390 Soluciones: Usando aritmética de 4 cifras (para forzar el error): Calculamos x 1 y x 2 Licenciatura en Física – Departamento de Física - ECEN Turner, P. A.

Computación y Cálculo Numérico Turner, P. A. Ejemplo ERROR DE TRUNCAMIENTO Unidad III –

Computación y Cálculo Numérico Turner, P. A. Ejemplo ERROR DE TRUNCAMIENTO Unidad III – ERRORES Considere la serie de Taylor para el seno(x) Para pequeños valores de x, solo un reducido numero de términos es necesario para obtener un “buena solución”. Valor verdadero = Valor suma + Error de truncamiento El valor del Error de truncamiento depende de x y del número de términos incluidos en Valor suma Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES En el caso

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES En el caso de utilizar 5 términos siempre Se puede demostrar que para cualquier serie alternante convergente el error de truncamiento es menor que el primer término despreciado Nótese que valores de x mayores a 0. 5 aprox. el error aumenta rápidamente cuando x tiende a 1. El error máximo es de 3. 54 e-06, lo cual esta en acuerdo con el error de truncamiento expresado anteriormente. Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES Si usamos 15

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES Si usamos 15 términos … El error por redondeo está controlando el comportamiento. Nótese de todas formas se logra todavía un resultado aceptable en el valor de la serie Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Error de truncamiento Turner, P. A. Potencia. vs. factorial Unidad

Computación y Cálculo Numérico Error de truncamiento Turner, P. A. Potencia. vs. factorial Unidad III – ERRORES sin(pi/6) potencia (x=13 pi/6) sin(13 pi/6) potencia (x=pi/6) Licenciatura en Física – Departamento de Física - ECEN

Unidad III – ERRORES Computación y Cálculo Numérico Licenciatura en Física – Departamento de

Unidad III – ERRORES Computación y Cálculo Numérico Licenciatura en Física – Departamento de Física - ECEN Turner, P. A.

Computación y Cálculo Numérico Turner, P. A. TRES IMPORTANTES CONSTANTES EN LA COMPUTADORA Unidad

Computación y Cálculo Numérico Turner, P. A. TRES IMPORTANTES CONSTANTES EN LA COMPUTADORA Unidad III – ERRORES Estos tres valores definen el rango de números disponibles y la precisión de nuestra computadora realmax : = máximo número (normalizado) 21024 1. 8 E+308 realmin : = minimo número (normalizado) 2 -1022 2. 2 E-308 valor positivo mas pequeño de forma tal que sumado a 1 se obtenga como resultado un valor mayor que 1 eps = = 0. 00…. . 12 x 20 = 2 -52 2. 2 E-16 # número de dígitos binarios = - log 2(eps) = 52 # número de dígitos decimales = - log 10(eps) 15. 6 Licenciatura en Física – Departamento de Física - ECEN

Unidad III – ERRORES Computación y Cálculo Numérico Turner, P. A. PROGRAM MACHINE_EPSILON IMPLICIT

Unidad III – ERRORES Computación y Cálculo Numérico Turner, P. A. PROGRAM MACHINE_EPSILON IMPLICIT NONE REAL * 8 : : mach. Eps = 1, tmp =1 PRINT *, "curr. Ep, 1 + curr. Ep" DO PRINT *, mach. Eps, tmp + mach. Eps IF (tmp + mach. Eps == 1. 0) EXIT mach. Eps = mach. Eps/2. 0 END DO mach. Eps = mach. Eps*2 PRINT *, "Calculated Machine epsilon: ", mach. Eps ! Verify our calculation via the intrinsic F 95 function EPSILON() PRINT *, "EPSILON(x) = ", EPSILON(mach. Eps) END PROGRAM MACHINE_EPSILON Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES TRES ERRORES DE

Computación y Cálculo Numérico Turner, P. A. Unidad III – ERRORES TRES ERRORES DE REDONDEO CRÍTICOS Cancelación sustracción de dos números casi iguales Underflow resultado más pequeño que realmin Overflow resultado más grande que realmax Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico constantes de la computadora errores de redondeo críticos Turner, P.

Computación y Cálculo Numérico constantes de la computadora errores de redondeo críticos Turner, P. A. Unidad III – ERRORES Algunos datos … • 25 de Febrero 1991. Falla en el sistema de defensa Patriot (Irak) Reporte GAO/IMTEC-92 -26. Problema de software razón acumulación de errores de redondeo. (www. math. psu. edu/dna/455. f 97/notes. html) • 4 de Junio 1996. El cohete Ariane se auto destruye la corto tiempo del despegue. Causa del desastre un error de overflow. (www. rpi. edu/~holmes/Num. Comp/Misc/siam. ariane. html) • 1997 un error de redondeo es descubierto en los procesadores Pentium-II. Problema no solo de imagen de la empresa (INTEL) sino el costo del reemplazo de un gran numero de procesadores defectuosos. (x 86. ddj. com/secrets/dan 0441. htm) Licenciatura en Física – Departamento de Física - ECEN Errores

Computación y Cálculo Numérico Turner, P. A. Ejemplo ERROR DE TRUNCAMIENTO Unidad III –

Computación y Cálculo Numérico Turner, P. A. Ejemplo ERROR DE TRUNCAMIENTO Unidad III – ERRORES Compare el resultado “exacto” (provisto por la función de librería) de: = 0. 544987104184 con el que se obtiene al integrar los primeros términos de la serie asociada al integrando. Problema para el laboratorio Escriba un programa que le permita calcular el valor del coseno aproximándolo por su desarrollo en polinomios de Taylor alrededor de cero en orden creciente desde 1 hasta 4. Realice los cálculos para valores cercanos a 0, /2 y /4. Licenciatura en Física – Departamento de Física - ECEN

Computación y Cálculo Numérico Turner, P. A. Ejemplo ERROR DE REDONDEO Unidad III –

Computación y Cálculo Numérico Turner, P. A. Ejemplo ERROR DE REDONDEO Unidad III – ERRORES Resolver la ecuación cuadrática x 2 + 62. 10 x + 1 = 0 Raíces aproximadas (7 cifras significativas): x 1 = -0. 01610723 , x 2 = -62. 08390 Problema para el laboratorio Escriba un programa para sumar 0. 00001 diez mil veces a la unidad usando simple precisión. Compare el resultado con el que se obtiene si implementa una estrategia de agrupamiento o si lo resuelve utilizando doble precisión. Licenciatura en Física – Departamento de Física - ECEN