21 de Julio de 2014 FUNDAMENTOS DE LA TEORÍA DE ERRORES Numerico/Clases/TEMA 1.pdf · Cálculo...
Transcript of 21 de Julio de 2014 FUNDAMENTOS DE LA TEORÍA DE ERRORES Numerico/Clases/TEMA 1.pdf · Cálculo...
Cálculo Numérico José Luis Quintero 1
FUNDAMENTOS DE LA
TEORÍA DE ERRORES
Departamento de Matemática Aplicada
Facultad de Ingeniería
Universidad Central de Venezuela
21 de Julio de 2014
Cálculo Numérico José Luis Quintero 2
1. Los métodos numéricos
2. Fuentes básicas de errores
3. Definiciones importantes
4. Estimación de la propagación de errores
5. Error de una suma
6. Error de una diferencia
7. Sumatorias y series elementales
8. Algoritmo de Horner
9. Evaluación de funciones analíticas
10. Condicionamiento
Puntos a tratar
Cálculo Numérico José Luis Quintero 3
Métodos numéricos
Son técnicas mediante las cuales es posible formular
problemas matemáticos de tal forma que puedan resolverse
usando operaciones aritméticas.
Cálculo Numérico José Luis Quintero 4
1. Los métodos numéricos
2. Fuentes básicas de errores
3. Definiciones importantes
4. Estimación de la propagación de errores
5. Error de una suma
6. Error de una diferencia
7. Sumatorias y series elementales
8. Algoritmo de Horner
9. Evaluación de funciones analíticas
10. Condicionamiento
Puntos a tratar
Cálculo Numérico José Luis Quintero 5
• Planteamiento del problema (errores delproblema)
• Presencia de procesos infinitos en análisismatemático (error residual)
• Parámetros numéricos (error inicial)
• Sistema de numeración (error porredondeo)
• Operaciones con números aproximados(errores de operación)
• Representación en punto flotante (errorespunto flotante)
Fuentes básicas de errores
Cálculo Numérico José Luis Quintero 6
1. Los métodos numéricos
2. Fuentes básicas de errores
3. Definiciones importantes
4. Estimación de la propagación de errores
5. Error de una suma
6. Error de una diferencia
7. Sumatorias y series elementales
8. Algoritmo de Horner
9. Evaluación de funciones analíticas
10. Condicionamiento
Puntos a tratar
Cálculo Numérico José Luis Quintero 7
El error absoluto en denotado es ladiferencia entre el valor exacto x y elvalor aproximado .
El error relativo en es . El errorrelativo es más significativo que el errorabsoluto, ya que carece de unidad.
Error absoluto y error relativo
x,∆xɶ
x / x∆xɶ
xɶ
Cálculo Numérico José Luis Quintero 8
El error por redondeo es aquel originadopor las limitaciones que todaherramienta de cálculo posee al nopoder representar las cantidades contodas sus cifras.
El error por truncamiento se produce alreducir a un número finito deoperaciones un proceso matemáticoque es infinito.
Redondeo y truncamiento
Cálculo Numérico José Luis Quintero 9
La cota o estimación de un error escualquier número no menor que el error.
Si se dice que tiene tdecimales correctos. También se diceque está correctamente redondeadoa t decimales.
Cota y decimales correctos
tx 0.5 10 ,−∆ ≤ × xɶ
xɶ
Cálculo Numérico José Luis Quintero 10
Utilice las variables especiales
eps , realmin y realmax
para calcular el épsilon de la máquina,el número más pequeño que la máquinadistingue de cero y la mayor magnitudrepresentada respectivamente.
Épsilon de la máquina, realmin y realmax
Cálculo Numérico José Luis Quintero 11
Épsilon de la máquina, realmin y realmax
El épsilon de la máquina es el número demáquina positivo más pequeño de dobleprecisión tal que522−ε = 1 1+ ε ≠
Cálculo Numérico José Luis Quintero 12
Épsilon de la máquina, realmin y realmax
El épsilon de la máquina es el número demáquina positivo más pequeño de dobleprecisión tal que522−ε = 1 1+ ε ≠
realmin es el número de máquina positivomás pequeño de doble precisión dado por
que la máquina distingue decero
10222−µ =
Cálculo Numérico José Luis Quintero 13
Épsilon de la máquina, realmin y realmax
El épsilon de la máquina es el número demáquina positivo más pequeño de dobleprecisión tal que522−ε = 1 1+ ε ≠
realmin es el número de máquina positivomás pequeño de doble precisión dado por
que la máquina distingue decero
10222−µ =
realmax es el número de máquina másgrande dado por que puede serrepresentado con exactitud
10242β ≈
Cálculo Numérico José Luis Quintero 14
Underflow y overflow
Si un número es tal que seproduce un underflow y el computadorconsidera que x es cero
x R∈ x ,< µ
Cálculo Numérico José Luis Quintero 15
Underflow y overflow
Si un número es tal que seproduce un underflow y el computadorconsidera que x es cero
Si un número es tal que seproduce un overflow y se detienen loscálculos
x R∈ x ,< µ
x R∈ x ,> β
Cálculo Numérico José Luis Quintero 16
1. Los métodos numéricos
2. Fuentes básicas de errores
3. Definiciones importantes
4. Estimación de la propagación de errores
5. Error de una suma
6. Error de una diferencia
7. Sumatorias y series elementales
8. Algoritmo de Horner
9. Evaluación de funciones analíticas
10. Condicionamiento
Puntos a tratar
Cálculo Numérico José Luis Quintero 17
Estimación de la propagación de errores
1 n
nfxn ii
i 1fx i yi
i 1 1 n
y f(x ,...,x )
xy x ,
f(x ,...,x )
∂∂
=∂∂
=
=
∆∆ ≈ ∆ δ ≈
∑∑
Cálculo Numérico José Luis Quintero 18
Estimación de la propagación de errores
n n
i 1 n ii 1 i 1
y x x ... x ; y x= =
= = + + ∆ ≈ ∆∑ ∑
Error absoluto en una suma
Error relativo en un producto
nn
j in ni 1 j 1,j i
i 1 n y xn ii 1i 1
i
i 1
x x
y x x ... x ;
x
= = ≠
==
=
∆= = × × δ ≈ = δ
∑ ∏∑∏
∏
Cálculo Numérico José Luis Quintero 19
Estimación de la propagación de errores
1
2
x xx 1 21 x12x2 x x22
y x x x xx x 1 2 1 21 1x x2 2
xy
x
( )
∆∆
=
+δ ≈ = δ + δ = δ + δ
Error relativo en un cociente
Error relativo en una potencia
m 1
m
y xm
m x xy x ; m
x
− ∆= δ ≈ = δ
Cálculo Numérico José Luis Quintero 20
1. Los métodos numéricos
2. Fuentes básicas de errores
3. Definiciones importantes
4. Estimación de la propagación de errores
5. Error de una suma
6. Error de una diferencia
7. Sumatorias y series elementales
8. Algoritmo de Horner
9. Evaluación de funciones analíticas
10. Condicionamiento
Puntos a tratar
Cálculo Numérico José Luis Quintero 21
Error de una suma
El error absoluto de una suma de varios números
aproximados no excede de la suma de los errores absolutos de los números.
Ejemplo.
1 2
1 2
1 2
1 2
x 2.10, x 3.05, s 5.15
x 2.00, x 3.00, s 5.00
x 0.10, x 0.0 0.155, s
x x1s 0. 5
= = == = =
∆ = ∆ = ∆ =∆ = = ∆ + ∆
ɶɶ ɶ
Cálculo Numérico José Luis Quintero 22
Error de una suma
Si todos los números (no nulos) vienen afectados
del mismo signo, la cota del error relativo de su suma no excede del de la máxima cota del
error relativo de cualquiera de ellos.
Ejemplo.
1 2 1 2
s 0.151 2 s s 5.15
x x0.10 0.051 2x xx 2.10 x 3.051 21 2
s
0.0291
0.
x 2.10, x 3.05, s 5.15, x 2.00, x 3.00, s 5.00
x 0.10, x 0.05, s 0.15,
0.0476, 0.0164
max(0.0476,0.0164) 0476
∆
∆ ∆
= = = = = =∆ = ∆ = ∆ = δ = = ≈
δ = = ≈ δ = = ≈
δ < δ = =
ɶɶ ɶ
Cálculo Numérico José Luis Quintero 23
1. Los métodos numéricos
2. Fuentes básicas de errores
3. Definiciones importantes
4. Estimación de la propagación de errores
5. Error de una suma
6. Error de una diferencia
7. Sumatorias y series elementales
8. Algoritmo de Horner
9. Evaluación de funciones analíticas
10. Condicionamiento
Puntos a tratar
Cálculo Numérico José Luis Quintero 24
Error de una diferencia
El error absoluto de una diferencia no excede a la
suma de las cotas de los errores absolutos del minuendo y sustraendo.
Si los números aproximados son números prácticamente iguales y tienen errores absolutos
pequeños, su suma exacta es pequeña. La cota del error relativo en este caso puede ser muy grande aun cuando los errores relativos del minuendo y el sustraendo permanezcan pequeños. Esto conduce
a una pérdida de exactitud. Esto se denomina cancelación catastrófica.
Cálculo Numérico José Luis Quintero 25
1. Los métodos numéricos
2. Fuentes básicas de errores
3. Definiciones importantes
4. Estimación de la propagación de errores
5. Error de una suma
6. Error de una diferencia
7. Sumatorias y series elementales
8. Algoritmo de Horner
9. Evaluación de funciones analíticas
10. Condicionamiento
Puntos a tratar
Cálculo Numérico José Luis Quintero 26
Sumatorias
n n
2
i 1 i 1
2n
3
i 1
n
4 3 2
i 1
n(n 1) n(n 1)(2n 1)i i
2 6
n(n 1)i
2
ni (n 1)(6n 9n n 1)
30
= =
=
=
+ + += =
+ =
= + + + −
∑ ∑
∑
∑
Cálculo Numérico José Luis Quintero 27
Tabla de series elementales
Cálculo Numérico José Luis Quintero 28
1. Los métodos numéricos
2. Fuentes básicas de errores
3. Definiciones importantes
4. Estimación de la propagación de errores
5. Error de una suma
6. Error de una diferencia
7. Sumatorias y series elementales
8. Algoritmo de Horner
9. Evaluación de funciones analíticas
10. Condicionamiento
Puntos a tratar
Cálculo Numérico José Luis Quintero 29
Suponga un polinomio de grado n
con coeficientes reales
y se quiere calcular el valor :
Evaluación de polinomios
n n 1
n n 1 1 0P(x) a x a x ... a x a−−= + + + +
ka (k 0,1,...,n),=
(k)P ( ) (k 0,1,...,n)ξ =
Cálculo Numérico José Luis Quintero 30
Evaluación de polinomios
Evaluación directa:
n(n 1)
n(n 3)
2
2
n adiciones
multiplic
ope
acion
raci
es
ones
+
+
n adiciones
n multiplica
2n operac
ciones
iones
Algoritmo de Horner:
Cálculo Numérico José Luis Quintero 31
Evaluación de polinomios
Evaluación directa:
n(n 1)(n 5)
6
+ +
Algoritmo de Horner:
Diferencia:
n(3n 1)
2
+
n(n 1)(n 2)
6
− −
Cálculo Numérico José Luis Quintero 32
x=linspace(0,10,300);
y=x.*(x+1).*(x+5)/6;
z=x.*(3*x+1)/2;
plot(x,y,'r.',x,z,'g.'), grid on
xlabel('Grado del polinomio')
ylabel ('Número de operaciones')
legend('Evaluación tradicional','Algoritmo de Horner ')
Gráfico de una función
Cálculo Numérico José Luis Quintero 33
Gráfico de dos funciones en un mismo sistema
0 1 2 3 4 5 6 7 8 9 100
50
100
150
200
250
300
Grado del polinomio
Núm
ero
de o
pera
cion
es
Evaluación tradicional
Algoritmo de Horner
Cálculo Numérico José Luis Quintero 34
x=linspace(0,10,300);y=x.*(x-1).*(x-2)/6;plot(x,y,'b.')xlabel('Grado del polinomio')ylabel ('Número de operaciones') title('Diferencia Tradicional-Horner')
Gráfico de diferencia de número de operaciones
0 1 2 3 4 5 6 7 8 9 10-20
0
20
40
60
80
100
120
Grado del polinomio
Núm
ero
de o
pera
cion
es
Diferencia Tradicional-Horner
Cálculo Numérico José Luis Quintero 35
Algoritmo de Horner completo
i
j j j 1
j
inicio
leer (n,(a :0 i n), )
desde k 0 hasta (n 1) hacer
desde j (n 1) hasta k hacer
a a a
fin_desde
d a
+
≤ ≤ ξ= −
= −← + ξ
← j
n n
i
factorial(j)
fin_desde
d a factorial(n)
escribir (d :0 i n)
fin
∗
← ∗≤ ≤
Cálculo Numérico José Luis Quintero 36
1. Los métodos numéricos
2. Fuentes básicas de errores
3. Definiciones importantes
4. Estimación de la propagación de errores
5. Error de una suma
6. Error de una diferencia
7. Sumatorias y series elementales
8. Algoritmo de Horner
9. Evaluación de funciones analíticas
10. Condicionamiento
Puntos a tratar
Cálculo Numérico José Luis Quintero 37
Una función real f(x) se denomina analítica enun punto si en la vecindad de estepunto puede desarrollarse en series depotencias (serie de Taylor).
En muchos casos, desarrollar una función enserie de Taylor resulta muy conveniente paracalcular los valores de la función, en otroscasos basta con racionalizar (radicales),aplicar propiedades (logaritmos) o transformaren expresiones equivalentes (expresionestrigonométricas).
Evaluación de funciones reales analíticas
ξ x R− ξ <
Cálculo Numérico José Luis Quintero 38
EJEMPLO.
Sean las funciones
Halle f(500) y g(500) y compare con el valorexacto 11.174755300747198…
Evaluación de funciones reales analíticas
xf(x) x( x 1 x) , g(x)
x 1 x= + − =
+ +
Cálculo Numérico José Luis Quintero 39
SOLUCIÓN.
Evaluación de funciones reales analíticas
f(500) 500( 501 500)
500(22.3830 22.3607) 11.15
= −≈ − =
500g(500)
501 500
500 500
22.3830 22.3607 44.7437
11.1748
=+
≈ =+
=
Cálculo Numérico José Luis Quintero 40
La segunda función es algebraicamenteequivalente a f(x), como muestra el siguientecálculo
La respuesta
tiene un error absoluto menor.
Evaluación de funciones reales analíticas
2 2
x( x 1 x)( x 1 x)f(x)
( x 1 x)
x ( x 1) ( x) x.
x 1 x x 1 x
+ − + +=+ +
+ − = =
+ + + +
g(500) 11.1748=
Cálculo Numérico José Luis Quintero 41
Considere la función
1. Obtenga su gráfica.2. Verifique que , analítica y
gráficamente.3. Verifique las siguientes expresiones
equivalentes para f(x):
Ejercicio computacional
2
1 cos(x)f(x)
x
−=
12
f(x 0)→ =
22 x2
2 2
2sen ( )sen (x)f(x) y f(x)
x (1 cos(x)) x= =
+
Cálculo Numérico José Luis Quintero 42
4. Obtenga una expresión equivalente para f(x) a partir del siguiente polinomio de Taylor de la función cos(x), alrededor de
Ejercicio computacional
x 0=
2i 2 4 6 8i
i 0
x x x x xcos(x) ( 1) 1 ...
(2i)! 2! 4! 6! 8!
∞
=
= − = − + − + −∑
Cálculo Numérico José Luis Quintero 43
5. Evalúe las dos expresiones disponibles paraf en los valores
6. Guarde el código (programa 1) con elnombre de taylor.m para evaluar lasexpresiones.
Ejercicio computacional
1 2 4 8 16x 2 , 2 , 2 , 2 , 2 .− − − − −=
Cálculo Numérico José Luis Quintero 44
Programa 1
clcx=1/2;for i=1:10
term=0.5;sum=0;n=0;while (abs(term)+sum)>sum
sum=sum+term;n=n+1;term=term*(-1)*x*x/((2*n+1)*(2*n+2));
endfun=(1-cos(x))/(x.*x);fun2=((sin(x))^2/(1+cos(x)))/(x.*x);fun3=2*(sin(x/2))^2/(x.*x);fprintf( ' n=%1.0f' ,n)fprintf( ' i=%1.0f' ,i)fprintf( ' taylor=%1.28f ' ,sum)fprintf( ' funcion=%1.28f ' ,fun)fprintf( ' funcion2=%1.28f ' ,fun2)fprintf( ' funcion3=%1.28f\n' ,fun3)x=x.^2;
end
Cálculo Numérico José Luis Quintero 45
7. Justifique los resultados obtenidosmencionando la existencia de dificultadesnuméricas presentes en las fórmulas (si lashubiera) para el rango de valoresconsiderados (cancelación catastrófica,división por cero, etc).
8. Concluya cuál de estas expresiones resultamás estable numéricamente.
Ejercicio computacional
Cálculo Numérico José Luis Quintero 46
1. Los métodos numéricos
2. Fuentes básicas de errores
3. Definiciones importantes
4. Estimación de la propagación de errores
5. Error de una suma
6. Error de una diferencia
7. Sumatorias y series elementales
8. Algoritmo de Horner
9. Evaluación de funciones analíticas
10. Condicionamiento
Puntos a tratar
Cálculo Numérico José Luis Quintero 47
Las palabras condición y condicionamiento seusan de manera informal para indicar cuánsensible es la solución de un problemarespecto de pequeños cambios relativos en losdatos de entrada.
Un problema está mal condicionado sipequeños cambios en los datos pueden darlugar a grandes cambios en las respuestas.Para ciertos tipos de problemas se puededefinir un número de condición. Si el número esgrande significa que se tiene un problema malcondicionado.
Condición y condicionamiento
Cálculo Numérico José Luis Quintero 48
Número de condición para la evaluación de funciones
Error absoluto (EA):
Error relativo (ER):
EAimagenes .EApreimagenes
f(x h) f(x
K
f '(x)) h
=+ − ≈
ERimagenes .ERpreimagenes
f(x h) f(x) h
f(x) x
K
xf '(x)
f(x)
=+ − ≈
Cálculo Numérico José Luis Quintero 49
x=linspace(-1,1,3000);
y=exp(x);
z=abs(x);
plot(x,y,'r.',x,z,'g.'), grid on
xlabel('Preimagenes')
ylabel ('Imagenes')
legend('Condición absoluta','Condición relativa')
title('Funciones de condicionamiento para y = exp(x )')
Ejemplo
Cálculo Numérico José Luis Quintero 50
Ejemplo
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 10
0.5
1
1.5
2
2.5
3
Preimagenes
Imag
enes
Funciones de condicionamiento para y = exp(x)
Condición absoluta
Condición relativa
Cálculo Numérico José Luis Quintero 51
Norma de una matriz
n
ij1 1 j ni 1
n
ij1 i nj 1
n n2
ijei 1 j 1
A max a
A max a
A a
≤ ≤=
∞ ≤ ≤=
= =
=
=
=
∑
∑
∑∑
Cálculo Numérico José Luis Quintero 52
Número de condición de una matriz
Error absoluto (EA):
Error relativo (ER):
1
EAsolución .EAladoderecho
x x b b
K
A−
≤
− ≤ − ɶɶ
1
ERsolución .ERladoderecK
A A
ho
b bx x
x b−
≤
−−≤
ɶɶ
Cálculo Numérico José Luis Quintero 53
Número de condición de una matriz
1
1
1 1.01 10000 10100A A
0.99 1 9900 10000
(A) A A 2 20000 40000
−
−
− = ⇒ = −
κ = = × =
Cálculo Numérico José Luis Quintero 54
Número de condición de una matriz
1 1
2 2
x x1 1.01 2.01 1
x x0.99 1 1.99 1
= ⇒ =
1 1
2 2
x x1 1.01 2 200
x x0.99 1 2 200
− = ⇒ =
Cálculo Numérico José Luis Quintero 55
Pensamiento de hoy
“La confianza en si mismoes el primer secreto deléxito”.
Emerson