View
16
Download
5
Category
Preview:
DESCRIPTION
Errores metodos numéricos
Citation preview
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
Métodos Computacionales (ING. INDUSTRIAL)
Informática Aplicada (ING. MECANICA)
Última revisión: Agosto 2006
NOTAS DE CLASE DE LABORATORIO
Tema: Errores en los Métodos Numéricos
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
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 tenerPuede ser DIFÍCIL o COSTOSA (objetivos)
MÉTODOS NUMÉRICOS
Una SOLUCIÓN APROXIMADA al PROBLEMA ORIGINAL
importanciamétodos numéricoserrores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
MÉTODO NUMÉRICOResolver problemas numéricos COMPLEJOS utilizando operaciones aritméticas SIMPLES.
OBJETIVO
Conjunto FINITO de reglas o instrucciones bien definidas, tal que, siguiéndolas paso a paso se obtiene la solución a un dado problema.
ALGORITMO
RECORDEMOS:
MÉTODO NUMÉRICOEs un ALGORITM
Odiseñado para dar respuesta
problema con una PRECISIÓN prescripta.
NUMÉRICA
a un
DEFINICIÓN
CÁLCULO NUMÉRICOEVALÚA los MÉTODOS
NUMÉRICOSdiseñados.
OBJETIVO
importanciamétodos numéricoserrores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
El CÁLCULO de un 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.
DIREMOS
¿Qué tan PRECISOS (próximos a la solución “exacta”) son los resultados?
O
¿Qué tanto ERROR se ha introducido?
NOS PREGUNTAMOS
Si el cálculo aproxima a la solución “exacta”:
importanciamétodos numéricoserrores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
TRATAMIENTO INFORMACIÓN
RESUMIMOS
ENTRADAINFORMACIÓN
PROCESOINFORMACIÓN
SALIDAINFORMACIÓN
conceptos básicosfuentes de errorejemplos
DATOSMÉTODO NUMÉRICO
RESULTADOS
FUENTES DE ERROR• Distintos ERRORES en cada ETAPA.
ERROR
ERROR
ERROR
• Los ERRORES se PROPAGAN dando el ERROR TOTAL.
¿Cómo MEDIMOS el ERROR?
métodos numéricoserrores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
CUANTIFICAMOS el ERROR:Siendo VA una aproximación de VV, y VV el valor real,
entonces:
e = | VA – VV |
eR = | ( VA – VV ) / VV | con la condición VV ≠ 0
ERROR PORCENTUAL ABSOLUTO
ERROR ABSOLUTO
ERROR RELATIVO ABSOLUTO
eP = 100.| ( VA – VV ) / VV |(%) con la condición VV ≠ 0
conceptos básicosfuentes de errorejemplos
métodos numéricos errores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
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
EJEMPLOS
CONFIABILIDAD de un VALOR NUMÉRICO
VA es una aproximación a VV con d CIFRAS SIGNIFICATIVAS
• 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 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.
conceptos básicosfuentes de errorejemplos
métodos numéricos errores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
CONVERGENCIA
X0: aproximación a la solución (X) de un problema
Aplicación del método numérico Generación de la sucesión: x0, x1, x2,…, xn
Si un método numérico es convergente, entonces debe cumplir:
CRITERIOS DE CONVERGENCIA
TEÓRICOS: APLICABLES EN LOS MÉTODOS NUMÉRICOS:
métodos numéricos errores
punto flotante
conceptos básicosfuentes de errorejemplos
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
PROCESOMÉTODO
NUMÉRICOALGORITMO
COMPUTACIONAL
ERRORES• ERROR DE TRUNCAMIENTO (tiempo).
Tiempo
• ERROR DE REDONDEO (espacio).
ERRORES en el CÁLCULO al implementar en MÁQUINA el MÉTODO.Es decir:
TIEMPO FINITO (ALGORITMO)ESPACIO FINITO (COMPUTADORA)
INTENCIONALMENTE al usar un ALGORITMO COMPUTACIONAL
Introducimos restricciones:
Espacio
RIGUROSAMENTE: FINITO no alcanza. FINITO debe entenderse como RAZONABLE.
nociones básicosfuentes de errorejemplos
métodos numéricoserrores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
ERROR DE TRUNCAMIENTO
SURGE 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.
Faltará evaluar (ERROR) términos, iteraciones o intervalos TRUNCADOS.
NO PODEMOS IMPLEMENTAR EL LÍMITE ANALÍTICO
TRUNCAR
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
ERROR DE REDONDEO
SURGE 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, d1 d2 d3 …. dm x 10n , 1≤d1≤9 y 0≤di≤9
d1 d2 d3 …. dm: mantisa n: exponente
Trabajamos con: fl(x) = ± 0, d1 d2 d3 …. dk x 10n
Tenemos almacenado un REDONDEO del número real que difiere (ERROR) del número real.
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
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 si redondeamos 7/9 a 4 cifras significativas tenemos 0.7777.
0.3333 + 0.6666 = 0.9999 (redondeo truncado)
0.3333 + 0.6667 = 1.000 (redondeo simétrico)
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
REDONDEO TRUNCADO
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
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
ERROR NUMÉRICO TOTAL
Agregando términos, iteraciones o disminuyendo el intervalo.
DISMINUIR UNA COMPONENTE DE ERROR CONDUCE A UN INCREMENTO EN LA OTRA
ERROR DE TRUNCAMIENTOERROR DE REDONDEO
Error de truncamiento
Significa
número de operaciones
Error de redondeo
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
There are 10 types of people in the world:
those who understand binary
and
those who don't.
2
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
n24321 2xddd0.d )(
{0.10002 x 2-3, 0.10012 x 2-3, … , 0.11102 x 24, 0.11112 x 24}
Conjunto de todos los números reales positivos de la forma
n pertenece al conjunto {-3,-2,-1,0,1,2,3,4}.
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.25 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
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
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.
2-2
2-2
2-2
2-2
3-2
2x001111103
2x110102x1101051
2x0110102x11010101
)(
)()(
)()(
.
_______________
..
..
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
1-2
1-2
2-2
1-2
1-2
2x11111015
7
2x0101102x101106
1
2x101002x1010010
3
)(
)()(
)()(
.
_______________
..
..
métodos numéricoserrores
punto flotante
nociones básicasfuentes de errorejemplos
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
02 2x10000
157
)(.
03330500004667010000157
2 .... )(
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 !!...
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
(1/10 + 1/5) + 1/6 =? 1/10 + (1/5 + 1/6) ….
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
Utilizando polinomios de Taylor analice el valor de exp(x) en funcion del numero de términos retenidos en la serie
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
exp(1)
)(5432
15432
xn
xxxxxxe n
nx P
!...
!!!!
(6 cifras significativas):
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
x2 + 62.10 x + 1 = 0
Raíces aproximadas (7 cifras significativas): x1 = -0.01610723x2 = -62.08390
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
Resolver la ecuación cuadrática
a
acbbx
a
acbbx
2
4
2
4 2
2
2
1
;
10.62000.2
2.124
000.2
06.6210.62
02000.0000.2
04000.0
000.2
06.6210.62
2
1
x
x
Soluciones:
064486238520004413856
000410624 22
...
..
acbusando aritmética de 4 cifras:
Calculamos x1 y x2
x xx
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
Considere la serie de Taylor para el seno(x)
!...
!!!)sin(
n
xxxxxx
n
753
753
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
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
Para valores grandes de x la serie converge más lentamente …
MATLAB sinserie.mCondición de salida Term. / Suma < 5.E-6 ó # térm. > 15
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
Se puede demostrar que para cualquier serie alternante convergente el error de truncamiento es menor que el primer término despreciado
663211
111
ex
trunc .!
E
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.54e-06, lo cual esta en acuerdo con el error de truncamiento expresado anteriormente.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-4
-3.5
-3
-2.5
-2
-1.5
-1
-0.5
0
0.5x 10
-6
pi/2 x
error
total
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
En el caso de utilizar 5 términos siempre
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
Si usamos 15 términos …
2675229
129
ex
trunc .!
E
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1-2.5
-2
-1.5
-1
-0.5
0
0.5
1
1.5x 10
-16
pi/2 x
error
total
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
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
0 5 10 15100
105
1010
2 4 6 8 10 12 1410
-10
100
1010
1020
1030
1040
numeros de termninos
factorial
potencia (x=pi/2) potencia (x=pi/2)
potencia (x=13pi/2)
0 5 10 1510
-40
10-20
100
1020
sin(pi/6)
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
Error de truncamiento
sin(13pi/6)
Potencia .vs. factorial
potencia (x=pi/6)
potencia (x=13pi/6)
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
para ir pensando …
Qué causa la terminación del proceso iterativo?para valores de x = {pi/2, 11pi/2, 21pi/2, 31pi/2} analice:-Qué tan exacto es el resultado calculado?-Cuántos términos son requeridos?-Cuál es el término más grande en la serie?
nociones básicasfuentes de errorejemplos
métodos numéricoserrores
punto flotante
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
métodos numéricoserrores
punto flotante
constantes de la computadora errores de redondeo críticosrealmin, realmax, eps
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
métodos numéricos errores
punto flotante
TRES IMPORTANTES CONSTANTES EN LA COMPUTADORA
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.8E+308
realmin := minimo número (normalizado) 2-1022 2.2E-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.2E-16
# número de dígitos binarios = - log2(eps) = 52
# número de dígitos decimales = - log10(eps) 15.6
constantes de la computadora errores de redondeo críticosrealmin, realmax, eps
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
constantes de la computadora errores de redondeo críticosrealmin, realmax, eps
métodos numéricoserrores
punto flotante
TRES ERRORES DE REDONDEO CRÍTICOS
Cancelación
Underflow
Overflow
sustracción de dos números casi iguales
resultado más pequeño que realmin
resultado más grande que realmax
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
constantes de la computadora errores de redondeo críticosrealmin, realmax, eps
métodos numéricos errores
punto flotante
>> % para obtener realmin>> xmin=1; while xmin>0, xmin=xmin/2, endxmin =
4.9407e-324
>> % para obtener realmax>> xmax=1; while xmin<Inf, xmax=xmax*2, endxmax =
8.9885e+307
>> % para obtener el epsilon de la maquina>> x=1; while x>0, x=x/2; epsilon=x*0.98+1; epsilon=epsilon-1; if epsilon > 0, epsilon, end endepsilon =
2.2204e-016
Listado de comandos necesarios para obtener realmin, realmax y epsilon utilizando Matlab
Errores en los Métodos NuméricosNotas de Clase de Laboratorio
• 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.f97/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/NumComp/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. (x86.ddj.com/secrets/dan0441.htm)
constantes de la computadora errores de redondeo críticos
métodos numéricos errores
punto flotante
Algunos datos …
constantes de la computadora errores de redondeo críticosrealmin, realmax, eps
Recommended