Subido por Genaro Labrin

MCI-Raices 1

Anuncio
Capítulo 4: Aproximación de Raíces
MÉTODOS COMPUTACIONALES EN
INGENIERÍA I
Capítulo 4: Aproximación de Raíces
Facultad de Ingeniería
Universidad Nacional del Comahue
web page: http://pedco.uncoma.edu.ar/
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Introducción
En esta unidad, se considera uno de los problemas
básicos del cálculo numérico, la búsqueda de raíces.
La misma consiste en hallar para una función f , una raíz o
solución de la ecuación de la forma
f (x) = 0
Una raíz de esta ecuación se denomina también cero de
la función f .
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Clasificación
Los métodos a analizar se pueden dividir en dos grupos
Métodos Globales: Convergen sin necesidad de aproximaciones
iniciales
Bisección (búsqueda binaria)
Falsa posición (regula falsi, posición falsa, regla falsa)
Métodos Locales: Convergen con aproximaciones iniciales adecuadas
Iteración de punto fijo
Newton - Raphson (o Newton)
Secante
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de Bisección
Sea f una función continua definida en el intervalo [a, b] con f (a) y f (b)
de distinto signo. Por el Teorema del Valor Intermedio, existe un valor
p ∈ [a, b] tal que f (p) = 0.
Aunque el procedimiento funcionará con más de una raíz en dicho
intervalo, a efectos prácticos del procedimiento se supondrá que dicha
raíz es única.
El punto medio de [a, b], aproxima a la raíz con la siguiente expresión
p1 = a1 +
b1 − a1
a1 + b1
=
2
2
(1)
Dependiendo del signo de f (p1 ) y de f (a), se elegirá el nuevo intervalo.
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de Bisección: Procedimiento Geométrico
Hacer a1 = a, b1 = b y
p1 = (a1 + b1 )/2.
Si f (p1 ) = 0, entonces p = p1 y se
encontró la raíz.
Si f (p1 ) 6= 0, entonces f (p1 ) tiene el
mismo signo que f (a1 ) o f (b1 ).
Cuando f (p1 ) y f (a1 ) tienen el
mismo signo, p ∈ (p1 , b1 ) y se hace
a2 = p1 y b2 = b1 .
Cuando f (p1 ) y f (a1 ) tienen signo
opuesto, p ∈ (a1 , p1 ) y se hace
a2 = a1 y b2 = p1 .
Luego, se repite el proceso en el
intervalo [a2 , b2 ].
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
Método de Bisección
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de Bisección: Algoritmo
Obtener x tal que f (x) = 0 para f continua en [a, b] con f (a) y f (b) de distinto
signo
ENTRADA: extremos a y b, tolerancia TOL, número máximo de iteraciones N
SALIDA: solución aproximada p o mensaje de error
Paso 1: Tomar i = 1, FA = f (a)
Paso 2: Mientras i ≤ N realizar pasos 3 a 6
Paso 3: Tomar p = a + (b − a)/2 (calculo de ri )
FP = f (p)
Paso 4: Si FP = 0 o (b − a)/2 < TOL entonces
SALIDA (p) (algoritmo finalizado satisfactoriamente)
PARAR
Paso 5: Tomar i = i + 1
Paso 6: Si FA · FP > 0 tomar a = p y FA = FP (Cálculo de ai y bi )
si FA · FP > 0, tomar b = p
Paso 7: SALIDA (El algoritmo fracasó despues de iterar, N, veces) (algoritmo finalizado sin
éxito) PARAR
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de Bisección: Cota del Error
Sea f ∈ C[a, b] y f (a) · f (b) < 0. El método de Bisección genera una
sucesión {pn }∞
n=1 que tiende al cero p de f con
|pn − p| ≤
b−a
para n ≥ 1
2n
Luego, la cota del error es
En ≤
b−a
2n
Así, la tasa de convergencia del método de Bisección es O(1/2n ).
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de Bisección: Observaciones
Criterio de parada del error relativo como alternativa al Paso 4 del
algoritmo
|pN − pN−1 |
< TOL con pN 6= 0
|pN |
El método siempre converge a la solución, luego puede utilizarse para
elegir aproximaciones iniciales de los métodos que convergen
localmente.
La cota del error es bastante conservativa, es decir, en general el error
es significativamente menor.
Para disminuir los errores de redondeo en el cálculo del punto medio
puede utilizarse la alternativa pn = an + (bn − an )/2.
Además, al hallar el subintervalo [an , bn ] donde se encuentra la raíz,
puede utilizarse la función signo (sgn) para evitar la posibilidad de
tener overflow o underflow en la multiplicación de f (an ) · f (pn ).
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de la Falsa Posición
Se basa, al igual que el Método de Bisección, en el Teorema del Valor
Intemedio o de Bolzano.
Un defecto de Bisección es que al dividir el intervalo (an , bn ) en mitades
iguales, no tiene en cuenta la magnitud de f (an ) y f (bn ). Por ejemplo, si
f (an ) es mucho más cercana a cero que f (bn ), la raíz se encuentra más
cerca de an que de bn .
Este método alternativo, aprovecha la visualización gráfica de unir f (an )
y f (bn ) con una línea recta.
El hecho de reemplazar la curva por una recta da una posición falsa de
la raíz, de ahí el nombre del método.
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de la Falsa Posición
Con los triángulos similares sombreados se obtiene la fórmula
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de la Falsa Posición
El valor de la raíz se estima como la intersección de la recta que une
los puntos (an , f (an )) y (bn , f (bn )).
Por semejanza de triángulos de la gráfica, la intersección de la recta
con el eje x puede estimarse por
f (an )
f (bn )
=
pn − an
bn − pn
el cuál puede resolverse por
pn = bn −
f (bn ) · (bn − an )
f (an ) · (bn − an )
y pn = an −
f (bn ) − f (an )
f (bn ) − f (an )
Luego, el valor de pn reemplaza a uno de los valores tal que f (an ) o
f (bn ) tenga el mismo signo que f (x). Así, an y bn siempre encierran a la
raíz.
El Método de la Falsa Posición es por lo general superior a Bisección
pero hay algunos casos que violan las conclusiones generales.
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de la Falsa Posición: Algoritmo
Obtener x tal que f (x) = 0 para f continua en [a, b] con f (a) y f (b) de distinto
signo
ENTRADA: extremos a y b, tolerancia TOL, número máximo de iteraciones N
SALIDA: solución aproximada p o mensaje de error
Paso 1: Tomar i = 2; q0 = f (a); q1 = f (b)
Paso 2: Mientras i ≤ N realizar pasos 3 a 7
Paso 3: Tomar p = b − q1 (b − a)/(q1 − q0 ) (calculo de ri )
Paso 4: Si |p − b| < TOL entonces
SALIDA (p) (algoritmo finalizado satisfactoriamente)
PARAR
Paso 5: Tomar i = i + 1
q = f (p)
Paso 6: Si q · q1 < 0 tomar a = b y q0 = q1
Paso 7: Tomar b = p y q1 = q
Paso 8: SALIDA (El algoritmo fracasó despues de iterar, N, veces) (algoritmo finalizado sin
éxito) PARAR
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de la Falsa Posición: Error
A diferencia del Método de Bisección no es posible
establecer una cota para el error de truncamiento.
En general, el orden de convergencia es lineal (λ = 1)
La velocidad de convergencia puede ser:
1/2 < c < 1 y será más lenta que con Bisección
0 < c < 1/2 y será más rápida que con Bisección
donde
c=
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
Ei+1
Ei
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Iteración de Punto Fijo
Un punto p es un punto fijo para una función dada g si g(p) = p.
Los problemas de búsqueda de raíces y los problemas de punto fijo
son equivalentes en el siguiente sentido:
Dado un problema de búsqueda de raíces f (p) = 0, se puede
construir una función g con un punto fijo en p de diferentes
maneras, por ejemplo como g(x) = x − f (x) o como
g(x) = x + 3f (x).
Inversamente, si la función g tiene un punto fijo en p, luego la
función definida por f (x) = x − g(x) tiene un cero en p.
La forma de punto fijo, es en general más simple de analizar y muchas
elecciones de la función g derivan en poderosas herramientas de
búsqueda de raíces.
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Iteración de Punto Fijo: Condiciones
No todas las funciones tienen puntos fijos
Un punto fijo x0 se dice atractivo, si ∀x en el dominio bastante cercano
a x0 la sucesión al iterar la función: x, f (x), f (f (x)), f (f (f (x))), . . .
converge a x0 .
No todos los puntos fijos son atractivos. Será atractivo si f es
continuamente derivable en un entorno de x0 y si |f 0 (x0 )| < 1.
Para aproximar una función g, se elige una aproximación inicial p0 y se
genera una sucesión {pn }∞
n=1 mediante la iteración pn = g(pn−1 ), para
n ≥ 1.
Teorema: Si g ∈ C[a, b] y g(x) ∈ [a, b] ∀x ∈ [a, b], entonces g tiene un
punto fijo en [a, b]. Si, además, existe g 0 (x) en (a, b) y una constante
0 < k < 1 con |g 0 (x)| ≤ k , ∀x ∈ (a, b), entonces para cualquier número
p0 ∈ [a, b] la sucesión pn converge al único punto fijo p en [a, b].
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Iteración de Punto Fijo: Procedimiento Geométrico
Iteración de Punto Fijo
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Iteración de Punto Fijo: Algoritmo
Obtener p = g(p) dada una aproximación p0
ENTRADA: aproximación inicial p0 , tolerancia TOL, número máximo de iteraciones N
SALIDA: solución aproximada p o mensaje de error
Paso 1: Tomar i = 1
Paso 2: Mientras i ≤ N realizar pasos 3 a 6
Paso 3: Tomar p = g(p0 ) (calculo de pi )
Paso 4: Si |p − p0 | < TOL entonces
SALIDA (p) (algoritmo finalizado satisfactoriamente)
PARAR
Paso 5: Tomar i = i + 1
Paso 6: Tomar p0 = p (se define un nuevo valor inicial)
Paso 7: SALIDA (El algoritmo fracasó despues de iterar, N, veces) (algoritmo finalizado sin
éxito)
PARAR
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Iteración de Punto Fijo: Cotas del Error
Si se satisfacen las hipótesis del Teorema, luego las cotas del error al
aproximar p con pn están dadas por
|pn − p| ≤
kn
|p1 − p0 |,
1−k
∀n≥1
Observaciones: La desigualdad relaciona la tasa con la cuál la
sucesión converge a la cota k de la derivada primera.
La tasa de convergencia depende del factor k n . A menor valor de k ,
será más rápida la convergencia, la cúal será lenta al acercarse k a 1.
En general, la iteración de punto fijo converge linealmente.
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de Newton-Raphson: Interpretación Geométrica
Tal vez sea la técnica numérica más
conocida y poderosa para encontrar
raíces de funciones.
Gráficamente, la técnica consiste
en calcular la recta tangente a f que
pasa por el punto (p0 , f (p0 )), donde
p0 es una aproximación a la raíz
buscada.
f 0 (p0 ) =
f (p0 ) − 0
p0 − p1
despejando se obtiene la ecuación
de recurrencia
p1 = p0 −
Método de Newton-Raphson
f (p0 )
f 0 (p0 )
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de Newton-Raphson: Polinomio de Taylor
Puede obtenerse la ecuación de recurrencia mediante Taylor.
Sea f ∈ C 2 [a, b] y sea p0 ∈ [a, b] una aproximación a la solución p de
f (x) = 0 tal que f 0 (p0 ) 6= 0 y |p − p0 | pequeño.
El primer polinomio de Taylor para f (x) alrededor de p0 y evaluando
x =p
(p − p0 )2 00
f (p) = f (p0 ) + (p − p0 )f 0 (p0 ) +
f (ξ(p))
2
donde ξ(x) ∈ (p, p0 ). Dado que f (p) = 0, se obtiene
0 = f (p0 ) + (p − p0 )f 0 (p0 ) +
(p − p0 )2 00
f (ξ(p))
2
Resolviendo para p se tiene p ≈ p1 = p0 −
El Método de Newton resulta dado p0
pn = pn−1 −
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
f (pn−1 )
,
f 0 (pn−1 )
f (p0 )
.
f 0 (p0 )
n≥1
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de Newton-Raphson: Algoritmo
Obtener x tal que f (x) = 0 dada f diferenciable y una aproximación inicial p0
ENTRADA: aproximación inicial p0 , tolerancia TOL, número máximo de iteraciones N
SALIDA: solución aproximada p o mensaje de error
Paso 1: Tomar i = 1
Paso 2: Mientras i ≤ N realizar pasos 3 a 6
Paso 3: Tomar p = p0 − f (p0 )/f 0 (p0 ) (calculo de pi )
Paso 4: Si |p − p0 | < TOL entonces
SALIDA (p) (algoritmo finalizado satisfactoriamente)
PARAR
Paso 5: Tomar i = i + 1
Paso 6: Tomar p0 = p (se define un nuevo valor inicial)
Paso 7: SALIDA (El algoritmo fracasó despues de iterar, N, veces) (algoritmo finalizado sin
éxito)
PARAR
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de Newton-Raphson
Teorema: Sea f ∈ C 2 [a, b]. Si p ∈ [a, b] tal que f (p) = 0 y f 0 (p) 6= 0,
entonces existe un número δ > 0 tal que la serie que genera la
ecuación de recurrencia converge a p para cualquier aproximación
incial p0 ∈ [p − δ, p + δ].
Observaciones: Se puede concluir entonces, que bajo ciertas
condiciones el método de Newton converge si se parte de una
aproximación inicial suficientemente cercana. Dicha convergencia bajo
estas condiciones es en general cuadrática.
Fallas del método de Newton:
Cuando la raíz r tiene multiplicidad mayor a 1.
Cuando el punto inicial se encuentra cerca de un máximo o un
mínimo local.
Cuando la raíz es cercana a un punto de inflexión de la función.
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de la Secante
En muchos problemas, es difícil determinar f 0 (x) además de requerir
más operaciones que para evaluar f (x).
Para evitar calcular la derivada en el método de Newton Raphson, se
reemplaza:
f 0 (pn−1 ) =
f (x) − f (pn−1 )
x − pn−1
con
x → pn−1
Si se reemplaza x = pn−2 entonces
f 0 (pn−1 ) '
f (pn−1 ) − f (pn−2 )
pn−1 − pn−2
Reemplazando en la ecuación del método de Newton se obtiene,
reordenando
f (pn−1 )(pn−1 − pn−2 )
pn = pn−1 −
f (pn−1 ) − f (pn−2 )
El orden de convergencia será (1 < λ < 2) en general λ ' 1.6, se dice
entonces que la convergencia es superlineal.
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Método de la Secante: Algoritmo
Obtener x tal que f (x) = 0 dadas dos aproximaciones iniciales p0 y p1
ENTRADA: aproximaciones iniciales p0 , p1 , tolerancia TOL, número máximo de
iteraciones N
SALIDA: solución aproximada p o mensaje de error
Paso 1: Tomar i = 2; q0 = f (p0 ); q1 = f (p1 );
Paso 2: Mientras i ≤ N realizar pasos 3 a 6
Paso 3: Tomar p = p1 − q1 (p1 − p0 )/(q1 − q0 ) (calculo de pi )
Paso 4: Si |p − p1 | < TOL entonces
SALIDA (p) (algoritmo finalizado satisfactoriamente)
PARAR
Paso 5: Tomar i = i + 1
Paso 6: p0 = p1
q0 = q1
p1 = p
q1 = f (p)
Paso 7: SALIDA (El algoritmo fracasó despues de iterar, N, veces) (algoritmo finalizado sin
éxito) PARAR
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Ejemplo: Método de Bisección
Problema: Hallar un cero de la función f (x) = x 3 + 4x 2 − 10 en el intervalo
[1, 2] mediante el método de Bisección
Como f (1) = −5 y f (2) = 14, f (x) = 0 tiene un cero en [1, 2].
Se obtiene después de 13 iteraciones que p13 = 1.365112305.
El valor verdadero es p = 1.365230013. Luego, la cota del error y el
error son
E13 ≤ |p − p13 | ≤
2−1
≈ 1.2207 × 10−4
213
y
E ≤ |p − p13 | ≈ 1.1770 × 10−4
Para determinar el número de iteraciones para resolver f (x) = 0 en
[1, 2] con precisión 10−3 , se busca el entero N tal que
|pN − p| ≤ 2−N (b − a) = 2−N < 10−3
Luego se obtiene que N = 10 asegurará el error correspondiente.
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Capítulo 4: Aproximación de Raíces
Aproximación de Raíces
Ejemplo: Método de Punto Fijo
Problema: Resolver f (x) = x 3 + 4x 2 − 10 = 0 en [1, 2] con Punto Fijo
La ecuación tiene una raíz única en [1, 2].
Se pueden pensar diferentes opciones de punto fijo:
(a) x = g1 (x) = x − x 3 − 4x 2 + 10
(b) x = g2 (x) = 21 (10 − x 3 )1/2
(c) x = g3 (x) = x −
x 3 +4x 2 −10
3x 2 +8x
Con p0 = 1.5 se obtiene: (a) diverge, (b) converge en 30 iteraciones, (c)
converge en 4 iteraciones.
Caso (a): g1 no mapea [1, 2] en si mismo y además |g10 (x)| > 1 allí.
Caso (b): |g20 (x)| ≈ 2.12 falla la condición de cota. Debió considerarse
[1, 1.5].
Caso (c): Su convergencia rápida se debe a que esta elección de g3 es
la iteración para Newton.
Capítulo 4
MÉTODOS COMPUTACIONALES EN INGENIERÍA I
FAIN-UNCOMA
Descargar