Práctica - Unican.es

Anuncio
Práctica 3
Algunas aplicaciones del método de Newton.
Cuestión. Dada una función (“suficientemente buena”) f : I ⊆ R → R,
calcular z ∈ I tal que f (z) = 0.
– Transformación de Newton, tf , asociada a f :
tf (e) = e −
f (e)
, (e ∈ I)
f 0 (e)
– A partir de una adecuada estimación inicial e (suficientemente próxima
a z), tf (e) proporciona una estimación mejor.
Cálculo de inversos.
Problema. Dado un número real positivo r calcular su inverso.
– Se calcula el cero de la función h tal que
h(x) =
1
−r
x
– Transformación de Newton asociada a h:
1
−r
th (e) = e − e
= e(2 − re)
−1
e2
– Estimación inicial: Poner
r = 2n r1
donde n es un entero y
1
≤ r1 < 1
2
Se tiene
1
1
= 2−n ∼
= 2−n
r
r1
Tomar e = 2−n como estimación inicial.
1
– Ejemplos.
• 1. Sea r = 1999; se tiene 1999 = 211 × 0,9760742188.
• 2. Sea r = 0,00876; se tiene 0,00876 = 2−6 × 0,56064.
Ejercicio. Definir un procedimiento iterativo exponenteBinario que admita como argumento un número real positivo r; (exponenteBinario r)
deberá devolver el exponente n tal que
1
≤ r1 < 1
2
r = 2n r1 ,
Ejercicio. Definir un procedimiento iterativo inverso que admita como
argumento un número real (positivo o negativo) y devuelva su inverso. Deberá usarse el procedimiento exponenteBinario con el fin de obtener una
estimación inicial adecuada.
Cálculo de raı́ces cuadradas.
Problema. Dado un número real positivo r calcular su raı́z cuadrada (positiva).
– Se calcula el cero positivo de la función g tal que
g(x) = x2 − r
– Transformación de Newton asociada a g:
tg (e) = e −
e + r/e
e2 − r
=
2e
2
– Estimación inicial: Poner
r = 2n r1
donde n es un entero y
1
≤ r1 < 1
2
2
Se tiene
√
√
r = 2n/2 r1 ∼
= 2bn/2c
Tomar e = 2bn/2c como estimación inicial. (Nótese que 0,7071 <
1).
√
r1 <
Ejercicio. Definir un procedimiento iterativo raizcuadrada que admita
como argumento un número real no negativo y devuelva su raı́z cuadrada.
Deberá usarse el procedimiento exponenteBinario con el fin de obtener una
estimación inicial adecuada.
Cálculo de raı́ces cuadradas. (Otro método: sin divisiones)
Problema. Dado un número real positivo r calcular su raı́z cuadrada (positiva).
– La raı́z cuadrada de r es el cero (positivo) de la función
g(x) =
1
1
−
2
x
r
La transformación de Newton correspondiente, tg , viene dada por
e2
1
e
tg (e) = (3 − ) = 0,5e(3 − e2 )
2
r
r
Nótese que a lo largo del proceso se realiza un único cálculo de inverso.
Ejercicio. Definir un procedimiento iterativo raizcuadrada2 que admita
como argumento un número real no negativo y devuelva su raı́z cuadrada mediante el método expuesto; esto es, calculando solamente un inverso.
Deberán usarse los procedimientos inverso (para el cálculo del inverso) y
exponenteBinario (con el fin de obtener una estimación inicial adecuada).
Ejercicio. Scheme proporciona el procedimiento primitivo log; (log r)
devuelve el logaritmo natural del número real positivo r. Define un procedimiento log2 tal que (log2 r) devuelva el logarirmo en base 2 de r ¿Puedes
encontrar alguna relación entre (exponenteBinario r) y (log2 r)?
3
Descargar