Cálculo numérico

Transcripción

Cálculo numérico
Cálculo numérico
Proyecto 1
10 de febrero de 2011
Número de condición
Supongamos que queremos averiguar la sensibilidad de la solución de P, un problema bien
planteado, con respecto a los datos de entrada. Denotemos por A a los datos y como x = f (A) a
la correspondiente solución. Si resolvemos P en forma aproximada, entonces el error hacia adelante
está dado por
|x̂ − x|
,
ǫf =
|x|
el correspondiente error proyectado en los datos A, error hacia atrás, es
ǫb =
|Â − A|
|E|
=
.
|A|
|A|
Definimos al número de condición de P como la constante de proporcionalidad entre ambos errores,
i.e.
ǫf = cond (P)ǫb .
En términos prácticos solamente es posible obtener una cota superior para cond (P), por lo tanto
tendremos que
ǫf ≤ cond (P)ǫb .
Problemas T
1. Si a es el valor aproximado para una cantidad cuyo valor correcto es t, y a tiene error relativo
r. Prueba que
a = t(1 + r).
2. Considera el problema de evaluar la función sen(x) cuando el argumento x tiene un error de
h.
a) Estima el error absoluto cuando se evalúa sen(x).
b) Estima el error relativo cuando se evalúa sen(x).
c) Estima el número de condición del problema.
1
d ) ¿Para qué valores del argumento x este problema es altamente sensible?
3. La función sen(x) está dada por la serie infinita
sen(x) = x −
x3 x5 x7
+
−
+···
3!
5!
7!
a) Estima el error hacia adelante y el error hacia atrás cuando se utiliza el primer término
de la serie para calcular sen(x) en x = 0.1, x = 0.5, x = 1.0
b) Estima el error hacia adelante y el error hacia atrás cuando se utilizan los dos primeros
términos de la serie para calcular sen(x) en x = 0.1, x = 0.5, x = 1.0
4. Un sistema en punto flotante es caracterizado por cuatro enteros (β, p, L, U). Si β = 10,
¿cuáles son los valores de p, de U, y de L para que se puedan representar exactamente los
números 2365.27 y 0.00005 en el sistema?
5. En un sistema en punto flotante con precisión p = 6 dı́gitos decimales considera los números
x = 1.23456, y = 1.23457
a) ¿Cuántos dı́gitos significativos tiene la diferencia y − x.?
b) ¿Se puede representar la diferencia y − x en forma exacta, independientemente del rango
del exponente?
6. Considera la expresión
e(x) =
1
1
−
,
1−x 1+x
a) ¿Para que rango de valores de x es difı́cil calcular e(x) en forma exacta en PF?
b) Ordena los términos en una forma matemáticamente equivalente, para que en el rango
calculado en el inciso a), e(·) se pueda calcular en forma más exacta.
7. Si x ≈ y, entonces es de esperar que ocurra cancelación cuando se calcula log(x) − log(y).
Por otra parte, log(x) − log(y) = log(x/y). Observa que en la última expresión no ocurre
cancelación. ¿Significa esto que log(x/y) es mejor que calcular log(x) − log(y)? (Sugerencia:
encuentra los valores de x que hacen sensible el cálculo de log(·))
8. Considera las expresiones
x2 − y 2,
(x − y)(x + y).
a) ¿Cuál de las dos expresiones dará resultados más exactos en punto flotante
b) ¿Para que valores de x, y hay diferencia sustancial en el resultado?
9. Para calcular m, el punto medio de un intervalo [a, b], ¿cual de las dos fórmulas es preferible
en aritmética de punto flotante?
a) m = (a + b)/2,
b) m = a + (b − a)/2.
2
10. ¿En qué sistemas en punto flotante es cierto que ǫM es un número de máquina?
11. En la mayorı́a de los sistemas en punto flotante, se puede obtener una aproximación rápida
al número ǫM mediante el siguiente cálculo
|3(4/3 − 1) − 1|.
a) Explica porqué funciona esta simplificación.
b) ¿Funcionarı́a la estrategia anterior en un sistema de PF con β = 3?
Problemas P
1. Escribe un programa para calcular la constante e, la base de los logaritmos naturales. Utiliza
la definición
e = lı́m (1 + 1/n)n .
n→∞
Especı́ficamente, calcula (1 + 1/n)n para n = 10k , k = 1, 2, . . . , 20.
2. Supongamos que es necesario generar n + 1 puntos igualmente espaciados en el intervalo [a, b]
con espaciamiento h = (b − a)/n.
a) En aritmética de PF, ¿cuál de los siguientes métodos
x0 = a,
xk = xk+1 + h,
k = 1, . . . , n
o
xk = a + kh,
k = 0, . . . , n
es mejor y porqué?
b) Escribe un programa que compare ambos métodos y construye un ejemple que ilustre la
diferencia entre los dos.
3. Considera la aproximación para la derivada de una función
f ′ (x) =
f (x + h) − f (x)
+ O(h).
h
a) Escribe un programa de computadora y pruébalo con la función tan(x) en x = 1. Determina el error comparando tu resultado con sec2 (x). Grafica la magnitud del error como
una funcioń de h, para h = 10−k , k = 1, 2, . . . , 16. ¿Para que valor de h ocurre el mı́nimo
del error?.
b) Repite el cálculos del inciso a) con la fórmula
f ′ (x) =
f (x + h) − f (x − h)
+ O(h2).
2h
3

Documentos relacionados