30
Errores en los Métodos Numéricos Notas 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

Notas de Clase 1 Errores metodos numéricos

Embed Size (px)

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