Sei sulla pagina 1di 33

Ecuaciones Escalares No Lineales

Motivación: En muchas situaciones surge, de manera natural, el


cálculo de las raices de una ecuación no lineal en una variable,
f (x) = 0
• Ciertas ecuaciones no lineales pueden resolverse analiticamente:
2 1
6x2 − 7x + 2 = 0, ⇒ (3x − 2)(2x − 1) = 0, ⇒ x = , ,
3 2
cos 3x − cos 7x = 0, ⇒ 2 sin 5x sin 2x = 0
nπ nπ
⇒ x= , ,n ∈ Z
5 2
• Otras ecuaciones no lineales no tienen solución analitica,
√ 
x2 2 x
2 − 10 x + 1 = 0, cosh x + 1 − e + log | sin x| = 0.

• Muchas veces los coeficientes de las ecuaciones diferenciales se cono-


cen solo de forma aproximada, por lo que carecerı́a de sentido
un cálculo exacto. entonces es importante el estudio de métodos
numéricos para encontrar las soluciones ó raices de una ecuación:
f (x) = 0 donde que permitan aproximarlas con el grado de pre-
cisión deseado.
• Los métodos numéricos para buscar las raices de una ecuación no
lineal 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 con-
vergencia.

1
Etapas del Cálculo Aproximado de Raices

Definición: Se dice que x∗ es una raiz ó cero de la ecuación,


f (x) = 0
en el intervalo [a, b], si se satisface,
f (x∗) = 0, x∗ ∈ [a, b].
Evidentemente, en un intervalo una ecuación puede tener varias raices.

Etapas en el cálculo de raices: Podemos distinguir dos etapas


principales,
1. Separación de Raices: Se establecen subintérvalos de [a, b] que
contengan una y solo una raiz de la ecuación.
• Teorema de Bolzano: nos garantiza la existencia de raices.
• Teorema de Rolle: nos acota el número de raices que pueda
haber.
2. Cálculo de las Raices: En cada uno de los intérvalos se aplica
un proceso iterativo que conduce a una sucesión:
{xn }∞
n=0 −→ x0

que tiende al valor x0 de la raiz. Se toma como aproximación de la


solución un elemento de la sucesión próximo a la raiz.

2
Teorema de Bolzano

Teorema de Bolzano: Sea una función real f : [a, b] ⊂ R 7→ R


contı́nua. La función toma valores de signos opuestos en los extremos
del intervalo, es decir f (a) · f (b) < 0, entonces por lo menos existirá
un valor x∗ ∈ (a, b) tal que f (x∗) = 0.

1.0

0.8

0.6

0.4

0.2

−0.2

−0.4

−0.6

−0.8

−1.0
1 5 9 13 17 21 25 29 33

Figure 1: Ejemplo Teorema de Bolzano.

3
Teorema de Rolle

Teorema de Rolle: Sea una función real f : [a, b] ⊂ R 7→ R


contı́nua en el intervalo [a, b] y derivable en en intervalo (a, b). En-
tonces, si f (a) = f (b) existe al menos un punto intermedio u ∈ (a, b)
tal que f 0 (u) = 0.

f’(u)=0

f(a) f(b)

a b
Figure 2: Ejemplo Teorema de Rolle.

4
Ejemplos

A continuación damos algunos ejemplos de situaciones en las cuales se


puede argumentar sobre el número de raices de una función.

Ejemplo 1: Si f (x) es contı́nua y derivable en [a, b], f (a) · f (b) < 0


y f 0(x) tiene signo constante en (a, b), entonces f (x) tiene una única
raiz en (a, b).
Por una parte por el teorema de Bolzano se sabe que tiene que existir al
menos un x∗ en (a, b) tal que f (x∗) = 0. Veamos que la raiz es única.
Spongamos que existieran dos raices: x∗ y x∗∗. Entonces, aplicando
el teorema de Rolle se tiene que puesto que f (x∗) = 0 y f (x∗∗) = 0
existirá un punto en el que anule la primera derivada. Pero ello está
en contradicción con el hecho de que la función tiene signo constante.
La raiz x∗ es única.

f(b)
f’(x)>0

a f(x*)=0 b

f(a)

Figure 3: Ilustración del Ejemplo.

5
Ejemplos

Ejemplo 2: Si f (x) es contı́nua y derivable en [a, b], y f 0 (x) sólo se


anula en n puntos, entonces f (x) tendrá a lo sumo n + 1 puntos.
En efecto, si suponemos que f (x) se anula en n + 2 puntos entonces
aplicando el teorema de Rolle a cada par de puntos consecutivos en
los cuales se anula f (x) obtendriamos que f 0(x) se anularia en n + 1
puntos lo cual está en contradicción con la hipótesis de partida.

Ejemplo 3: Si f (x) es derivable con continuidad en [a, b] y f 00 tiene


un signo constante entonces f (x) tiene a lo sumo dos raices en [a, b].
En efecto, supongamos que f (x) tiene tres raices en [a, b]. Entonces
aplicando el teorema de Rolle se tiene que f 0(x) se anula en dos puntos.
Y aplicando el teorema de Rolle a la función f 0 (x) en el intervalo en
cuyos extremos se anula, llegarı́amos a que la función f 00 se anula en
un punto intermedio lo cual está en contradicción con la hipótesis de
partida.

6
Método de la Bisección

Objetivo: El objetivo es dada la función f (x) contı́nua en [a, b] tal


que f (a) · f (b) < 0, 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 sola raiz en [a, b].

Descripción:
• Está basado en el teorema de Bolzano.
• Dividimos el intervalo [a, b] en dos subintervalos iguales,
a+b a+b
],
[a, [ , b]
2 2
Pueden presentarse dos casos:
1. Si f ( a+b ∗
2 ) = 0, entonces x =
a+b
2 .
2. Si f ( a+b a+b a+b
2 ) 6= 0, entonces se elige el intervalo, [a, 2 ] ó [ 2 , b], en
cuyos extremos la función toma signos opuestos y de esta forma
se aplica otra vez el teorema de Bolzano.
• Reiterando el proceso anterior, ó bien obtenemos la raiz exacta ó
(k) (k)
bien una sucesión de intérvalos cerrados {[x1 , x2 ]}∞
n=0 encajados
(k+1) (k+1) (k) (k)
[x1 , x2 ] ⊂ [x1 , x2 ] que tienden hacia el valor de la raiz.
• Se toma como aproximación de la raiz el punto medio del intervalo
que cumpla la tolerancia τ deseada.
(k+1) (k+1)
∗ x2 + x1 (k+1) (k+1)
x = , |x2 − x1 |≤τ
2

7
Método de la Bisección

Cálculo del Número de Iteraciones: Dado el intervalo [a, b] y


dada la tolerancia ó error absoluto τ (e.g., 10−6) con el cual se quiere
calcular la raiz, nos preguntamos cuantas iteraciones son nece-
sarias?.
• Denominemos (0) = |b − a| el tamaño inicial del intérvalo.
• En la primera iteración la raiz se encuentra contenida en un inter-
valo cuyo tamaño es,
|b − a| 1 (0)
(1) = =  .
2 2
• Después de k iteraciones, el tamaño del intervalo que contiene a la
raiz será,
1 b−a
(k) = (k−1) = k .
2 2
• Para alcanzar la tolerancia deseada se tendrá que cumplir que la
longitud del intervalo (k) sea menor que τ ,
(k) < τ,

• Por tanto el número k de iteraciones requeridas para obtener la


tolerancia τ es,
(b − a)
k > log2 .
τ

8
Método de la Bisección

Ejemplo: Encontrar mediante el método de la bisección las raices


de la ecuación, √
3 sin x = cos x
en el intervalo [0, π/2] con una tolerancia de 10−4.

Solución: Este problema


√ es equivalente al de calcular las raices de
la función f (x) = 3 sin x − cos x en el intervalo [0, π/2]. La rep-
resentación gráfica de la función f (x) en el intervalo [0, π/2] indica
que existe √una única raiz. Por otra parte se tiene que f (0) = −1 y
f (π/2) = 3 entonces f (0) f (π/2) < 0. Por tanto se puede aplicar el
método de la bisección en el intervalo [0, π/2].
Veamos la ejecución de la función biseccion.sci al problema que nos
piden.
-->getf(’biseccion.sci’)

-->deff(’[y]=f(x)’, ’y = sqrt(3) * sin(x) - cos(x)’)

-->y =biseccion(f, 0, %pi /2, 10^(-4))


Numero de Iteraciones = 14
y =
0.5236148 // solucion
-->abs(%pi/6 - X)
ans =
0.0000160 // Comprobacion del error absoluto

9
biseccion.sci
function [z] = biseccion(f, xi, xd, tolerancia)
// Programa para calcular las raices de una funcion
// por el metodo de la biseccion
//
// UTILIZACION: z= biseccion(f, xi, xd, tolerancia)
// INPUT: f = funcion
// xi = extremo izquierdo del intervalo
// xd = extremo derecho del intervalo
// tolerancia = error absoluto
// OUTPUT: z = valor de la raiz
N = ceil( log((xd - xi) / tolerancia) / log(2));
for i=1:N
z= (xi + xd)/2;
t = f(xi) * f(z);
if t == 0 then break;
elseif t < 0 then xd = z; // raiz esta en [xi, z]
else xi = z; // raiz esta en [z, xd]
end;
end;
z= (xi + xd)/2;
printf(’Numero de Iteraciones=%3d’, N)

10
Método de Newton-Raphson

Objetivo: Dada la función f (x) contı́nua en [a, b] tal que f (a) f (b) <
0, calcular una aproximación a la raiz x∗ ∈ (a, b), f (x∗) = 0. Se supone
que f (x) tiene una única raiz en el intervalo [a, b].
f(x )
0

f(x1)

f(x2)
f(x*)=0
x* x 2 x1 x0

Figure 4: Ilustración del Método de Newton.

Fundamento: Consiste en ir aproximando de manera iterativa la


raiz de la ecuación.
• Se comienza tomando un valor inicial x(0) de prueba que se supone
está suficientemente cerca de la raiz x∗.
• La primera iteración consiste en tomar como aproximación el punto
x(1) de corte de la recta tangente a la gráfica de la función f (x) en
el punto x(0). La ecuación de esta recta es,
y = f (x(0)) + (x − x(0))f 0(x(0))
11
por tanto la intersección de la recta con el eje de abcisas es:
(1) (0) f (x(0))
x =x − 0 (0)
f (x )
• Reiterando este proceso sucesivamente se obtiene la fórmula,

(k+1) (k) f (x(k))


x =x − 0 (k) −→ x∗
f (x )

denominada iteración de Newton, que bajo ciertas hipótesis


de f (x) converge a la raiz al menos de forma cuadrática.
• El método de Newton equivale a tomar los dos primeros términos
de la serie de Taylor de la función, es decir,
f (x) = f (x(0)) + (x − x(0))f 0(x(0))
Despejando x se tiene,
(0) f (x(0))
x=x − 0 (0)
f (x )
y reiterando el proceso sucesivamente se obtiene la fórmula de it-
eración de Newton.

12
Método de Newton-Raphson

Test de Parada de las Iteraciones: El test más usual es parar


las iteraciones cuando se cumple,
|x(k+1) − x(k)| ≤ |x(k)|
donde  > 0 es la tolerancia en el error relativo.
• Este procedimiento funciona bien cuando la derivada de la función
f es pequeña en un entorno de la raiz.
• Cuando la derivada de la función f es grande en entornos de la raiz,
puede ocurrir que a valores próximos entre sı́ la función f les asigne
valores cuya diferencia sea grande. Por tanto en el caso de que |f 0|
no sea pequeño, una forma adecuada de ver si x(k) está próximo a
la raiz es comprobar si |f (x(k))| es pequeño.
Entonces, por prudencia (para evitar anormalidades) se exige,
|f (x(k))| ≤ .
En resumen, para actuar con cautela el consejo es parar las iteraciones
cuando los dos tests se cumplen y no detener el proceso si alguno de
los dos fallan.

13
Método de Newton-Raphson

Hipótesis: La convergencia del método de Newton se asegura me-


diante las siguientes hipótesis 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 contı́nuas.
• f (a)f (b) < 0.
• f 0 tiene signo constante en [a, b].
• f 00 tiene signo constante en [a, b].

Teorema: Si la función f : [a, b] 7→ R verifica las hipótesis anteri-


ores y tomamos x0 cualquier punto del intervalo [a, b] tal que,
signof (x0) = signof 00(x0)
entonces el método de Newton converge al menos cuadráticamente a
la única raiz de f (x) en [a, b].

Observación: La rápida convergencia cuadrática hace que el método


de Newton se utilice muy frecuentemente.

14
Se pueden presentar cuatro casos distintos:

f ∈ C 2[a, b]
6

3 f (a) < 0 < f (b)


f 0(x) > 0, x ∈ [a, b]
2

f 00(x) > 0, x ∈ [a, b]


0

−1

−2
1 5 9 13 17 21 25 29 33 37 41

Figure 5: CASO 1 Figure 6: CASO 1

f ∈ C 2[a, b]
2

−1 f (a) < 0 < f (b)


f 0(x) > 0, x ∈ [a, b]
−2

−3

f 00(x) < 0, x ∈ [a, b]


−4

−5

−6
1 5 9 13 17 21 25 29 33 37 41

Figure 7: CASO 2 Figure 8: CASO 2

f ∈ C 2[a, b]
2

−1 f (a) > 0 > f (b)


f 0(x) < 0, x ∈ [a, b]
−2

−3

f 00(x) < 0, x ∈ [a, b]


−4

−5

−6
1 5 9 13 17 21 25 29 33 37 41

Figure 9: CASO 3 Figure 10: CASO 3

f ∈ C 2[a, b]
6

3 f (a) > 0 > f (b)


f 0(x) < 0, x ∈ [a, b]
2

f 00(x) > 0, x ∈ [a, b]


0

−1

−2
1 5 9 13 17 21 25 29 33 37 41

Figure 11: CASO 4 Figure 12: CASO 4

15
Método de Newton-Raphson

Tipos de Convergencia:
• Qué significa convergencia cuadrática?.
• Se dice que una sucesión {sn }∞ n=0 converge a s con orden de con-
vergencia R, si existen las constantes positivas A 6= 0 y R > 0,
tales que
|s − sn+1| |En+1|
lim = lim =A
|s − sn |R |En |R
donde En = s − sn . Cuando R = 1 ó R = 2 se dice que la
convergencia es lineal ó cuadrática respectivamente.

16
Método de Newton-Raphson

Ejemplos de No Convergencia:
• El método de Newton puede diverger en diversas situaciones.
• Los problemas de convergencia ocurren cuando se toma un valor
inicial no muy cercano a la raiz, ó cuando la función tiene máximos,
minimos ó puntos de inflexión en un entorno de la raiz.
• EJEMPLO: Supongamos que se quiere calcular la raiz x∗ = 0 de
la ecuación x e−x = 0. Como se muestra en la Figura 13, aplicando
la iteración para el valor inicial x0 = 2, se obtiene una sucesión xk
que se aleja de la raiz y diverge a +∞.

−x
y= x e

x0=2 x 1= 4 x 2=5.33 x 3= 6.56

Figure 13: Divergencia de la Iteración de Newton

• EJEMPLO: Otro de los problemas que puede tener el método de


Newton es la existencia de singularidades en el entorno de la raiz.
La función f(x)=arctan(x) tiene un punto de inflexión en la raiz
x∗ = 0. La Figura 14 muestra que cuando se aplica la iteración
para el valor inicial x0 = 1.45 se obtiene una divergencia oscilante.

17
1.2

y = arctan(x)

x3 x1 x0 x2
−3 −2 −1 0 1 2 3

−1.2

Figure 14: Divergencia oscilante de la Iteración de Newton

• EJEMPLO: En el siguiente ejemplo, la existencia de máximos y


minimos cercanos a la raiz hacen que el método diverja. En la
Figura 15 se presenta la gráfica de la función f (x) = x3 − x − 3
aldrededor de la única raiz real x∗ = 1.67169. La iteración de
Newton con valor inicial x0 = 0 produce una sucesión xk ciclica
divergente.
x1 x2 x3 x4 x0
0

3
y=x−x−3

Figure 15: Divergencia ciclica de la Iteración de Newton

18
Método de Newton-Raphson

Observaciones:
• El método de Newton es muy rápido y eficiente.
• La covergencia es cuadrática.
• En general, hay garantia de convergencia. Depende de la forma que
adopta la función en las proximidades del punto de iteración.
• La convergencia es monótona cuando: f (x(0))·f 00(x(0)) > 0, y f 0 (x)
y f 00(x)no cambian de signo en el intervalo [x(0), x∗].
• La convergencia es oscilante cuando: f (x(0)) · f 00(x(0)) < 0, y f 0 (x)
y f 00(x)no cambian de signo en el intervalo [x(0), x(1)], x(0) ≤ x∗ ≤
x(1).

Teorema: El método de Newton-Raphson converge a una raiz x∗


de f (x) si:
• f (x) tiene dos derivadas contı́nuas en un entorno de x∗,
• f 0(x∗) 6= 0,
• la solución de partida x(0) está suficientemente próxima a x∗.

19
Método de Newton-Raphson

Raices Múltiples: Estamos considerando que las raices de la función


f (x) son simples, es decir que la derivada de la función en la raiz x ∗ es
diferente de cero, f 0 (x∗) 6= 0.
Se dice que una raiz x∗ de f (x) es múltiple con multiplicidad m > 1
si se cumple,
f (x∗) = 0, f 0(x∗) = 0, ..., f (m−1)(x∗) = 0, f (m)(x∗) 6= 0.
donde f (k) indica la derivada de orden k de la función.
Se demuestra que si x∗ es una raiz de f (x) de multiplicidad m entonces
podemos escribir,
f (x) = (x − x∗)m g(x),
donde g(x∗) 6= 0. Cuando la raiz es múltiple no se garantiza
la convergencia cuadrática.

Aplicación a las Raices Múltiples: Veamos como se aplica el


método de Newton a las raices múltiples. Una de las formas de resolver
el problema de las raices múltiples es considerar la función auxilar h(x)
definida por,
f (x)
h(x) = 0 .
f (x)
La función auxiliar h(x) cumple que si x∗ es una raiz de f (x) de multi-
plicidad m entonces x∗ es una raiz simple de h(x). La demostración
es muy sencilla y se deja al lector como ejercicio.

20
Entonces el cálculo de la raiz múltiple x∗ de f (x) se resuelve apli-
cando la iteración de Newton a la función auxiliar h(x).

(k+1) (k) f (x(k)) f (x(k))


x =x − 0 (k) 2
(f (x )) − f 0 (x(k))f 00(x(k))
Demostrar la fórmula anterior.
Si se conoce la multiplicidad m de la raiz múltiple es posible resti-
tuir la convergencia cuadrática del método de Newton considerando la
siguiente iteración,
(k+1) (k) f (x(k))
x =x − m 0 (k) .
f (x )

21
Ejemplo: Aplicar el método de Newton para calcular las raices
reales del polinomio p(x) = x6 + 6 x − 6.

Solución: La derivada del polinomio p0 (x) = 6(x5 + 1) es positiva


para x > −1 y negativa para x < −1. Por tanto el polinomio es una
función creciente en el intervalo (−1, ∞) y decreciente en el intervalo
(−∞, −1) La segunda derivada p00(x) = 30x4 es positiva en toda la
recta real. Por tanto es una función convexa.

70

60

50

40

30

20

10

−10

−20
−2.0 −1.6 −1.2 −0.8 −0.4 0 0.4 0.8 1.2 1.6 2.0

Figure 16: Polinomio p(x) = x6 + 6 x − 6.

Vease la figura. En cada uno de los intervalos [−2.0, −1.2] y [0.0, 2.0]
hay una única raiz. Se cumplen las hipótesis de la convergencia del
método de Newton en cada uno de los intervalos.

22
Aplicando en este caso particular la iteración de Newton:
f (xi)
xi+1 = xi −
f 0(xi)
se obtiene la siguiente fórmula iterativa:
x6i + 6 xi + 6 5 x6i − 6
xi+1 = xi − =
6 x5i + 6 6 x5i + 6

A continuación se calculan las dos raices reales que tiene el polinomio.

-->x=-2.0; z= 9999;
-->while abs(x-z)>0.000001,z=x;
x =(5*x^6+6)/(6*x^5+6); end;x
x =
- 1.5785343
-->x=0.0; z= 9999;
-->while abs(x-z)>0.000001,z=x;
x =(5*x^6+6)/(6*x^5+6); end;x
x =
0.9071313

23
En scilab las raices de un polinomio pueden calcularse mediante la
primitiva roots(). Comprobemos los resultados anteriores:
-->p=poly([-6 6 0 0 0 0 1], ’x’, ’c’)
p =
6
- 6 + 6x + x

-->roots(p)
ans =
! 0.9071313 !
! - 1.5785343 !
! - 0.6002956 + 1.4063424i !
! - 0.6002956 - 1.4063424i !
! 0.9359971 + 0.9570661i !
! 0.9359971 - 0.9570661i !
Comprobemos la convergencia cuadrática del método de Newton.
-->x=0; for i=1:10, x =(5*x^6+6)/(6*x^5+6), end;x
x =
1.
x =
0.9166667
x =
0.9072274
x =
0.9071313
El valor de x2 tiene 2 digitos correctos, x3 tiene 4 digitos correctos, x4
tiene 8 digitos correctos.
24
Ejemplo: Aplicar el método de Newton para calcular el inverso de
un número no nulo. Calcular el inverso de los números: 8, -0.5 y 1000.

Solución: El problema consiste en calcular la raiz de la ecuación:


1
f (x) = − a = 0,
x
donde a 6= 0 es el número cuyo inverso se requiere calcular. Utilizando,
para este caso particular, la iteración de Newton: xi+1 = xi − ff0(x i)
(xi ) se
obtiene la siguiente fórmula iterativa:
xi+1 = 2 xi − x2i a
A continuación se presenta la programación de la anterior iteración de
Newton y el cálculo de las raices de los números pedidos durante una
sesión de scilab.
-->x=0.0001; a=8; z= 9999;
-->while abs(x-z)>0.000001,z=x; x =2*x-x^2*a; end;x
x =
0.125
-->x=-0.0001; a=-0.5; z= 9999;
-->while abs(x-z)>0.000001,z=x; x=2*x-x^2*a; end;x
x =
- 2.
-->x=0.00001; a=1000; z= 9999;
-->while abs(x-z)>0.000001,z=x; x=2*x-x^2*a; end;x
x =
0.001
Comprobar que la convergencia de la iteración depende del valor inicial
de x.
25
Ejemplo: Aplicar el método de Newton para calcular la raiz cuadrada
de un número positivo. Calcular la raiz cuadrada de los números: 9, π
y 100.

Solución: El problema consiste en calcular la raiz de la ecuación:


f (x) = x2 − a = 0,
donde a 6= 0 es el número cuya raiz cuadrada se requiere calcular.
Utilizando, para este caso particular, la iteración de Newton:
f (xi)
xi+1 = xi −
f 0(xi)
se obtiene la siguiente fórmula iterativa:
x2i − a 1
 
a
xi+1 = xi − = xi +
2 xi 2 xi
-->x=0.0001; a=9; z = 9999;
-->while abs(x-z)>0.000001,z=x; x= (1/2)*(x+(a/x)); end; x
x =
3.
-->x=0.0001; a=%pi; z = 9999;
-->while abs(x-xi)>0.000001,z=x; x= (1/2)*(x+(a/x)); end; x
x =
1.7724539
-->x=0.0001; a=100; z = 9999;
-->while abs(x-z)>0.000001,z=x; x= (1/2)*(x+(a/x)); end; x
x =
10.

26
Ejemplo: Aplicar el método de Newton para calcular la raiz quinta
de un número positivo. Calcular la raiz quinta de los números: 32 y
105.

Solución: El problema consiste en calcular la raiz de la ecuación:


f (x) = x5 − a = 0,
donde a 6= 0 es el número cuya raiz quinta se requiere calcular. Uti-
lizando, para este caso particular, la iteración de Newton:
f (xi)
xi+1 = xi −
f 0(xi)
se obtiene la siguiente fórmula iterativa:
x5i − a 1
 
a
xi+1 = xi − = 4 xi + 4
5 x4i 5 xi
-->x=0.0001; a=32; xi= 9999;
-->while abs(x-xi)>0.000001,xi=x;x=(1/5)*(4*x+(a/x^4));
end;x
x =
2.
-->x=0.0001; a=10^ 5; xi= 9999;
-->while abs(x-xi)>0.000001,xi=x;x=(1/5)*(4*x+(a/x^4));
end;x
x =
10.

27
Método de la Secante

Fundamento: Es una versión del método de Newton. La diferencia


principal con el método de Newton es que en este método la pendiente
de la lı́nea recta se discretiza de acuerdo con,
0 f (x(k)) − f (x(k−1) )
(k)
f (x ) =
x(k) − x(k−1)

f(x )
x (0) x (2) x (3) x* x (4)
x (1)

Figure 17: Ilustración del Método de la Secante.

28
Descripción del Método:
• El método de la secante se inicia con dos puntos x(0) y x(1) para
comenzar la primera iteración.
• La formula iterativa se obtiene tomando la abcisa del punto de
intersección con el eje x de la lı́nea que pasa por los puntos,
(x(k−1), f (x(k−1))), (x(k), f (x(k)))
la ecuación de la lı́nea es,
(k) (k) f (x(k)) − f (x(k−1))
(k)
y (x) = f (x ) + (x − x )
x(k) − x(k−1)
la condición y (k)(x(k+1)) = 0 implica,

(k+1) (k) (k) x(k) − x(k−1)


x =x − f (x ) .
f (x(k)) − f (x(k−1))

Observaciones:
• El método de la secante y el de Newton convergen bajo las mismas
condiciones.
• El método de la secante evita conocer explicitamente la derivada
de la función.
• De todas las variaciones del método de Newton, el método de la
secante es el que converge más rápido.

29
Método de Newton-Raphson

Sistemas de Ecuaciones No Lineales: Al igual que para una


sola ecuación no lineal, el método de Newton para sistemas de ecua-
ciones no lineales se basa en tomar los dos primeros términos en la serie
de Taylor de las funciones y resolver. Sea el sistema de dos ecuaciones
no lineales,
f1 (x1, x2) = 0
f2 (x1, x2) = 0
(0) (0)
Sea (x1 , x2 ) una solución inicial aproximada. Tomamos los dos
primeros términos de la serie de Taylor de las funciones en el punto
(1) (1)
(x1 , x2 ) e igualando a cero se tiene,
(1) (1) (0) (0) (1)
∂f1 (0) (1) (0)
∂f1
0 = f1 (x1 , x2 ) ≈ f1 (x1 , x2 ) + (x1 − x1 ) ∂x 1
+ (x 2 − x 2 ) ∂x2
(1) (1) (0) (0) (1)
∂f2 (0) (1) (0)
∂f2
0 = f2 (x1 , x2 ) ≈ f2 (x1 , x2 ) + (x1 − x1 ) ∂x 1
+ (x 2 − x 2 ) ∂x 2

La ecuación anterior puede ponerse bajo forma matricial,


" #
(1) (0)  
x1 − x 1 f (x , x )
(1) (0) = −J −1 1 1 2
x2 − x 2 f2 (x1, x2)

donde J es la matriz Jacobiana de las funciones f1 y f2 ,


" #
∂f1 ∂f1
∂x1 ∂x2
J= ∂f2 ∂f2
∂x1 ∂x2

Evidentemente es necesario que la matriz J sea no-singular.

30
Método de Newton-Raphson

Algoritmo: Entonces, el método de Newton para dos ecuaciones no


lineales en dos variables consiste en comenzar a partir de una solución
(0) (0)
inicial aproximada (x1 , x2 ) y aplicar la iteración siguiente:
" # " # " #
(k+1) (k) (k) (k)
x1 x1 −1 f1(x1 , x2 )
(k+1) = (k) − J · (k) (k)
x2 x2 f2(x1 , x2 )

31
Método de Newton-Raphson

Ejemplo de Sistemas de Ecuaciones No Lineales: Sea el


sistema de ecuaciones no lineales,
f1(x1, x2) = x1 − x32 + 5x22 − 2x2 − 13 = 0
f2(x1, x2) = x1 + x32 + x22 − 14x2 − 29 = 0
Calcular una solución del sistema tomando como valores iniciales x 1 =
6 y x2 = 5.

Solución: La matriz Jacobiana del sistema es,


" # 
∂f1 ∂f1 2

1 −3x + 10x 2 − 2
J(x1, x2) = ∂x 1 ∂x2
∂f2 ∂f2 = 2
2

∂x ∂x
1 3x2 + 2x2 − 14
1 2

Aplicando las iteraciones de Newton,


" # " # " #
(k+1) (k) (k) (k)
x1 x1 −1 (k) (k) f1 (x1 , x2 )
(k+1) = (k) − J (x 1 , x 2 ) (k) (k)
x2 x2 f2 (x1 , x2 )
(0) (0)
con las condiciones iniciales x1 = 6 y x2 = 5, se obtiene que converge
hacia la solución x1 = 5 y x2 = 4.

32
En el siguiente fichero se ha cargado un programa que calcula la it-
eración de Newton para el problema anterior.

x=[6, 5];
deff(’[y]=f(x)’,’y=[ x(1)-x(2)^3+5*x(2)^2-2*x(2)-13,
x(1)+x(2)^3+x(2)^2-14*x(2)-29]’);
for i=1:4,
J(1,1)=1; J(1,2)=-3*x(2)^2+10*x(2)-2;
J(2,1)=1; J(2,2)=3*x(2)^2+2*x(2)-14;
x = x - f(x) * inv(J)’
end; x
A continuación se muestra la rápida convergencia del método de New-
ton hacia la solución:

-->exec(’sisnewton’)
x =
! 2.6122449 4.244898 !
x =
! 4.8262832 4.0202435 !
x =
! 4.9987174 4.0001558 !
x =
! 4.9999999 4. !
x =
! 4.9999999 4. !

33

Potrebbero piacerti anche