1. introducciÓn a la computaciÓn...

31
1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICA: Segunda parte: Teoría de Errores Jorge Eduardo Ortiz Triviño [email protected] http://www.docentes.unal.edu.co/jeortizt/

Upload: dinhcong

Post on 18-Sep-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

1. INTRODUCCIÓN A LA

COMPUTACIÓN NUMÉRICA:

Segunda parte: Teoría de Errores

Jorge Eduardo Ortiz Triviño

[email protected]

http://www.docentes.unal.edu.co/jeortizt/

Page 2: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

Objetivos de la sección

• Exponer los conceptos de error y aproximación así

como las ideas de exactitud y precisión.

• Establecer la manera como se representan los números

en un computador y cómo se operan aritméticamente

dentro de la máquina.

Page 3: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

Contenido de la sección

1. Modelo matemático.

2. Aproximaciones y errores de redondeo.

3. Exactitud y precisión.

4. Definiciones de error.

5. Representación de punto flotante y errores de

redondeo.

6. Manipulación aritmética de números en el

computador.

7. Ejercicios propuestos.

Page 4: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

1. Modelos matemáticos

fuerza de

funciones , parámetros ,

ntesindependie

variables

edependient

Variable f

Un Modelo matemático es una formulación o una ecuación

que expresa las características esenciales de un sistema

físico o proceso en términos matemáticos

Variable dependiente: característica que refleja el

comportamiento o estado de un sistema

Variables independientes: generalmente dimensiones tales

como tiempo y espacio, a través de las cuales se determina

el comportamiento del sistema

Parámetros: son las propiedades o la composición del sistema

Funciones de fuerza: influencias externas que actúan sobre el

sistema

Page 5: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

Un modelo matemático simple

• Segunda Ley de Newton

maF m

Fa

a: variable dependiente

F: función de fuerza

m: parámetro que representa una propiedad del sistema

Por su forma algebraica sencilla puede despejarse

directamente.

Page 6: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

Un modelo matemático más

complicado

• Segunda Ley de Newton para determinar la velocidad

terminal de caída libre de un cuerpo cerca de la superficie

de la Tierra (paracaidista)

m

F

dt

dv F mg cv

vm

cg

dt

dv

g: aceleración de la gravedad

c: coef. de arrastre

Sustituyendo F

Es una ecuación diferencial

Solución analítica tmcec

gmtv /1

*Hay casos donde es imposible obtener una solución analítica

Page 7: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

Un modelo matemático más complicado• Solución numérica

– Se busca una aproximación a la razón de cambio de la

velocidad con respecto al tiempo con una diferencia

finita dividida

ii

ii

tt

tvtv

t

v

dt

dv

1

1

i

ii

ii tvm

cg

tt

tvtv

1

1

Sustituyendo

Solución numérica

*Es necesario el valor de la velocidad en un tiempo inicial ti

iiiii tttvm

cgtvtv

11

0 2 4 6 8 10 120

5

10

15

20

25

30

35

40

45

50

v, m/s

t, s

Pendiente

verdadera

Pendiente

aproximada

Page 8: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

Un modelo matemático más complicado

• Solución analítica vs. Solución numérica

*mejor solución numérica implica mayor costo computacional

0 2 4 6 8 10 120

5

10

15

20

25

30

35

40

45

50v,

m/s

t, s

Solucion analitica

Solucion numerica

Page 9: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

2. Aproximaciones y errores de

redondeo

Dos errores más comunes en métodos numéricos

Errores de redondeo: se deben a que la computadora sólo

puede presentar cantidades con un número finito de dígitos.

Errores de truncamiento: representan la diferencia entre una

formulación matemática exacta de un problema y la

aproximación dada por un método numérico.

Page 10: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

2. Aproximaciones y errores de

redondeo

Cifras significativas:

• El concepto de cifra significativa se ha desarrollado para

designar formalmente la confiabilidad de un valor

numérico

• Las cifras significativas de un número son aquellas que

pueden ser usadas en forma confiable.

Page 11: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

2. Aproximaciones y errores de

redondeo

Implicaciones de las cifras significativas en los métodos

numéricos :

1. Los métodos numéricos obtienen resultados aproximados.

– Se debe desarrollar criterios para especificar que tan

precisos son los resultados.

– Una manera de hacerlo es en términos de cifras

significativas.

Page 12: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

2. Aproximaciones y errores de

redondeo

2. Ciertas cantidades representan números específicos, , e,

√7, pero no se pueden expresar exactamente con un

número finito de dígitos

Ejemplo, = 3.141592653589793238462643… hasta el

infinito.

– En los computadores tales números jamás se podrán

representar en forma exacta.

– A la omisión del resto de cifras significativas se le

conoce como error de redondeo.

Page 13: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

3. Exactitud y precisión

EXACTITUD: se refiere a qué tan cercano está un valor

calculado o medido del valor verdadero.

PRECISIÓN: se refiere a qué tan cercano está un valor

individual calculado o medido con respecto a otros.

INEXACTITUD: o sesgo, se define como un alejamiento

sistemático de la verdad.

IMPRECISIÓN: o incertidumbre, se refiere a la magnitud del

esparcimiento de los valores.

Page 14: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

3. Exactitud y precisión

Los métodos numéricos deber

ser:

• Lo suficientemente exactos

o sin sesgo para que

cumplan con los requisitos

de un problema particular de

ingeniería.

• Lo suficientemente precisos

para el diseño en ingeniería.

Aumenta la exactitud

Au

men

ta l

a p

reci

sión

Page 15: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

4. Definiciones de error

• Los errores numéricos se generan con el uso de

aproximaciones para representar las operaciones y

cantidades matemáticas

• Estos incluyen:

– Errores de redondeo: se producen cuando los

números tienen un limite de cifras significativas que

se usan para representar números exactos

– Errores de truncamiento: que resultan de representar

aproximadamente un procedimiento matemático

exacto

Page 16: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

4. Definiciones de error

• Error verdadero

– Un defecto de esta definición es que no toma en cuenta el orden de magnitud del valor que se esta probando

• Error relativo porcentual

ónaproximaci - aderovalor verdtE

%100aderovalor verd

tt

E

Page 17: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

4. Definiciones de error

• Error aproximado

– Los signos de las ecuaciones pueden ser positivos o negativos

– No importa el signo, sino que su valor absoluto sea menor que una tolerancia prefijada s

%100aproximadovalor

aproximadoError a

%100actualón Aproximaci

anteriorón Aproximaci - actualón Aproximacia

sa

Page 18: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

4. Definiciones de error

• Estos errores pueden ser relacionados con el número de

cifras significativas en la aproximación.

• Puede tenerse la seguridad de que el resultado es correcto en

al menos n cifras significativas, si

• De esta forma se debe especificar el valor del error

esperado.

%105.0 2 n

s

Page 19: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

Ejemplo 1.Se mide un puente y un remache, y se obtienen 9999 y 9 cm,

respectivamente. Si los valores verdaderos son 10000 y 10 a)

encontrar el error verdadero y b) el error relativo porcentual

verdadero en cada caso.

a)

Puente: Et = 10000 – 9999 = 1 cm

Remache: Et = 10 – 9 = 1 cm

b)

Puente: t = 1/10000 x 100% = 0.01 %

Remache: t = 1/10 x 100% = 10 %

Page 20: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

Ejemplo 2.

Escriba un programa en C++ que imprima una tabla con

valores calculados de ex, para x = 0.5 utilizando la siguiente

expansión:

Imprima el número de términos (comenzando en 1), el

resultado de la suma y el error relativo porcentual. Termine el

proceso cuando el error relativo porcentual sea menor a

0.004%. El valor exacto determínelo con la función exp() de

C++.

!3!2

132 xx

xex

Page 21: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

/* Programa para evaluar la función exponencial en 0.5

usando la serie de Taylor. */

#include <iostream>

#include <math.h>

int main()

{

float x = 0.5, suma = 1, pi = 3.1415926535,error,fact = 1,pot = 1;

int iter = 1;

cout << "No.\tSuma\tError" << “\n”;

do{

error = (suma-exp(x))/exp(x)*100.0;

std::cout << iter << "\t" << suma << "\t" << error << "\t" << “\n”;

pot *= x; //siguiente potencia de x

fact *= iter; //siguiente factorial

suma += pot/fact; //siguiente valor de la suma

iter++;

}while(fabs(error)>0.004);

system("PAUSE");

return 0;

}

Page 22: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

No. Suma Error

1 1 -39.3469

2 1.5 -9.0204

3 1.625 -1.43877

4 1.64583 -0.17516

5 1.64844 -0.0172116

6 1.6487 -0.00141312

Presione una tecla para

continuar . . .

Page 23: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

5. Representación de punto

flotante y errores de redondeo

1. Hay un rango limitado para representar cantidades

– Hay números grandes positivos y negativos que no

pueden ser representados (overflow)

– No pueden representarse números muy pequeños

(underflow)

2. Hay sólo un número finito de cantidades que puede

ser representado dentro de un rango.

– El grado de precisión es limitado.

– Para aquellos que no pueden ser representados

exactamente, la aproximación real se puede

lograr: cortando o redondeando.

Page 24: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

5. Representación de punto

flotante y errores de redondeo

3. El intervalo entre números aumenta tanto como los

números crecen en magnitud.

– El error cuantificable más grande ocurrirá para

aquellos valores que caigan justo debajo del limite

superior de la primera serie de intervalos

igualmente espaciados.

Page 25: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

6. Manipulación aritmética de

números en el computador

• Junto con las limitaciones del sistema numérico de un

computador, las manipulaciones aritméticas pueden

dar como resultado errores de redondeo

• Para ilustrar el efecto del error de redondeo en

operaciones aritméticas comunes emplearemos un

computador decimal hipotética con una mantisa

(significado) de 4 dígitos y exponente de 1 dígito

Page 26: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

6. Manipulación aritmética de

números en la computadora

Suma

• Cuando dos números de punto flotante son sumados, el

número de la mantisa con menor exponente es

modificado de tal forma que los exponentes sean los

mismos, para alinear el punto decimal

• Ejemplo: 0.1557 ∙ 101 + 0.4381 ∙ 10-1

0.4381 ∙ 10-1 0.004381 ∙ 101

11

1

1

101600.010160081.0

10004381.0

101557.0

Page 27: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

6. Manipulación aritmética de

números en el computador

Resta

• La pérdida significativa durante la resta de números

casi iguales es una gran fuente de errores de redondeo

en métodos numéricos

12

2

2

109550.0100955.0

102686.0

103641.0

Se agrega un cero que no

es significativo

02

3

3

101000.0100001.0

107641.0

107642.0

Se agregan tres ceros que

no son significativos

Page 28: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

6. Manipulación aritmética de

números en la computadora

Multiplicación

• Los exponentes se suman y la mantisa se multiplica

• Ejemplo:

0.1363 ∙ 103 0.6423 ∙ 10-1 = 0.08754549 ∙ 102

0.8754 ∙ 101

Cálculos grandes

• Ciertos métodos requieren un número extremadamente

grande de operaciones aritméticas

• Generalmente los cálculos son dependientes de los

resultados previos

• En consecuencia, incluso el error de redondeo

individual puede ser pequeño, pero acumulando esos

efectos durante el proceso puede ser significativo

Page 29: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

6. Manipulación aritmética de

números en la computadora

Suma de un número grande y uno pequeño

• Puede no estar realizando la suma

• Este tipo de error puede ocurrir cuando se calculan series

infinitas

• El término inicial dentro de cada serie es a menudo

relativamente grande en comparación con los otros términos,

después de sumar algunos términos estamos en la situación

del ejemplo

• Para reducir este tipo de errores se suma la serie en reversa

44

4

4

104000.0104000001.0

100000001.0

104000.0

4000001.0

Page 30: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

7. Ejercicios propuestos 1.a) Evalúe el polinomio

y = x3 – 7x2 + 8x + 0.35

En x = 1.37, utilizando aritmética de 3 dígitos con

truncamiento (corte). Evalúe el error relativo porcentual.

b) Repita a) con y calculada con

y = ((x – 7)x + 8)x + 0.35

Evalúe el error y compárelo con el de a)

Page 31: 1. INTRODUCCIÓN A LA COMPUTACIÓN NUMÉRICAdisi.unal.edu.co/profesores/jeortizt/MetNum/Archivos/02A... · 5. Representación de punto flotante y errores de redondeo 1. Hay un rango

7. Ejercicios propuestos 2.

La serie:

Converge al valor f(n) = 4/90, conforme n tiende a infinito.

Escriba un programa en C++ de precisión sencilla para

calcular para n =10000 por medio de calcular la suma desde

i = 1 hasta 10000.

Después repita el cálculo pero en sentido inverso, es decir,

desde i = 10000 a 1, con incrementos de -1.

En cada caso, calcule el error relativo porcentual verdadero.

PI = 3.141592653589793238

n

i i14

1