Вы находитесь на странице: 1из 17

Captulo 4

Solucin de Ecuaciones Nolineales


Suponga que f es una funcin continua digamos . Deseamos calcular
soluciones de la ecuacin escalar nolineal

f(x) = 0 (4.1)

Ms general an, podemos considerear el caso en que donde n1. Entonces


(4.1) representa un sistema de ecuaciones nolineales. Problemas del tipo (4.1) aparecen
en la optimizacin de funciones y en la solucin numrica de problemas de frontera
nolineales. En este captulo enfocaremos ms en el problema escalar y discutiemos los
apectos bsicos del caso de sistemas de ecuaciones.

Mtodo de la Biseccin

Este mtodo tiene como base motivavin el Teorema (1.3), Teorema del Valor
Intermedio. En particular, si f es una funcin continua digamos , y a, b son
dados tales que f(a)f(b)0, entonces definimos c=(a+b)/2. Si f(c)=0, entonces
terminamos. De lo contrario remplazamos a b con c manteniendo la diferencia en
signos, etc. Esto nos lleva al siguiente pseudo algortmo llamado el Mtodo de la
Biseccin:

Suponga que es una funcin continua y que a, b son dados tales que
f(a)f(b)0 y >0 es tambin dado (criterio de paro).

1. Sean a1=a, b1=b, n=1.

2. Defina cn=(an+bn)/2.

3. Si bn-cn, entonces aceptamos cn como una raiz aproximada y paramos el


proceso.

4. Si signo(f(bn))signo(f(cn))0, entonces ponemos an+1=cn. De lo contrario


ponemos bn+1=cn.

5. Ponga n=n+1, y vuelva a (2).

Ejemplo 1: Considere la funcin f(x)=x2+x-1. Note que como f(0)=-1 y f(1)=1, tenemos
que existe una raiz de la ecuacin f(x)=0 en el intervalo (0,1). Vamos a aproximar esta
raiz con el mtodo de la biseccin. Los resultados son como sigue:

n an bn cn f(an) f(bn) f(cn)


1 0 1 0.5 -1 1 0.25

2 0 0.5 0.25 -1 0.25 -0.69

3 0.25 0.5 0.375 -0.69 0.25 -0.48

4 0.375 0.5 0.4375 -0.48 0.25 -0.37

5 0.4375 0.5 0.46875 -0.37 0.25 -0.31

La solucin correcta a seis cifras calculada con la funcin fzero de MATLAB es


0.618034. Podemos ver que el mtodo de la biseccin aunque progresa hacia la
solucin, lo hace un tanto lento. Veamos ahora por que esto es asi analizando la
convergencia del mtodo.

Anlisis de Error: Como f(a)f(b)0, sabemos que existe un nmero tal que
f()=0. Mediante induccin matemtica es fcil ver que

(4.2)

Esto es asi ya que el largo del intervalo se divide a la mitad cada ves que pasamos por el
paso (2) del algortmo. Nuevamente usando induccin matemtica obtenemos que

(4.3)

Observe que como tenemos que

(4.4)
Combinando (4.3) y (4.4) obtenemos que

(4.5)

lo cual implica que segn . La convergencia en (4.5) es lo que se conoce


como convergencia lineal con taza razn de convergencia . De la desigualdad (4.5)
podemos estimar el nmero de iteraciones necesarias para obtener que . En
particular si requerimos que , obtenemos que

(4.6)

Basados en este anlisis de convergencia podemos hacer las siguientes observaciones:

El mtodo tiene convergencia segura! Esto es dada la condicin inicial


f(a)f(b)0, el mtodo converge a una raiz en [a,b]. Esta propiedad conocida
como convergencia global es una de las caractersticas fuertes del mtodo de la
biseccin y la mayoria de los mtodos no la poseen.

El error en las aproximaciones generadas por el mtodo se reduce a la mitad en


cada paso.

La convergencia lineal caracterizada por la ecuacin (4.5) es lenta comparada


con otros mtodos. Esto es asi ya que el mtodo solo usa evaluaciones de la
funcin y comparaciones. Veremos que usando derivadas mas infoormacin de
la funcin f, podemos asi obtener mtodos ms rpidos.

El mtodo de la biseccin no generaliza al caso de sistemas nolineales debido a que no


es posible una generalizacin del Teorema (1.3) a funciones vectoriales de variable
vectorial.

Mtodo de Newton

Suponemos ahora que la funcin f es diferenciable e incorporamos informacin de la


derivada en el mtodo. Sea pues fC1. La recta tangente a f en el punto (x0,f(x0)) esta
dada por la ecuacin . Ahora aproximamos a f con esta recta
y definimos x1 como el intercepto en x de la recto, esto es:

(4.7)

Este proceso lo podemos repetiir ahora con el punto (x1,f(x1)), etc., obteniendo asi la
recursin
(4.8)

Esta recursin define el Mtodo de Newton y es un ejemplo de una iteracin de punto


fijo.

Aplicacin 1

Vamos a suponer que queremos calcular el cociente a/b usando solo las operaciones
. En la mayoria de las computadoras las operaciones se implementan a
nivel de "hardware" mientras que la divisin se hace mediante programado (software)
utilizando . Note que como , entonces es suficiente discutir el
computo de reciprocos. Si definimos la funcin f(x) por

(4.9)

entonces es la raiz de f(x)=0. Usando que , el mtodo de Newton


para la ecuacin f(x)=0 toma la forma:

(4.10)

la cal envuelve unicamente . Note que

de donde obtenemos la frmula

(4.11)

i.e,

(4.12)

Esta frmula, exacta en este caso, aplica en general al mtodo de Newton pero
asintoticamente segn se converge a la raiz (demostracin ms adelante). De la
ecuacin (4.12) obtenemos que segn si y solo si , i.e.,

(4.13)
Cmo seleccionamos x0 para que cumpla con (4.13)? Bueno la parte de x0>0 es simple
de verificar. Cmo saber si x0<(2/b) cuando no conocemos 2/b? Note que si x0>0,
entonces

Asi que si , entonces sabemos que . En esta caso reducimos x0,


digamos a x0/2, y empezamos las iteraciones de nuevo. Note que despes de esta etapa
inicial, la convergencia es bin rpida, de hecho cuadrtica de acuerdo a la ecuacin
(4.12). Esto es, en cada iteracin el nmero de cifras significativas se duplica.

Vamos ahora a precisar la nocin de rpidez o orden de convergencia de una sucesin.

Definicin (4.1): Suponga que la sucesin converge al nmero . Decimos que


converge a con orden p1 si existen M,N0 tales que

(4.14)

El nmero p, que no tiene que ser un entero, se llama el orden de convergencia. Si p=2
la convergencia se llama cuadrtica. Si p=1 y M<1 la convergencia se llama lineal con
taza o razn de convergencia M.

Nota: Mientras ms grande sea p, ms rpido converge la sucesin a . Si p=1,


mientras ms pequeo sea M, ms rpido converge la sucesin.

Aplicacin 2

Vamos a discutir ahora el problema de calcular raices cuadradas. Defina para a>0 la
funcin la cual tiene como una de sus raices . Dado que
tenemos que el mtodo de Newton aplicado a la ecuacin f(x)=0 toma la forma:

(4.15)

Tenemos ahora el siguiente resultado sobre la convergencia de estas iteraciones.

Teorema (4.1): La sucesin (xn) definida por la iteracin (4.15) converge a para
cualquier x0>0 con orden de convergencia de dos.

Demostracin: Si x0>0 y a>0 entonces sigue de (4.15) que xn>0 para toda n0. Adems
(4.16)

De aqui y como xn>0, obtenemos que para toda n1. Ahora (4.15) se puede
rescribir como

(4.17)

Esto combinado con para toda n1 implica que para toda n1.
Tenemos pues que (xn) esta acota inferiormente por y es decreciente de modo que es
convergente. Falta ver que converge a . Sea el limite de (xn). Entonces dejando
en la ecuacin (4.17) obtenemos que , i.e, . Pero como xn>0
para toda n0, tenemos que , i.e., . La convergencia cuadrtica de la
sucesin sigue ahora de la expresin (4.16).

Nuevamente vemos convergencia cuadrtica del mtodo de Newton. Veamos ahora el


resultado general.

Teorema (4.2) (Convergencia Local del Mtodo de Newton): Suponga que es


una funcin C2 en una vecindad del nmero para el cual . Entonces
si x0 se selecciona suficientemente cerce de , las iteraciones del Mtodo de Newton
convergen a . Adems

(4.18)

es decir, (xn) converge a con orden de convergencia p=2.

Demostracin: Usando el Teorema de Taylor podemos escribir

(4.19)

donde esta entre y xn. Como y es continua, existe un intervalo I


alrededor de x= tal que para . Defina ahora el nmero M por

(4.20)
el cual existe y es finito (por qu?). Si , podemos despejar para en (4.19)
obteniendo asi que

(4.21)

Definimos ahora el intervalo por

(4.22)

Veamos ahora que si , entonces para toda n0. De hecho de (4.21) tenemos

que si , entonces . Multiplicando por M ambos lados


obtenemos que

(4.23)

Ahora como , tenemos que . Tambin de (4.23) obtenemos


que , i.e, . Combinando esto con obtenemos
que . De aqui que si entonces las iteraciones del Mtodo de Newton estan
bien definidas, permanecen en , y (4.23) implica que

(4.24)

Si de modo que , entonces (4.24) implica que y la

convergencia es de orden dos ya que . Para terminar note que


(4.21) se puede escribir como

(4.25)

Dejando y usando que , y por consiguiente , y la continuidad de


, obtenemos la expresin (4.18).

La seleccin del punto inicial x0 que garantice la convergencia del Mtodo de Newton
es un asunto notrivial. Cualquier estimado o conocimiento previo de la localizacin de
la raiz debe utilizarce para asegurar la convergencia del mtodo. Por ejemplo una
grfica de la funcin f podria arrojar una idea sobre la raiz. Luego de esto se puede
utilizar un mtodo como la biseccin para corregir la aproximacin y pasarla entonces
al mtodo de Newton. Esto asemeja a los mtodos predictor-corrector comunes en la
solucin numrica de ecuaciones diferenciales ordinarias.
Una ves tenemos un mtodo iterativo como el de Newton que no tiene en general una
expresin como (4.6) para predecir el nmero de iteraciones necesarias para lograr un
error pre-determinadado, cmo detenemos las iteraciones? Veamos ahora un criterio
heurstico para detener el mtodo. Suponiendo que las iteraciones (xn) estan "cerca" de
la raiz , podemos escribir

(4.26)

Asi que si tenemos aproximadamente t cifras significativas en xn


como aproximacin de .

Mtodo de la Secante

La motivacin del mtodo de la secante viene de que en ocaciones es complicado


quizas imposible calcular la derivada de la funcin f en el mtodo de Newton. Por
ejemplo la funcin f podra estar especificada por un nmero discreto de puntos dada
por un programa de computadora. En tales situaciones el mtodo de Newton se hace
impractico y buscamos un mtodo intermedio entre el de la biseccin y el de Newton.
Para esto suponemos que tenemos dos aproximaciones x0, x1 de la raiz . Podemos
ahora construir la secante a la funcin f en los punto (x0,f(x0)), (x1,f(x1)), la cual esta
dada por:

(4.27)

Definimos la nueva aproximacin x2 como el intercepto en x de esta secante, i.e.,

(4.28)

Este proceso lo podemos repetir ahora con x1, x2 para generar x3, etc. Obtenemos asi la
recurcin que define el Mtodo de la Secante:

(4.29)

El mtodo de la secante es un ejemplo de un mtodo iterativo de dos puntos ya que


predice en el paso n+1 basado en la informacin obtenida en los pasos n, n-1. Note
tambin que

(4.30)
de modo que el mtodo de la secante se puede ver como una discretizacin del mtodo
de Newton.

El anlisis de convergencia del mtodo de la secante es un tanto ms complicado que el


del mtodo de Newton y requiere del concepto de diferencias divididas las cuales se
discuten en el Cpitulo 5. Usando propiedades de las diferencias dividas se puede
demostrar que las iteraciones del mtodo de la secante satisfacen:

(4.31)

donde esta entre xn-1, xn y y pertenece al intervalo minimo que contiene a xn-1, xn,
.Usando esta frmula se puede demostrar el siguiente teorema.

Teorema (4.3) (Convergencia Local del Mtodo de la Secante): Suponga que


es una funcin C2 en una vecindad del nmero para el cual .
Entonces si x0, x1 se seleccionan suficientemente cerce de , las iteraciones del Mtodo
de la Secante convergen a . Adems

(4.32)

donde .

Demostracin (borrador): Vamos a suponer que las iteraciones convergen. Entonces de


(4.31), para n suficientemente grande, podemos escribir

(4.33)

Multiplicando esta aproximacin por M en ambos lados, definiendo


, y convirtiendo la aproximacin en una igualdad, obtenemos la
relacin:

(4.34)

donde por conveniencia hemos tomado F0=F1=1. La iteracin (4.34) define los nmeros
de Fibonachi y es bien conocido que para n grande:

(4.35)

Asi que
(4.36)

donde usamos la notacin . Ahora podemos escribir

(4.37)

lo cual nos da en forma asinttica la frmula (4.32).

En la siguiente tabla resumimos las propiedades de los mtodos de Newton y de la


Secante:

Mtodo Taza de convergencia Evaluaciones (funcin y/o derivada)

Newton Dos 1 para f; 1 para

Secante 1.62 1 para f

Si es dificil o imposible de evaluar, entonces el mtodo de la secante podra ser ms


conveniente que el de Newton. Muchas veces f esta dada por una tabla o programa de
computadora lo que hace el calculo de imposible. Si es accesible y
computacionalmete viable, entonces el mtodo de Newton es preferible por su
convergencia rpida. Note que en ambos mtodos aproximamos la funcin original por
una funcin lineal a la cual es fcil de calcular sus raices.

Raices Multiples

En ambos de los Teoremas (4.2) y (4.3) tenemos la condicin que


garantiza que la funcin f(x) corta el eje de "x" en en forma transversal. Cuando
esta condicin de transversalidad no se cumple en la raiz , entonces el mtodo
numrico puede diverger o si converge lo hace ms lento que en el caso transversal.
Vamos a estudiar esta situacin en mas detalles en particular para el mtodo de Newton.

Sea f una funcin, un nmero real tal que , y m un entero positivo. Decimos
que es una raiz de f de multiplicidad m si existe una funcin g(x) tal que
(4.38)

Si m=1 decimos que la raiz es simple. Tenemos ahora:

Teorema (4.4): Sea y . Entonces es raiz de f de multiplidad m


si y solo si

(4.39)

Demostracin: Supongamos que (4.39) es cierta. Por el Teorema de Taylor tenemos que
podemos escribir:

Como , esta entre y x, y , tenemos que para x


suficientemente cerca de la funcin . Asi que con , la
ecuacin (4.38) se cumple, i.e., es raiz de f de multiplicidad m.

Suponga que por el contrario, (4.38) es dado donde . Entonces usando la


regla de Leibnitz obtenemos que

(4.40)

Si y , entonces y (4.40) implica que Si


k=m, entonces (4.40) se puede escribir como

Note que al evaluar en los terminos en la sumatoria son todos cero ya que las
potencias de son todas positivas. De modo que tenemos que
. Combinando esto con lo anterior, obtenemos (4.39).

Ejemplo 2: Para f(x)=(x-2)3(x-1)2 tenemos que =2 es raiz de f de multiplicidad 3 y


que =1 es raiz de multiplicidad 2. Para la funcin f(x)=sen(x) tenemos que =0 es
una raiz de f. Ademas con
tenemos que =0 es raiz simple de f.

Cuando los mtodos de Newton la Secante se utilizan en problemas con raices


multiples, la convergencia si alguna se hace ms lenta. Por ejemplo si consideramos el
problema de buscar las raices de la ecuacin x3=0 usando el mtodo de Newton,
entonces las iteraciones de Newton estan dadas por la recursin:

Como =0 es la nica solucin en este caso, vemos que el mtodo tiene convergencia
lineal en este problema. En general se puede demostrar que si x= es una raiz de
multiplicidad m de la ecuacin f(x)=0, entonces las iteraciones del mtodo de Newton
convergen localmente a la raiz x= y satisfacen

(4.41)

i.e., la convergencia es lineal si m>1 con taza o razn de convergencia . Note que si
m>2, entonces >1/2 y el mtodo de la biseccin es en general ms rpido que el de
Newton.

Otro problema con el clculo de raices multiples es provocado por la aritmtica finita de
la computadora y el hecho de que la funcin f no cruza el eje de x transversalmente en
x= . Esto hace que el intervalo de incertidumbre para el clculo de la raiz sea mucho
mayor de lo que sera para una raiz simple.

Cmo podemos entonces calcular raices multiples en forma efectiva? Si la


multiplicidad m de la raiz es conocida, entonces podemos mejorar la convergencia del
mtodo de Newton de dos formas:

1. Calculamos la sucesin (xn) mediante la recurrencia

(4.42)

Se puede demostrar (ver ) que con orden p=2. Pero el problema de la


incertidumbre mencionado arriba, no mejora debido a que la raiz multiple de f
esta todavia presente.
2. Calculamos analiticamente f(m-1)(x) y le aplicamos el mtodo de Newton a la
funcin F(x)= f(m-1)(x). Note que ahora es raiz simple de F, tenemos
convergencia cuadrtica y no hay el problema de un intervalo de incertidumbre
grande. Este mtodo es efectivo si las derivadas de f son fciles de calcular.

Para estimar m si este no es conocido, usamos el mtodo de Newton aplicado a la


funcin original f y vamos calculando los cocientes

(4.43)

los cuales de acuerdo a la frmula (4.41) aproximan a . Usando esto


podemos aproximar "m" y luego procedemos con uno de los mtodos (1) (2) descritos
arriba.

Sistemas Nolineales

Consideramos ahora el problema de resolver un sistema de ecuaciones nolineales de n


ecuaciones en n desconocidas. Sean funciones (nolineales)
suficientemente diferenciables. Un sistema nolineal n n consiste de:

(4.44)

Si definimos por , entonces podemos escribir (4.44) en


forma vectorial como:

(4.45)

Sea tal que , i.e., una solucin de (4.45). Defina la siguiente matriz n
n por

(4.46)

Suponga que es una aproximacin de . Entonces usando el Teorema de Taylor para


funciones de varias variables, podemos escribir

Definimos ahora la siguiente aproximacin como la solucin de


i.e.,

De esta forma continuamos obteniendo asi la versin para sistemas del Mtodo de
Newton dada por

(4.47)

Si es nosingular, y se toma suficientemente cerca de , entonces se puede


demostrar que las iteraciones convergen a la raiz . Las iteraciones (4.47) se
pueden rescribir para que no haya que calcular el inverso de una matriz. Esto se hace de
la forma:

(4.48)

Ejemplo 3: Considere el problema de aproximar una solucin del sistema:

Tenemos que

Estas dos expresiones las calculamos en MATLAB mediante las siguientes funciones:

function z=f(w)
z=zeros(2,1);
x=w(1);y=w(2);
z(1)=x^3-x*y^2+y^3;
z(2)=x*sin(x*y)+1;

function z=fp(w)
z=zeros(2,2);
x=w(1);y=w(2);
z(1,1)=3*x^2-y^2;
z(1,2)=-2*x*y+3*y^2;
z(2,1)=sin(x*y)+x*y*cos(x*y);
z(2,2)=x^2*cos(x*y);

Tomando como , tenemos el siguiente programa que implementa la recursin


(4.48):

x0=[1,0]';
normx=1;
normz=1;
while normz > 1.0e-6*normx
f0=f(x0);
fp0=fp(x0);
z=-fp0\f0;
normz=norm(z,2);
normx=norm(x0,2);
x0=x0+z;
end
x0

con el cual obtenemos (1.1674,-0.8812) como una raiz aproximada del sistema.

Ejercicios

1. Calcle la raiz ms grande de la ecuacin

Despes de haber calculado la raiz mayor, use divisin sinttica y calcle las
raices restantes.

2. La siguiente ecuacin tiene una raiz nica en el intervalo (-1,0):

Use el Mtodo de Newton para calcular la raiz lo ms preciso posible para los
valores de B=1, 5, 10, 25, 50. Como punto inicial puede tomar entre otros x0=0.
Explique cualquier diferencia en el comportamiento del mtodo segn aumenta
el valor de B. Utilice la grfica de para sustentar sus
argumentos.

3. Implemente el Mtodo de Newton para buscar todas las raices de un polinomio


p(x). Debe utilizar el Mtodo de Horner para evaluar p(x) y su derivada .
Si es una raiz, como resultado del Mtodo de Horner, se obtiene un polinomio
q(x) tal que p(x)=(x- )q(x). Usando q(x) podemos calcular las raices restantes
de p(x). Uttilice su programa para resolver las ecuaciones:
a.

b.

c.

4. Sea A la matriz 3x3 y b el vector 3x1 dados por:

Escriba un algortmo (en MATLAB) basado en el mtodo de la biseccin, que


aproxime a 12 cifras significativas el valor de tal que la solucin x de
satisfaga . Puede suponer la existencia de una subrutina
solve que dada una matriz C y un vector d, solve(C,d) devuelve como resultado
la solucin z de Cz=d.

Ayuda: La solucin x de se puede ver como una funcin la


cual al sustituirse en la ecuacin produce la ecuacin (nolineal) en :

5. La ecuacin define a y implicitamente como funcin de x. La


funcin tiene un mximo para . Demuestre que las
coordenadas del mximo satisfacen las ecuaciones:

Calcule una solucin aproximada de este sistema usando el Mtodo de Newton.

6. Considere el problema de resolver la ecuacin integral

para la funcin desconocida z(s). Usando una regla de cuadratura apropiada para
discretizar el integral en esta ecuacin, obtenga un sistema de ecuaciones
nolineales cuya solucin es una aproximacin de z(s). Resuelva el sistema
resultante usando el Mtodo de Newton.

Вам также может понравиться