Metodos Numéricos Tema: Solución de ecuaciones no lineales

Anuncio
Metodos Numéricos
Tema: Solución de ecuaciones no lineales
Irene Tischer
Escuela de Ingeniería y Computación
Universidad del Valle, Cali
Typeset by FoilTEX 1
Métodos numéricos
Tema: Sistemas Lineales
Contenido
1. Generalidades
2. El método de Bisección
3. El método de Newton-Raphson
4. Sistemas de ecuaciones no lineales
Typeset by FoilTEX 2
Métodos numéricos
Tema: Sistemas Lineales
Contenido
1.
Generalidades
2. El método de Bisección
3. El método de Newton-Raphson
4. Sistemas de ecuaciones no lineales
Typeset by FoilTEX 3
Métodos numéricos
1. Generalidades
Tema: Sistemas Lineales
Motivación
En muchas situaciones surge, de manera natural, el cálculo de las raíces de una
ecuación no lineal en una variable,
f (x) = 0
Ciertas ecuaciones no lineales pueden resolverse analíticamente:
6x2 − 7x + 2 = 0
⇒
(3x − 2)(2x − 1) = 0
cos 3x − cos 7x = 0 ⇒ 2 sin 5x sin 2x = 0
⇒
⇒
x = 23 , 12
x=
nπ nπ
5 , 2 ,n
∈Z
Otras ecuaciones no lineales no tienen solución analítica:
x2
2
− 10 x + 1 = 0,
cosh
³p
x2 + 1 − e
x
´
+ log | sin x| = 0
Muchas veces los coecientes de las ecuaciones no lineales se conocen solo de
forma aproximada, por lo que carecería de sentido un cálculo exacto.
Typeset by FoilTEX 4
Métodos numéricos
Tema: Sistemas Lineales
1. Generalidades
Cálculo aproximado de raíces
Entonces es importante el estudio de métodos numéricos para encontrar las
soluciones ó raíces de una ecuación:
f (x) = 0 en [a, b]
que permitan aproximarlas con el grado de precisión deseado.
Los métodos numéricos para buscar la ó las raíces de una ecuación no lineal
f (x) = 0
están basados en técnicas iterativas:
Comenzando por una solución aproximada, se utiliza un algoritmo numérico que
mejora la solución hasta que se satisface un determinado criterio de convergencia.
Typeset by FoilTEX 5
Métodos numéricos
Tema: Sistemas Lineales
1. Generalidades
Etapas del cálculo aproximado de raíces
En el cálculo aproximado de raíces de una ecuación,
f (x) = 0 en [a, b]
podemos distinguir dos etapas principales,
1.
Separación de raíces: Se establecen subintérvalos de [a, b] que contengan
una y solo una raíz de la ecuación.
Teorema de Bolzano: nos garantiza la existencia de raíces.
Teorema de Rolle: nos acota el número de raíces que pueda haber.
2.
Cálculo de las raíces: En cada uno de los intervalos se aplica un proceso
iterativo que conduce a una sucesión: {xn}∞
n=0 que tiende al valor de la raíz.
Se toma como aproximación de la solución un elemento de la sucesión próximo
a la raíz.
Typeset by FoilTEX 6
Métodos numéricos
1. Generalidades
Tema: Sistemas Lineales
Teorema de Bolzano
Sea f una función real, continua en el intervalo [a, b]. Si el signo de f cambia
en los extremos del intervalo, es decir si f (a)f (b) < 0, entonces f tiene por lo
menos una raíz en (a, b).
f
raiz
a
b
Figura 1. El teorema de Bolzano
Typeset by FoilTEX 7
Métodos numéricos
1. Generalidades
Tema: Sistemas Lineales
Teorema de Rolle
Sea f una función real, continua y diferenciable en el intervalo [a, b]. Si f (a) =
f (b), entonces existe u en (a, b) tal que f 0(u) = 0.
f’HuL=0
fHbL
fHaL
a
Typeset by FoilTEX Figura 2. El teorema de Rolle
u
b
8
Métodos numéricos
Tema: Sistemas Lineales
1. Generalidades
Uso de los teoremas de Bolzano y Rolle
1. Una función real diferenciable monótona en el intervalo [a, b], que cambia de
signo en los extremos, tiene exactamente una raíz.
2. Si f es continua y diferenciable en [a, b] y si f 0 tiene n raíces, entonces f tiene
a lo sumo n + 1 raíces.
3. Si la segunda derivada f 0 de f tiene signo constante, entonces f tiene a lo
sumo 2 raíces.
Typeset by FoilTEX 9
Métodos numéricos
Tema: Sistemas Lineales
Contenido
1. Generalidades
2.
El método de Bisección
3. El método de Newton-Raphson
4. Sistemas de ecuaciones no lineales
Typeset by FoilTEX 10
Métodos numéricos
Tema: Sistemas Lineales
2. El método de Bisección
Objetivo
Dada la función f (x) continua en [a, b] tal que f (a)f (b) < 0, el objetivo es
encontrar x∗ ∈ (a, b) tal que f (x∗) = 0 y en su defecto una aproximación cuyo
error absoluto sea menor que una tolerancia τ deseada. Se supone que hay una
raíz y solo una en el intervalo [a, b].
Typeset by FoilTEX 11
Métodos numéricos
2. El método de Bisección
Tema: Sistemas Lineales
Procedimiento
El método de bisección está basado en el teorema de Bolzano que garantiza la
existencia de una raíz en [a, b] si hay cambio de signo de f .
Partiendo del intervalo inicial, el método de bisección construye un sucesión de
intervalos siempre más pequeños que contiene una raíz ya que se mantiene el
cambio de signo (gura 3).
0
0.75
1.125
1.5
3
intervalo iteracion 1
intervalo iteracion 2
intervalo iteracion 3
Figura 3. Tres pasos de bisección para la función f (x) = x2 − 2,
empezando en el intervalo [0,3].
Typeset by FoilTEX 12
Métodos numéricos
2. El método de Bisección
Tema: Sistemas Lineales
Procedimiento
(continuación)
Iniciamos con el intervalo [a, b], el punto intermedio x =
mación inicial de la raíz.
a+b
es la aproxi2
Pueden presentarse dos casos:
1. f (x) = 0, entonces se encontró una raíz exacta: x = x∗ =
a+b
.
2
2. f (x) 6= 0. entonces se elige aquel intervalo [a, x] ó [x, b], en cuyos extremos
la función toma signos opuestos. De esta forma se aplica otra vez el teorema
de Bolzano.
Reiterando el proceso anterior ó bien obtenemos la raíz exacta ó bien una
sucesión de intervalos cerrados encajados que tienden hacia el valor de la raíz.
Se toma como aproximación de la raíz el punto medio del intervalo obtenido
en la última iteración.
Typeset by FoilTEX 13
Métodos numéricos
Tema: Sistemas Lineales
2. El método de Bisección
Análisis del error
Sea L = L(0) = b − a el tamaño inicial del intervalo.
Después de la primera iteración, k = 1, la raíz se encuentra contenida en un
intervalo cuyo tamaño es
(1)
L
b − a 1 (0)
=
= L .
2
2
Después de la k -ésima iteración, el tamaño será,
b−a
1
L(k) = L(k−1) = k .
2
2
Esto signica que la sucesión de intervalos construida por el método de bisección,
se contrae a un solo punto, que es una raíz exacta de la función f .
Typeset by FoilTEX 14
Métodos numéricos
2. El método de Bisección
Tema: Sistemas Lineales
Análisis del error
(continuación)
La aproximación de la raíz en la k -ésima iteración es el punto medio del intervalo
xk . Por eso, el error es menor o igual que la mitad de la longitud del intervalo.
ε0 = |x0 − x∗| ≤
L
;
2
L(1)
L
ε1 = |x1 − x | ≤
= 2;
2
2
∗
...
L
L(k)
= k+1 .
εk = |xk − x | ≤
2
2
∗
El error converge a 0, es decir, el método de bisección converge a la raíz verdadera.
La convergencia es lenta, en cada iteración el error se reduce a la mitad.
Typeset by FoilTEX 15
Métodos numéricos
2. El método de Bisección
Tema: Sistemas Lineales
Tolerancia
El comportamiento del error permite calcular con anticipación el número de
iteraciones requeridas para obtener una aproximación con una tolerancia τ deseada.
Sea τ la tolerancia deseada, es decir, se debe iterar hasta que |x − x∗| ≤ τ,
Después de la k -ésima iteración tenemos |x − x∗| ≤
Seleccionando kmax tal que
la tolerancia deseada τ .
b−a
2kmax+1
L(k)
2
=
b−a
2k+1
≤ τ, se obtiene un error por debajo de
Por eso, para el número kmax de iteraciones requeridas para obtener la
tolerancia τ se debe cumplir:
kmax + 1 ≥
Typeset by FoilTEX log2 b−a
τ
o sea
kmax
¡
¢
b−a
= (int) log2 τ
16
Métodos numéricos
2. El método de Bisección
Tema: Sistemas Lineales
Algoritmo BISECCIÓN
Entrada:
la función f ; el intervalo [a, b]; la tolerancia τ .
Salida:
solución aproximada o exacta o mensaje de fracaso
Paso 1:
Si f (a) · f (b) ≥ 0 ,
si la función no cambia de signo,
devuelva Mensaje de fracaso
Paso 2:
`
´
b−a
kmax ← (int) log2 τ
para k = 1 hasta kmax haga
si f (x) = 0, devuelva x
si f (a) · f (x) < 0, entonces b ← x
sino a ← x
el método de bisección no funciona
kmax es el número de iteraciones
iterar hasta llegar a la tolerancia τ
se encontró una raíz exacta
se sigue con el intervalo,
donde hay cambio de signo
(n para)
Paso 3:
devuelva x .
Typeset by FoilTEX x es la aproximación de la raíz
17
Métodos numéricos
Tema: Sistemas Lineales
2. El método de Bisección
Ejemplo
Determinar la raíz de la función f denida por f (x) := x2 − 2 con una tolerancia
τ = 0.01, empezando con el intervalo [0, 2].
Typeset by FoilTEX 18
Métodos numéricos
2. El método de Bisección
Tema: Sistemas Lineales
Solución
Paso 1:
f (0) = −2, f (2) = 2, es decir tenemos signos opuestos.
`
´
kmax = (int) log2 b−a
= (int) (log2 200) = 7.
τ
Se necesitan 7 iteraciones
Paso 2:
Iteración
it.
a
b
x
f (a)
f (b)
f (x)
err.
0
0
2
1
-2
2
-1
1
1
1
2
1.5
-1
2
0.25
2−1
2
1
1.5
1.25
-1
0,25
-0.4375
2−2
3
1.25
1.5
1.375
-0.4375
0.25
-0.109375
2−3
4
1.375
1.5
1.4375
-0.109375
0.25
0.06640625
2−4
5
1.375
1.4375
1.40625
-0.109375
0.06640625
-0.0224609375
2−5
6
1.40625
1.4375
1.421875
-0.0224609375
0.06640625
0.021728515625
2−6
7
1.40625
1.421875
1.4140625
-0.0224609375
0.021728515625
-0.00042724609375
2−7
Paso 3:
Obtenemos la aproximación de la raíz x = 1,4140625 con una
1
=0.0078125).
7
2
√
En comparación: la solución exacta es 2 = 1,414213562...
tolerancia τ = 0.01 (el error verdadero es ≤
Typeset by FoilTEX 19
Métodos numéricos
Tema: Sistemas Lineales
2. El método de Bisección
Observaciones generales
1. Si la función f es continua y cambia de signo en el intervalo [a, b], el método
de bisección converge a una raíz (gura 4a).
2. Si la función f es continua y no cambia de signo en el intervalo [a, b], el
método de bisección no funciona. Es decir, el método no es capaz de encontrar
la raíz en la situación de la gura 4b.
3. Si la función f no es continua, el método encuentra un punto de discontinuidad
donde la función cambia de signo (gura 4c). Un seguimiento de los valores de
f (x) muestra si se trata de una raíz o una discontinuidad.
4. Si la función f es continua y cambia de signo en el intervalo [a, b], el método
encuentra una raíz de la función. Si f tiene varias raíces, se es importante
separarlas para poder controlar el procesos (gura 4d).
Typeset by FoilTEX 20
Métodos numéricos
Tema: Sistemas Lineales
2. El método de Bisección
Comportamientos del método de bisección
0
2
a) Se cumplen los supuestos, el método
c) El método de bisección encuentra la
converge.
discontinuidad
0
2
b) La función no cambia de signo, el método de
d) Si hay varias raíces en el intervalo, el método
bisección no funciona.
de bisección encuentra una de ellas.
Figura 4. El método de bisección en diferentes situaciones
Typeset by FoilTEX 21
Métodos numéricos
Tema: Sistemas Lineales
Contenido
1. Generalidades
2. El método de Bisección
3.
El método de Newton-Raphson
4. Sistemas de ecuaciones no lineales
Typeset by FoilTEX 22
Métodos numéricos
3. El método de Newton-Raphson
Tema: Sistemas Lineales
Desarrollo de la fórmula de Newton - Raphson
El método de Newton-Raphson es un proceso iterativo para encontrar una aproximación a la raíz de una función.
Se basa en el teorema de desarrollo de Taylor: Si f es una función de C 2 (es
decir, dos veces continuamente derivable), se puede desarrollar f en un punto x
para obtener su valor en la raíz x∗:
∗
∗
0
¡
∗
2
0 = f (x ) = f (x) + (x − x)f (x) + O (x − x)
¢
Ignorando el residuo se obtiene
0 = f (x∗) ≈ f (x) + (x∗ − x)f 0(x)
Resolviendo la ecuación obtenemos
x∗ ≈ x −
Typeset by FoilTEX f (x)
f 0(x)
23
Métodos numéricos
3. El método de Newton-Raphson
Tema: Sistemas Lineales
Aplicación iterativa de la fórmula
de Newton - Raphson
Método de Newton - Raphson:
Se comienza tomando un valor inicial x0 de prueba que se supone está
sucientemente cerca de la raíz x∗.
Se itera usando la fórmula
xk+1 = xk −
Typeset by FoilTEX f (xk )
.
0
f (xk )
24
Métodos numéricos
Tema: Sistemas Lineales
3. El método de Newton-Raphson
Interpretación gráca
La primera iteración consiste en tomar como aproximación el punto x1 de corte
de la recta tangente a la gráca de la función f (x) en el punto x1. La ecuación
de esta recta es y = f (x0) + (x − x0)f 0(x0).
Por tanto la intersección de la recta con el eje de abscisas es x1 = x0 −
f (x0 )
f 0 (x0 ) .
Reiterando este proceso sucesivamente se obtiene la sucesión de valores xk .
12.5
10
7.5
5
2.5
0
x0=3
Figura 5. El método x1=1.8333
de Newton-Raphson
-2.5
fHxL
para la función-5f (x) = x2gHxL
− 2, usando el punto inicial x0 = 3.
Typeset by FoilTEX 25
Métodos numéricos
Tema: Sistemas Lineales
3. El método de Newton-Raphson
Condiciones de parada para el método de Newton
Se usan 3 diferentes condiciones de parada:
1. En términos del error aproximativo relativo:
la tolerancia deseada.
|xk+1 − xk |
≤ τx, donde τx es
|xk+1|
2. En términos del valor de la función en la aproximación: |f (xk )| ≤ τf , donde
τf signica la desviación máxima de 0.
3. En términos del número de iteraciones: esta condición que garantiza que el
algoritmo para, aun que no converge.
En resumen, para actuar con cautela el consejo es parar las iteraciones cuando los
dos tests se cumplen o cuando se han realizado el número de iteraciones.
Typeset by FoilTEX 26
Métodos numéricos
3. El método de Newton-Raphson
Tema: Sistemas Lineales
Algoritmo NEWTON - RAPHSON
Entrada:
la función f y su derivada f 0 ; las tolerancia τx , τf ;
el número máximo de iteraciones kmax ; una aproximación inicial x0 de la raíz.
Salida
solución aproximada; condición de parada activa
Paso 1
k ← 1; x1 ← x0 −
f (x0 )
f 0 (x0 )
inicialización; se manejan las variables
x1 : aproximación actual
x0 : aproximación anterior
Paso 2
mientras
„
|x1 − x0 |
> τx
|x1 |
«
si no se cumple la
condición de parada
∨ |f (x1 )| > τf
∧ k < kmax
x0 ← x1 ; x1 ← x0 −
„
Paso 3
si
f (x0 )
;
f 0 (x0 )
k ← k + 1;
determinar nueva aproximación
(n mientras)
|x1 − x0 |
≤ τx ∧ |f (x1 )| ≤ τf
|x1 |
«
devuelva parada por tolerancia
mensaje de acuerdo a
la condición de parada
si no devuelva parada por número de iteraciones
devuelva x1 .
Typeset by FoilTEX x1 es aproximación de la raíz
27
Métodos numéricos
3. El método de Newton-Raphson
Tema: Sistemas Lineales
Ejemplo
Aplicar el método de Newton - Raphson a la función f (x) = x2 − 2, iniciando
en el punto x0 = 1, usando las tolerancias τx = 10−5, τf = 10−5 y un número
máximo de 50 iteraciones.
Solución
f (x0 )
f 0 (x0 )
|x1 − x0|
|x1|
it.
x0
f (x0)
f (x0)
1
1
-1
2
1.5
0.33333333
2
1.5
0.25
3
1.41666667
0.29411765
3
1.41666667
0.00694445
2.83333334
1.41421569
0.00173310
4
1.41421569
0.00000602
2.82843138
1.41421356
0.00000151
0
x1 = x0 −
Después de 4 iteraciones se alcanza una aproximación con las tolerancias
deseadas. La aproximación de la raíz ya coincide en los 8 primeros decimales
con el valor verdadero.
♦
Typeset by FoilTEX 28
Métodos numéricos
Tema: Sistemas Lineales
3. El método de Newton-Raphson
Análisis del error y convergencia
Deniendo el error en la k -ésima iteración como ²k := xk − x∗ y suponiendo que
f ∈ C 2 con f 0(r) 6= 0 se tiene por el desarrollo de Taylor
1
0 = f (x∗) = f (xk − ²k ) = f (xk ) − ²k f 0(xk ) + ²2k f 00(ξk ) con ξk entre xk y
2
∗
x ; es decir
1 2 00
0
²k f (xk ) − f (xk ) = ²k f (ξk )
2
De ahí se obtiene para el error de la iteración k + 1:
f (xk )
²k f 0(xk ) − f (xk ) ²2k f 00(ξk
f (xk )
∗
− x = ²k − 0
=
=
²k+1 = xk+1 − r = xk − 0
0
f (xk )
f (xk )
f (xk )
2f 0(xk )
²2k f 00(ξk ) ²2k f 00(r)
2
es decir: ²k+1 =
≈
=
C²
k.
0
0
∗
2f (xk )
2f (x )
Esto signica que el error en la iteración k + 1 es proporcional al cuadrado de
error en la iteración k. Por eso se habla de convergencia cuadrática. Este hecho
permite derivar el siguiente teorema:
Typeset by FoilTEX 29
Métodos numéricos
3. El método de Newton-Raphson
Tema: Sistemas Lineales
Teorema (convergencia en una vecindad de la raíz)
Sea f ∈ C 2 y x∗ una raíz simple de f (es decir, f 0(x∗) 6= 0). Entonces el método
de Newton-Raphson converge para todos los puntos en una vecindad de la raíz.
El teorema es de poca aplicabilidad práctica, porque garantiza convergencia en una vecindad,
pero no la especica. La gura 6 muestra una situación, donde el método de Newton no converge,
ya que se selecciona el punto inicial x0 NO sucientemente cercano a la raíz. El siguiente teorema
garantiza la convergencia si se cumplen ciertas hipótesis sobre la función f .
fHxL
g2HxL
g1HxL
Figura 6. El método de Newton-Raphson diverge, ya que el punto inicial x0
x0
x1
x2
no se encuentra sucientemente cercano a la raíz.
Typeset by FoilTEX 30
Métodos numéricos
Tema: Sistemas Lineales
3. El método de Newton-Raphson
Supuestos
La convergencia del método de Newton se asegura mediante los siguientes
supuestos sobre la función f : [a, b] 7→ R.
f ∈ C 2[a, b], es decir las funciones derivadas de f hasta el orden 2 son
continuas.
f (a)f (b) < 0.
f 0 tiene signo constante en [a, b].
f 00 tiene signo constante en [a, b].
Teorema
(Convergencia del método de Newton-Raphson)
Si la función f : [a, b] 7→ R verica los supuestos anteriores y tomamos x0 el
extremo del intervalo [a, b] tal que,
signof (x0) = signof 00
entonces el método de Newton converge al menos cuadráticamente a la única raíz
de f (x) en [a, b].
Typeset by FoilTEX 31
Métodos numéricos
Tema: Sistemas Lineales
3. El método de Newton-Raphson
Ventajas y desventajas del método de
Newton-Raphson
Resumiendo se puede decir: Si el método de Newton converge, la convergencia es
generalmente rápido (cuadrático). Pero se puede obtener divergencia, si el punto
inicial no está seleccionado apropiadamente.
Typeset by FoilTEX 32
Métodos numéricos
3. El método de Newton-Raphson
Tema: Sistemas Lineales
El método de la secante
Si no se dispone de la derivada de la función f , o si la derivada es difícil de
evaluar, se puede utilizar una aproximación numérica de la derivada:
f (xk ) − f (xk−1)
f (xk ) ≈
xk − xk−1
0
Remplazando la derivada en la fórmula de Newton-Raphson por esta aproximación,
se obtiene el método de la secante:
xk+1 = xk − f (xk )
xk − xk−1
.
f (xk ) − f (xk−1)
Obviamente se requiere denir dos puntos iniciales x0 y x1.
Typeset by FoilTEX 33
Métodos numéricos
3. El método de Newton-Raphson
Tema: Sistemas Lineales
Interpretación gráca
La interpretación gráca de este método ilustra la gura 7. Dadas las aproximaciones xk y xk−1 de la raíz, obtenidas en los dos últimas iteraciones se construye
la recta que coincide con f en estos puntos. La nueva aproximación es la raíz de
esta recta.
f
x0=0
x2
x3
x4
x1=3
Figura 7. El método de la secante para la función f (x) = x2 − 2.
Los puntos iniciales son x0 = 0 y x1 = 3.
Typeset by FoilTEX 34
Métodos numéricos
3. El método de Newton-Raphson
Tema: Sistemas Lineales
Ejemplo
Aplicar el método de la secante a la función f (x) = x2 − 2, iniciando con x0 = 0
y x1 = 3.
Solución
−x0
3−0
3
x2 = x1 − f (x1) f (xx11)−f
(x) = 3 − f (3) f (3)−f (0) = 3 − 7 7−(−2)) =
x3 = x2 −
−x1
f (x2) f (xx22)−f
(x1 )
=2−
2
2
3 −3
f ( 3 ) f ( 2 )−f (03)
3
2
3
= 1,0909.
La sucesión (xk ) de aproximaciones de la raíz que se obtiene es:
0, 3, 0.6667, 1.0909, 1.5517, 1.3974, 1.1434, 1.4142....
Se observa, que el método de la secante se comporta muy parecido al método
de Newton-Raphson: converge muy rápido.
Typeset by FoilTEX 35
Métodos numéricos
Tema: Sistemas Lineales
3. El método de Newton-Raphson
La situación con raíces múltiples
La situación con raíces múltiples requiere atención especial.
Si la función f tiene una raíz x∗ con multiplicidad par, f no cambia el signo en
un entorno de x∗, es decir, el método de bisección no es aplicable (ver gura
4b).
Si x∗ tiene multiplicidad m > 1,no se cumplen los supuestos del teorema de
convergencia en una vecindad. No se puede garantizar convergencia cuadrática
en una vecindad de la raíz, generalmente, el método de Newton-Raphson se
vuelven lento. Esto se debe al hecho, que la derivada f 0 de f también tiene
una raíz en x∗, es decir se aproxima la raíz, usando rectas con pendientes
siempre más pequeños.
Por la misma razón, el método de la secantes es lento para m > 1: las
pendientes de las secantes que usa el método, convergen a 0.
Typeset by FoilTEX 36
Métodos numéricos
Tema: Sistemas Lineales
3. El método de Newton-Raphson
Ejemplo
La función f (x) := (x − 1)3(x − 3) tiene raíz triple en x = 1. Aplicar el método
de Newton-Raphson iniciando en el punto x0 = 0.
Solución
Aplicando el método de Newton-Raphson se obtiene las siguientes aproximaciones
de la raíz:
0, 0.3, 0.5148, 0.6666, 0.7727, 0.8460, 0.8961, 0.9302, 0.9532, 0.9687, 0.9791,
0.9860, 0.9907, 0.9938, 0.9958, 0.9972, 0.9982, 0.9988, 0.9992, 0.9995, 0.9996,
...
Se observa que la convergencia es muy lenta.
Typeset by FoilTEX 37
Métodos numéricos
Tema: Sistemas Lineales
3. El método de Newton-Raphson
Modicaciones del método de Newton-Raphson para
la búsqueda de raíces múltiples
Variante 1.
Si se conoce la multiplicidad m de la raíz se puede aplicar la fórmula modicada:
xk+1
Typeset by FoilTEX f (xk )
= xk − m 0
.
f (xk )
38
Métodos numéricos
3. El método de Newton-Raphson
Tema: Sistemas Lineales
Modicaciones del método de Newton-Raphson para
la búsqueda de raíces múltiples (continuación)
Variante 2.
f (x)
tiene las mismas raíces que f ,
0
f (x)
se aplica el método de Newton-Raphson a u para obtener las raíces de f .
Observando que la función u(x) :=
Aplicando la regla del cociente se obtiene:
d
0
u (x) =
dx
„
f (x)
f 0(x)
«
f 0(x)f 0(x) − f (x)f 00(x)
=
(f 0(x))2
u(x)
f (x)f 0(x)
⇒ 0
=
u (x) (f 0(x))2 − f (x)f 00(x)
y se obtiene la fórmula modicada
xk+1 = xk −
Typeset by FoilTEX f (x)f 0(x)
2
(f 0(x))
−
f (x)f 00(x)
.
39
Métodos numéricos
Tema: Sistemas Lineales
3. El método de Newton-Raphson
Ejemplo
Aplicar los métodos modicados para raíces múltiples a la función
f (x) := (x − 1)3(x − 3) iniciando en el punto x0 = 0.
Typeset by FoilTEX 40
Métodos numéricos
Tema: Sistemas Lineales
3. El método de Newton-Raphson
Solución
Las derivadas de f son:
f 0(x) := 2(x − 1)2(2x − 5)
f 00(x) := 12(2 − 3x + x2)
Typeset by FoilTEX 41
Métodos numéricos
Tema: Sistemas Lineales
3. El método de Newton-Raphson
Solución: Variante 1
La raíz x∗ = 1 tiene multiplicidad m = 3, por eso se aplica la fórmula
xk+1
f (xk )
(xk − 1)3(xk − 3)
= xk − 3 0
= xk − 3
.
2
f (xk )
2(x − 1) (2x − 5)
Iniciando en x0 = 0 se obtiene
f (x0)
−9
(0 − 1)3(0 − 3)
x1 = x0 − 3 0
=
= 0,9.
=0−3
2
f (x0)
2(0 − 1) (2 0 − 5) −10
(0,9 − 1)3(0,9 − 3)
f (x1)
= 0,9 − 3
= 0,9984
x2 = x1 − 3 0
f (x1)
2(0,9 − 1)2(2 0,9 − 5)
f (x2)
(0,9984 − 1)3(0,9984 − 3)
x3 = x2 − 3 0
= 0,9984 − 3
= 1.
f (x2)
2(0,9984 − 1)2(2 0,984 − 5)
Se observa que el método modicado converge muy rápido a la raíz múltiple.
Typeset by FoilTEX 42
Métodos numéricos
3. El método de Newton-Raphson
Tema: Sistemas Lineales
Solución: Variante 2
Iniciando en x0 y aplicando la fórmula modicada
xk+1 = xk −
se obtiene
x1 = x0 −
= x0 −
f (x)f 0(x)
f (x0)f 0(x0)
2
(f 0(x0))
((x0 −
2
(f 0(x)) − f (x)f 00(x)
)f 00(x
=
− f (x0
0)
(x0 − 1)3(x0 − 3)(x0 − 1)2(2x0 − 5)
1)2(2x
0
2
− 5)) − (x0 −
1)3(x
0
− 3)12(2 − 3x0 +
x2 )
= 1,0714
y de manera análoga:
x2 = 1,0009; x3 = 1.
Otra vez se verica la convergencia rápida del método.
Typeset by FoilTEX 43
Métodos numéricos
Tema: Sistemas Lineales
Contenido
1. Generalidades
2. El método de Bisección
3. El método de Newton-Raphson
4.
Sistemas de ecuaciones no lineales
Typeset by FoilTEX 44
Métodos numéricos
4. Sistemas de ecuaciones no lineales
Tema: Sistemas Lineales
El problema multidimensional
Generalizando el caso undimensional, se busca la solución de un sistema de n
ecuaciones en n variables:
f1(x1, x2, . . . , xn) = 0
f2(x1, x2, . . . , xn) = 0
...
fn(x1, x2, . . . , xn) = 0
En forma compacta se puede escribir el sistema como
−
→
F [X] = 0
−
→
donde X = [x1, x2, . . . , xn]; 0 es el vector de n componentes iguales a 0 y


f1(X)
 f2(X) 
n
n
.
F la función de R → R denida por F (X) = 
...


fn(X)
Typeset by FoilTEX 45
Métodos numéricos
4. Sistemas de ecuaciones no lineales
Tema: Sistemas Lineales
El problema multidimensional
(continuación)
Se debe encontrar la intersección de los conjuntos de las raíces de cada ecuación,
un problema difícil en el caso no lineal ya que las ecuaciones no son relacionadas
entre sí (gura 8). Generalmente ni siquiera se sabe, cuantas soluciones tiene el
sistema.
Si las funciones f1,f2, ..., fn son lineales, el problema es más sencillo: se busca
la solución del sistema lineal
a11x1 + a12x + . . . + a1nxn − b1 = 0
a21x1 + a21x + . . . + a2nxn − b2 = 0
...
an1x1 + an2x2 + . . . , +annx − bn = 0
problema que se resuelve con los métodos estándares de algebra matricial.
Typeset by FoilTEX 46
Métodos numéricos
Tema: Sistemas Lineales
4. Sistemas de ecuaciones no lineales
Enfoque: Linealización del problema
Dado que el problema de resolver sistemas de ecuaciones lineales es más fácil,
los métodos númericos para sistemas no lineales se basan en la linealización del
problema:
Se aproxima el sistema no lineal por uno lineal, que se resuelve más facilmente.
La solución del sistema lineal es una aproximación del sistema no lineal. 1
La linealización hace uso de la generalización del teorema de Taylor para el caso
multidimensional. Como en el cso de una dimension, el desarrollo de Taylor de
orden 1 aproxima la función por una función lineal.
1
en lo que sigue se discute el caso dos dimensional, la generalización a más dimensiones es obvia.
Typeset by FoilTEX 47
Métodos numéricos
4. Sistemas de ecuaciones no lineales
Tema: Sistemas Lineales
Ejemplo
Resolver el sistema:
c − (x1 − 2)2 + (x2 − 2)2 = 0
x1
sen(x1 x2) + c = 0
(c es un número real)
x2 + 1
Las funciones correspondientes son:
f1(x1, x2) = c − (x1 − 2)2 + (x2 − 2)2
x1
f2(x1, x2) =
sen(x1 x2) + c
x2 + 1
y el sistema correspondiente se escribe como
·
F (X) =
f1(X)
f2(X)
Typeset by FoilTEX "
¸
=
2
2
c − (x1 − 2) + (x2 − 2) f1(X)
x1
sen(x1 x2) + c
x2 + 1
#
−
→
= 0
48
Métodos numéricos
Tema: Sistemas Lineales
Ejemplo
4. Sistemas de ecuaciones no lineales
(continuación)
En la gura siguiente (gura 8) se hace evidente la dicultad de un procedimiento
analítico para la solución del problema. Se muestran las 2 funciones y sus lineas
de nivel. Las soluciones del sistema corresponden a las intersecciones de las lineas
de nivel 0 de llas dos funciones.
Se observa como se varian las soluciones para diferentes valores del parámetro
c. No existe relación geométrica que se puede aprovecha en un algoritmo que
localiza las raíces.
Typeset by FoilTEX 49
Métodos numéricos
4. Sistemas de ecuaciones no lineales
Tema: Sistemas Lineales
f1(x1, x2) = c − (x1 − 2)2 + (x2 − 2)2
4
3
4
2
2
4
0
3
-2
-4
0
1
2
1
1
2
0
0
3
40
a) La gráca tridimensional de f1
1
2
3
4
b) Las líneas de nivel de la función f1
x1
f2(x1, x2) =
sen(x1 x2 ) + c
x2 + 1
4
3
3
2
1
0
-1
0
2
4
3
1
2
1
1
2
0
0
3
40
c) La gráca tridimensional de f2 .
1
2
3
4
d) Las líneas de nivel de la función f2 .
Figura 8.
Typeset by FoilTEX 50
Métodos numéricos
Tema: Sistemas Lineales
4. Sistemas de ecuaciones no lineales
Teorema (desarrollo de Taylor)
Si F : Rn → Rnes dos veces continuamente diferenciable, X ∈Rn,
entonces:
F (X0 + H) = F (X0) + OF |X0 · H + R1
donde para el residuo R1 se tiene: R1 = O(kHk 2).
·
¸
h1
Aquí H =
es el paso: h1 para la variable x1
h
·
¸ 2
a
a
es el gradiente.
,
ax1 ax2

af1 af1
·
¸
 ax
ax2
f1
1

Dado que F =
, se obtiene OF = 
f2
 af2 af2
ax1 ax2
de F .
Typeset by FoilTEX y h2 para x2.; O =



 la matriz jacobiana

51
Métodos numéricos
4. Sistemas de ecuaciones no lineales
Tema: Sistemas Lineales
Desarrollo del método de Newton-Raphson para
sistemas de ecuaciones
El método de Newton se puede generalizar al caso de sistemas de ecuaciones no
lineales, basado en el teorema de Taylor para el caso multidimensional:
−
→
Sea X = X0 + H una raíz de F , entonces F (X ) = F (X0 + H) = 0 , y
∗
∗
con el teorema de Taylor se obtiene:
−
→
0 = F (X) ≈ F (X0) + J |X0 · H
Observese que la ecuación anterior es un sistema lineal de ecuaciones para
determinar el vector desconicido H,es decir, linealizamos el problema original. Si
la jacobiana J |X0 no es singular, se puede resolver este sisterma, multiplicando la
−1
anterior ecuación con su inversa (J |X0 ) , y se obtiene:
−
→
−1
−1
0 ≈ (J |X0 ) F (X0) + H ⇒ H ≈ − (J |X0 ) F (X0) .
y la nueva aproximación de la raíz X ∗es
X1 = X0 + H.
Typeset by FoilTEX 52
Métodos numéricos
Tema: Sistemas Lineales
4. Sistemas de ecuaciones no lineales
Método de Newton-Raphson en varias dimensiones
Inicia con una aproximación de la raíz X0
En cada iteración:
Xk+1 = Xk + H.
¡ ¯ ¢−1
F (Xk )
donde H = − J ¯Xk
Typeset by FoilTEX 53
Métodos numéricos
4. Sistemas de ecuaciones no lineales
Tema: Sistemas Lineales
Ejemplo
Aplicar el método de Newton-Raphson para resolver el sistema
x1 + 4x22 + 4x2
= −1
x21 + 2x22 + x1 − x2 = 0
·
iniciando en el punto X0 =
Typeset by FoilTEX −0,5
0,5
¸
.
54
Métodos numéricos

Tema: Sistemas Lineales


Solución
4. Sistemas de ecuaciones no lineales

2
 f1(x1, x2)   x1 + 4x2 + 4x2 + 1 
F (X) = 
=
.
f2(x1, x2)
x21 + 2x22 + x1 − x2
Las derivadas parciales de f1y f2 respecto a x1 y x2 son:
a
a
f1(x1, x2) = 1;
f1(x1, x2) = 8x2 + 4
ax1
ax2
a
a
f2(x1, x2) = 2x1 + 1;
f2(x1, x2) = 4x2 − 1
ax1
ax2


1
8x2 + 4 

la matriz jacobiana por ende es: J |X = 

2x1 + 1 4x2 − 1
Typeset by FoilTEX 55
Métodos numéricos
»
Empezando en X0 =
Solución
–
−0,5
0,5
(continuación)
obtenemos:
Primera iteración:
»
4. Sistemas de ecuaciones no lineales
Tema: Sistemas Lineales
–
»
–
` ˛ ´−1
8
1
−8
F (X0) =
; J X0 =
⇒ J ˛ Xk
=
;
1
0
1
»
–
»
–
` ˛ ´−1
−5,5
−6
⇒ H = − J ˛ Xk
F =
=⇒ X1 = X0 + H =
.
0,25
0,75
3,5
−0,25
–
Segunda iteración:
»
F (X1) =
»
0,25
30,375
–
; JX 1 =
»
»
1
0
1
−11
10
2
–
–
0,01780571 −0,0892857
1
0,0982143
0,00892857
»
–
»
–
2,70759
−3,29241
⇒H =
⇒ X2 = X1 + H =
.
−0,295759
0,454241
−1
⇒ JX
=
Typeset by FoilTEX 56
Métodos numéricos
4. Sistemas de ecuaciones no lineales
Tema: Sistemas Lineales
Solución
(continuación)
De manera análoga se procede en las iteraciones siguientes, obteniendo
·
·
¸
·
¸
−1,36419
−1,09826
; X5 =
;
0,0997861
0,0287798
·
¸
·
¸
·
¸
−1,01216
−1,00024
−1
X6 =
; X7 =
; X8 =
,
0,00365759
0,0000730198
0
X3 =
−1,98026
0,236523
¸
; X4 =
lo que es una solución exacta del sistema.
Typeset by FoilTEX 57
Métodos numéricos
Tema: Sistemas Lineales
4. Sistemas de ecuaciones no lineales
Condiciones de parada
Las condiciones de parada equivalen a aquellas desarrolladas para el caso de una
dimensión, reemplazando el valor absoluto por una norma vectorial:
1. En términos del error aproximativo relativo:
la tolerancia deseada.
kXk+1 − Xk k
< τx, donde τx es
kXk+1k
2. En términos del valor de la función en la aproximación: kf (Xk )k < τf , donde
τf signica la desviación máxima de 0.
3. El número de iteraciones.
Typeset by FoilTEX 58
Métodos numéricos
Tema: Sistemas Lineales
4. Sistemas de ecuaciones no lineales
Algoritmo de NEWTON para sistemas de ecuaciones
Entrada:
la función multidimensional F ; la matriz jacobiana de F ;
las tolerancias τx , τf ; el número máximo de iteraciones kmax .
una aproximación inicial X0 de la raíz.
Salida:
solución aproximada; condición de parada activa
Paso 1
−1
k ← 1; H = −JX
F (X0);
Paso 2
Paso 3
0
X1 ← X0 + H ;
„
«
kX1 − X0k
> τx ∨ kF (X1)k > τf
∧ ( k < kmax)
mientras
kX1k
X0 ← X1 ;
−1
H ← −JX0 F (X0);
X1 ← X0 + H ;
k ←k+1
„
«
kX1 − X0k
si
≤ τx y kF (X1)k ≤ τf
devuelva parada por tolerancia
kX1k
si no
devuelva parada por número de iteraciones
devuelva X1 .
Typeset by FoilTEX 59
Descargar