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