Sei sulla pagina 1di 39

baltaM ne nicamargorP .

NEMUSER .6

.selaenil on senoicauce ed sametsis ed niculoser ed sodotM .5

0=)x(f amrof al ed nicauce acin anu ed niculoseR .4

)x(F=x amrof al ed nicauce acin anu ed niculoseR .3

arutalcnemoN .2

niccudortnI .1

SELAENIL-ON SENOICAUCE ED NOICULOSER

.3 AMET .3 AMET .3 AMET .3 AMET


s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

2
a r ei n e g nI n e o ci r m u n ol u cl C

Se trata de encontrar un valor de x, que llamaremos x*, que satisfaga las ecuaciones

(1) (2)

f(x*)=0 x*=F(x*) (ENL.1)

Cuando las ecuaciones f(x) y F(x) no son lineales el problema se debe resolver (salvo muy contadas excepciones) utilizando mtodos iterativos. Una solucin iterativa genera una secuencia x0, x1, x2, x3,...xi donde x0 es un valor estimado inicial y adems:
Lim x i = x* i

Es necesario conseguir una funcin iterativa para generar una secuencia de convergencia. La iteracin se detiene cuando se cumple un determinado criterio, basado en una comparacin entre la tolerancia en el error deseado d y el error real y. El error exacto en cada iteracin viene dado por La relacin de convergencia se define como
x i x* = i ri = i + 1 i

Han sido propuestos distintos mtodos para generar una secuencia de convergencia, todos ellos intentando mejorar la velocidad con que se alcanza la solucin. En los mtodos que vamos a ver a continuacin la bsqueda de la solucin estar sometida a las siguientes restricciones: a) La raz buscada se localizar en el intervalo cerrado [a,b] de tal manera que F(x) y f(x) sern funciones continuas en dicho intervalo. b) Hay una nica raiz en el intervalo c) x* (la raz) es un nmero real.

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

niccudortnI .1 niccudortnI .1
(ENL.2)

es un vector de variables desconocidas. Existen muchos mtodos para resolver el problema entre ellos el de sustitucin sucesiva, Newton, Broyden etc... Vamos a estudiar a continuacin los mtodos ms extendidos.

x* (A) wk s x J H

a r ei n e g nI n e o ci r m u n ol u cl C

En el caso de sistemas de ecuaciones, el problema que se presenta trata de resolver un sistema de la forma f(x)=0 donde f es un vector de funciones y x

f F x

k (subndice) nmero de la iteracin i (superndice) ecuacin particular del sistema j (subndice) variable particular respecto con la que se trabaja error permitido o tolerancia punto (vector) de partida valor propio de la matriz A parmetro que determina la aceleracin de algunos mtodos punto donde se desarrolla la serie de Taylor en el mtodo de Newton matriz jacobiana estimacin de la matriz jacobiana

a .2 arutalcnemoN .2

vector de funciones (que se han de igualar a cero) vector de funciones (que han de ser iguales a x) vector de variables desconocidas

El mtodo de iteracin directa est basado en generar una funcin de iteracin de la forma:
xi +1 = F ( xi )

i=1,2,3...

Como estimacin del error se puede tomar:


x i x i +1 = ~

En el mtodo de iteracin directa la condicin necesaria y suficiente para la convergencia es que el valor estimado est suficientemente cerca de la solucin de tal manera que: F' x* < 1 Una posible demostracin es la siguiente: De acuerdo con la definicin En la solucin Restando ambas ecuaciones De acuerdo con el teorema del valor medio: Recordando que i + 1 = x i + 1 x y que De las ecuaciones anteriores
*

( )

Si xi esta suficientemente cerca de la solucin entonces: F' ( ) F' x* por lo tanto la velocidad limite de convergencia vendr dada por: ri = i + 1 = F' x* i i

( )

Solamente si F' x* < 1 el error se reducir en cada iteracin.

( )

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

)x(F=x amrof al ed nicauce acin anu ed niculoseR .3 )x(F=x amrof al ed nicauce acin anu ed niculoseR .3 )x(F=x amrof al ed nicauce acin anu ed niculoseR .3 )x(F=x amrof al ed nicauce acin anu ed niculoseR .3
atceriD nicaretI o avisecuS nicutitsuS ed odotM .1.3

(ENL.3)

(ENL.4)

(ENL.5)

xi +1 = F ( xi ) x* = F x*

( ) ( ) ) ( ) (

x i + 1 x* = F ( x i ) F x*

F( x i ) F x* = F' ( ) x i x* i = x i x* i +1 = F' ( ) i

( )

(ENL.6)

a r ei n e g nI n e o ci r m u n ol u cl C

y y= x

y= F(x)

x
Figura 1a. El mtodo de iteracin directa converge.

y= F(x) y y= x

x
Figura 1b. El mtodo de iteracin directa diverge. Si la pendiente es cercana a la unidad la velocidad de convergencia es lenta, y la estimacin del error poco precisa (tngase en cuenta que la estimacin del error se realiza entre dos iteraciones consecutivas y no con el verdadero valor). Si la pendiente es prxima a cero la velocidad de convergencia ser grande y la estimacin del error ms precisa. Cuando el mtodo de sustitucin sucesiva converge el lmite de la relacin de convergencia viene dado por la ecuacin comentada anteriormente. Este tipo de convergencia donde el lmite de la relacin de convergencia se aproxima a un valor constante se llama convergencia lineal. Para un mtodo de convergencia lineal, la representacin del log( i ) vs. el numero de iteraciones 6

se aproxima asintticamente a una lnea recta La pendiente de la asintota ser log F' x* . Ver Figura 1. Si se asume que el valor de F'(x) no cambia mucho en las cercanas de la solucin se puede obtener informacin adicional de las caractersticas de convergencia dentro del intervalo: 1.- Estimacin de F'(x*): ~ i ri ~+ 1 F' x* i

( ( ))

( )

2.- Estimacin del error exacto: ~ ~ i i i [1 ri ] 1 F' x*

( )]

3.- Estimacin del nmero adicional de iteraciones para conseguir la solucin dentro de un error de tolerancia deseado: log d i J= (ENL.9) log ri

El uso de este mtodo se basa en la suposicin de que la derivada de la funcin F(x) no cambia mucho en las proximidades de la solucin. Se toman dos puntos iniciales: [xi 1 , F ( xi 1 )] y [xi , F ( xi )] Se traza entonces la lnea recta que une estos dos puntos, y la interseccin de esta lnea con la lnea x=y se selecciona como la mejor estimacin de la funcin. As pues, la ecuacin de la recta que pasa por los puntos [xi 1 , F ( xi 1 )] y [xi , F ( xi )] viene dada por la expresin:

y F ( xi ) =

F ( xi ) F ( xi 1 ) ( x xi ) xi xi 1

Para calcular el punto xi +1 se calcula la interseccin de dicha recta con la recta y = x de tal manera que:

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T
(ENL.7) (ENL.8)

nietsgeW ed aicnegrevnoc ed nicareleca ed odotM .2.3


(ENL.10)

a r ei n e g nI n e o ci r m u n ol u cl C
xi + 1 F ( xi ) = F ( xi ) F ( xi 1 ) ( xi + 1 xi ) xi xi 1 F ( xi ) F ( xi 1 ) , se obtiene xi xi 1
(ENL.12) (ENL.11) Llamando si =
xi + 1 F ( xi ) = s i ( xi + 1 xi )

despejando xi +1 se llega a:

xi + 1 =

s 1 F ( xi ) i xi = wi F ( xi ) + (1 wi ) xi 1 si 1 si
1 1 si

(ENL.13)

donde wi =

(ENL.14)

Normalmente en lugar de utilizar 2 puntos al azar para la primera iteracin se realiza una iteracin directa. El procedimiento grfico se ilustra en la Figura 3.

F ( xi ) F ( xi 1 ) F ( xi +1 )

xi 1

xi

xi +1

Figura 3. Mtodo de Wegstein.

Se ha demostrado que si el mtodo de iteracin directa converge, el metodo de Wegstein lo hace ms rpidamente. Con la nica excepcin del caso en que F'(x*)=0. El mtodo de Wegstein converge incluso en ocasiones en que el mtodo de iteracin directa no lo hace. Sin embargo pueden aparecer dificultades cuando F' ( x) = 1 en algn punto dentro del intervalo de la solucin.

En la primera parte vimos mtodos numricos para resolver una ecuacin no lineal de la forma F(x)=x. Prcticamente todas las ecuaciones no lineales pueden ser expresadas de esta forma, pero no es necesario, existen otras tcnicas numricas para resolver ecuaciones no lineales de la forma f(x)=0.

Como en el caso anterior se trata de encontrar la forma de generar una serie de secuencia x0, x1, x2, ...donde x0 es un valor supuesto inicial de tal manera que se cumpla la ecuacin
Lim x i = x* i

donde i es el numero de iteraciones. Como en el caso anterior es necesaria una funcin de iteracin que permita generar la secuencia de valores de x. En la prctica es imposible generar una secuencia infinita de valores de x, por lo tanto no se podr obtener la solucin exacta, no obstante nos podremos aproximar a ella tanto como queramos. El criterio que nos dice para que valor de xi nos debemos detener es el llamado criterio de detencin y est basado en la comparacin entre el error de tolerancia deseado que llamabamos d y una estimacin del error i. La relacin del error en dos iteraciones sucesivas da una idea de la velocidad de convergencia. Si definimos la relacin de convergencia como:

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

0 amrof al ed nicauce acin anu ed niculoseR .4 0=)x(f amrof al ed nicauce acin anu ed niculoseR .4
socisb sotpecnoC .1.4

Cuando se usa este mtodo las iteraciones tienen que comenzar desde dos puntos iniciales x0 y x1 de tal manera que f(x0) y f(x1) tengan signos opuestos ( f ( x 0 ) . f ( x1 ) < 0 ). Se toma entonces el punto medio del intervalo [xi1, xi]. La funcin de iteracin de este mtodo es:
xi +1 =( xi + xi 1 ) / 2

entre tres valores sucesivos de x: xi-1, xi, xi+1 debemos guardar para la siguiente iteracin solamente dos de ellos. El valor de xi+1 nos lo guardamos siempre, de los otros dos nos quedaremos con aquel que cuyo valor de funcin sea de diferente signo que el valor de la funcin para xi+1. De esta forma la raz de la ecuacin se encontrar siempre acotada por xi+1 y xi. Dado que el intervalo se hace cada vez ms pequeo la longitud del intervalo se puede usar como una estimacin para calcular el error. Es fcil mostrar que despus de "i" iteraciones el tamao del intervalo se habr reducido en un valor de:

a r ei n e g nI n e o ci r m u n ol u cl C

ri =

i +1 i

donde es una constante. Se puede demostrar que si para algunos valores de 1, ri < 1 i = 0,1,2 ,3 ...entonces la secuencia converge a la solucin. Si para un valor especificado de el lmite:

Lim i +1 i

existe entonces, es el orden de convergencia del mtodo iterativo. Como se mencion anteriormente para el mtodo de sustitucin sucesiva el lmite para el valor =1 existe presentando dicho mtodo convergencia lineal o de primer orden. Como en el caso anterior limitaremos nuestra bsqueda de la solucin a un intervalo cerrado I=[a,b] tal que la funcin f(x) sea continua en dicho intervalo, presente en dicho intervalo una nica raz, y que sta sea un nmero real.

niccesiB ed odotm lE .2.4


(ENL.15) 10

L i = 2 i L0

donde L0 es el tamao del intervalo inicial. El mtodo de la biseccin es muy simple, incluso en ocasiones demasiado simple y no puede ser usado para muchas aplicaciones de anlisis numrico. Algunas de sus propiedades lo hacen un mtodo excelente para usos en ingeniera. Admitiendo que la funcin cumple los requerimientos bsicos citados al principio del captulo, si somos capaces de encontrar dos valores para la funcin con signos opuestos, la convergencia est asegurada. La principal desventaja del mtodo de biseccin es su lenta convergencia. Para varios tipos de problemas nosotros podemos desear usar un mtodo iterativo de convergencia ms rpida, el uso de estos mtodos es esencial en casos tales como:

1. Se necesita una solucin con una alta precisin 2. La funcin es muy complicada y su clculo puede llevar bastante tiempo 3. La misma ecuacin no lineal ha de ser resulta muchas veces (cientos o incluso miles).

Este mtodo est basado en la expansin en una serie de Taylor de la funcin f(x) en las proximidades del punto xi:
f ( x i +1 ) = f ( x i ) + ( x i +1 x i ) f' ( x i ) +

( x i +1 x i ) 2
2 (ENL.17)

dado que estamos buscando el valor de f(xi+1)=0, sustituyendo en la ecuacin 2.6 y despreciando los trminos de segundo orden, obtenemos la funcin de iteracin de Newton-Raphson:
f( xi ) f' ( x i )

x i +1 = x i

i = 0,1,2 ,3.....

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

(ENL.16)

noshpaR-notweN ed odotm lE .3.4


f'' ( x i ) + ....

(ENL.18)

Una observacin general del mtodo de Newton dice que :"El mtodo de Newton siempre converge si se parte de un valor x0 suficientemente cerca del valor x*". Dado que no podemos conocer el valor de x* de antemano esta observacin parece de poco uso, pero se puede desarrollar una estrategia adecuada basada en esta observacin. Si no se dispone de un buen valor inicial se puede utilizar el mtodo de la biseccin para conseguir un valor suficientemente cerca de la solucin y posteriormente terminar de resolver el problema por el mtodo de Newton. Cuando se usa el mtodo de Newton se suele usar el valor de la funcin para estimar el error:
~ = f( x ) i

La estimacin del error a partir del clculo de f(xi)/f'(xi) da mejores valores que solamente la funcin, pero la ecuacin anterior no necesita del calculo de las derivadas que en ocasiones pueden ser costosas (en tiempo de clculo). Las iteraciones se suelen concluir cuando se cumple el siguiente test:
f ( xi + d ).f ( xi d ) < 0

a r ei n e g nI n e o ci r m u n ol u cl C

Para que el mtodo converja la funcin no debe presentar, en el intervalo de bsqueda mximos, mnimos o puntos de inflexin, en caso de no darse esta situacin el mtodo puede no conducir a la solucin correcta. An cumplindose las condiciones anteriores la convergencia desde un punto inicial depende de la forma de la funcin. Sokolnikov propone que aunque se cumplan las condiciones generales y la condicin citada anteriormente, si la funcin presenta signos opuestos en los dos extremos del intervalo de bsqueda, debe elegirse como primer valor del intervalo de bsqueda para el tanteo el extremo en el que f(x) y f''(x) tengan el mismo signo. El mtodo de Newton-Raphson posee convergencia cuadrtica o de segundo orden.

el que se cumpla esta ltima ecuacin asegura que la diferencia (x*-xi) es menor que el error de tolerancia.

12

La Figura 4 muestra grficamente tres iteraciones del mtodo de Newton.

f(x)

xo f(x2) f(x1) f(xo)

x1

x2 x

Figura 4. Representacin grfica del mtodo de Newton

Si nosotros no deseamos calcular la derivada podramos aproximar la derivada por una lnea recta que pasase a travs de los puntos [x i-1, f(xi-1)] y [xi, f(xi)] as : f ( x i ) f ( x i 1 ) f' ( x i ) x i x i 1

la derivada es pues aproximada por una secante entre las dos ltimas iteraciones. La funcin de iteracin para el mtodo de la secante es pues: ( x i x i 1 ) x i +1 = x i f ( x i ) i=1,2,3,4.... f ( x i ) f ( x i 1 )

Se puede demostrar que el orden de convergencia para el mtodo de la ( 1 + 5 ) secante es = 1618 . Al igual que el mtodo de Newton se puede . 2 decir que siempre converge desde un valor inicial suficientemente cerca a la solucin. Se pueden utilizar, por lo tanto tcnicas mixtas, como comenzar con el mtodo de la biseccin, y terminar con el mtodo de la secante.

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

odarojem etnaces al y etnaces al ed odotm lE .4.4

islaf aluger ed odotm lE .5.4

a r ei n e g nI n e o ci r m u n ol u cl C

La velocidad de convergencia del mtodo de la secante puede ser fcilmente acelerada. En lugar de aproximar f'(x) por una funcin lineal, parece natural obtener una convergencia ms rpida aproximando f'(x) por un polinomio que pasa a travs de todos los puntos previamente calculados, as podremos obtener la siguiente funcin de iteracin: i i f( xm ) x i +1 = x k m k k=0 m= 0 f ( x m ) f ( x k ) El orden de convergencia de este mtodo se aproxima a 2 para valores elevados de i. Para i=2 la ecuacin anterior se reduce al mtodo de la secante. Los mtodos de la secante y la secante mejorado necesitan solamente una evaluacin de la funcin por iteracin y su convergencia es casi tan rpida como la del mtodo de Newton. Su uso est recomendado en casos donde sea costosa la evaluacin de la derivada. El mtodo de la secante mejorado es el ms costoso, y su uso est solamente recomendado cuando la evaluacin de la funcin consume mucho tiempo y es importante la velocidad de convergencia.

El mtodo de regula falsi, o de la falsa posicin, es realmente un mtodo de secante que se desarroll para intentar aumentar la velocidad del mtodo de la biseccin. Como en el mtodo de la biseccin se parte de dos puntos f(a) y f(b) con signos opuestos. El mtodo de la biseccin utiliza el punto intermdedio del intervalo [a,b] para la siguiente iteracin. Se puede encontrar una mejor aproximacin si tomamos como punto para la siguiente iteracin el punto de corte de la recta que pasa por (a,f(a)) y (b,f(b)) con el eje do abscisas: punto (c,0):
m= f (b) f (a ) 0 f (b) = ba cb

(ENL.19)

Lo que nos da:


c= b f (b) (b a ) f (b) f (a )

(ENL.20)

14

La figura 5 muestra una representacin grfica del mtodo de la falsa posicin.

[ a

b3 b2 ] ]

b1 ]

Figura 5. Mtodo de Regula Falsi.

El mtodo es totalmente anlogo al estudiado para una nica variable. Se trata de reescribir el sistema de la forma x=F(x). Llamaremos k a una iteracin y k+1 a la siguiente. El esquema iterativo de este mtodo es pues: x k +1 =F(x k ) lo que implica que para cada ecuacin:
x i k +1 =F i (x k )

donde el superndice i hace referencia a las distintas ecuaciones del sistema. El criterio para detener las iteraciones suele ser
x k +1 x k < d

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

bo ]

y=f(x)

.selaenil on senoicauce ed sametsis ed niculoser ed sodotM .5 .selaenil on senoicauce ed sametsis ed niculoser ed sodotM .5 .selaenil on senoicauce ed sametsis ed niculoser ed sodotM .5

avisecus nicutitsus ed odotM .1.5


(ENL.21) (ENL.22) (ENL.23)

a r ei n e g nI n e o ci r m u n ol u cl C

Se puede desarrollar un criterio de convergencia suficiente para el mtodo de sustitucin sucesiva cuando se parte de unos valores iniciales suficientemente cerca de la solucin. Si consideramos la expansin en series de Taylor del sistema de ecuaciones F(x):
F F ( xk ) = F ( xk 1) + ( xk xk 1) + ... x xk 1
T

(ENL.24)

F Suponiendo que en las cercanas de la solucin x cte


F xk +1 xk = F ( xk ) F ( xk +1 ) = x ( xk xk 1 )
T

(ENL.25)

o bien
xk +1 xk = xk +1
F = x xk
T

(ENL.26)

Recordando que para las normas se cumple


F xk +1 x

AB A B

tenemos:

xk

(ENL.27)

Utilizando la norma dos

A 2 = max AT A

y recordando que partimos de

un punto suficientemente cercano a la solucin (es decir la derivada de F(x) es prcticamente constante en todas las iteraciones)
xk +1 max

)k

x0

(ENL.28)

Es decir el sistema converge cuando el valor absoluto del mximo valor propio de la matriz Jacobiana de F que contiene todas las derivadas parciales es menor que la unidad. La ecuacin anterior permite estimar el numero de iteraciones para alcanzar una tolerancia () dada:

16

Log x 0 niter Log max

Por ejemplo:

x0 = 1
max 0.1 0.5 0.99

=0.0001

Un criterio equivalente al anterior y relativamente cmodo para comprobar la convergencia sin calcular los valores propios es comprobar que los sumatorios de las derivadas parciales respecto a cada variable en el punto de partida x* son menores que la unidad:

Fi (x * ) x < 1 , para todas las funciones Fi que constituyen el sistema. j =1 j


n

En el tema anterior vimos que cuando solo tenemos una ecuacin, el criterio de convergencia es que la derivada primera sea menor que la unidad en x*. En el caso en que tengamos dos ecuaciones g1(x,y) y g2(x,y) debe cumplirse:
g1 (x*, y *) + g1 (x*, y *) < 1 x y ambos g 2 g 2 (x*, y *) + (x*, y *) < 1 x y

Las principales ventajas de este mtodo son su facilidad para programarlo, y que para ciertos tipos de problemas que aparecen en Ingeniera Qumica este mtodo es muy adecuado (recirculacin). La principal desventaja est en que no converge en muchos casos y en otros la convergencia es muy lenta.

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

(ENL.29)

n 4 14 916

(ENL.30)

)nicareleca( nicajaler ed sodotM .2.5

)dohtem eulavnegie tnanimod MED( etnanimod oiporp rolav led odotM .3.5

a r ei n e g nI n e o ci r m u n ol u cl C

Para problemas donde max est cercano a la unidad, el mtodo de sustitucin sucesiva converge lentamente. En su lugar podemos alterar la funcin de punto fijo F(x) con el objeto de acelerar la velocidad de convergencia:
x k +1 = w g ( x k ) + (1 w) x k

(ENL.31)

donde el valor de w se adapta a los cambios en x y en F(x). Los dos mtodos ms importantes son el mtodo del valor propio dominante y el mtodo de Wegstein.

Este mtodo hace una estimacin de max calculando la relacin:

max

xk x k 1

(ENL.33)

Se puede demostrar que el valor ptimo del parmetro w viene dado por:
w= 1 1 max

(ENL.34)

(Nota: En la obtencin de la ecuacin anterior se admite que todos los valores propios son reales y que el valor propio mximo y mnimo no son muy diferentes. Si estas condiciones no se cumplen el mtodo podra fallar).

nietsgeW ed odotM .4.5


Este mtodo obtiene el factor de relajacin w aplicando el mtodo de la secante (Wegstein unidimensional) a cada una de las variables xi independientemente; es una extensin directa del mtodo unidimensional:
i i i i i xk +1 = wk F ( xk ) + (1 wk ) x k

(ENL.35)

18

i donde: wk =

1
i 1 sk

i sk

i i F ( x k ) F ( x k 1 ) i i x k x k 1

donde i representa una variable y k una iteracin. El mtodo de Wegstein funciona bien cuando no hay mucha interaccin entre los componentes, por otra parte iteraciones y ciclos enlazados causan dificultades con este mtodo. Normalmente se suelen realizar de 2 a 5 iteraciones directas y slo entonces se cambia a los mtodos de valor propio dominante o Wegstein.

Sin duda, el mtodo de Newton es el mtodo ms extendido para resolver sistemas de ecuaciones no lineales y, sin ninguna duda, es el mtodo que debera utilizarse salvo casos especiales- para resolver un sistema de ecuaciones no lineal. Consideremos un sistema de ecuaciones de la forma f (x) = 0 , donde x es un vector de n variables reales y f() es un vector de n funciones reales. Si se supone un valor para las variables en un punto dado, digamos xs es posible desarrollar en serie de Taylor alrededor del punto xs para extrapolar la solucin al punto x*. Escribiendo cada elemento del vector de funciones f: f fi ( x ) 0 = fi ( x ) + i x
* * T

(x

xs +

) 1 (x 2

O bien
fi ( x* ) 0 = fi ( x* ) + fi ( x s )T x* x s +

) 1 (x 2

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

(ENL.36)

(ENL.37)

notweN ed odotM .5.5


*

xs

2 fi 2 x

* s x x + ... i = 1...n (ENL.38)

xs

2 fi ( x s ) x* x s + ... i = 1...n

(ENL.39)

matriz jacobiana no es singular, se puede resolver directamente el sistema lineal de ecuaciones:


J (x s ) p = f (x s )

a r ei n e g nI n e o ci r m u n ol u cl C

Donde fi ( x s )T y 2 fi ( x s ) son el vector gradiente y la matriz Hessiana de la funcin fi ( x) respectivamente. Si truncamos la serie de forma que se consideren slo los trminos de primer orden, se tiene que:
f (x s + p) 0 = f (x s ) + J (x s )p

(ENL.40)

Donde se ha definido el vector p = (x* x s ) como una direccin de bsqueda hacia la solucin del sistema de ecuaciones y los elementos de la matriz J corresponden a:

{ J }i, j =

fi para la fila i y la columna j de dicha matriz. xj

(ENL.41)

La matriz J se llama matriz Jacobiana (o simplemente Jacobiano). Si la

(ENL.42)

O bien calcular explcitamente la inversa de la matriz jacobiana, aunque, como se coment en le captulo relacionado con la reslucin de sistemas de ecuaciones lineales, es mucho ms eficiente resolver el sistema que calcular explcitamente la inversa de la matriz Jacobiana: x* = x s J 1 (x s )f (x s ) (ENL.43)

La ecuacin anterior permite desarrollar una estrategia para encontrar el vector solucin x*. Comenzando con un valor supuesto inicial para el vector de variables x (x0), se puede establecer la siguiente frmula de recursin:
J (x k ) p k = f (x k ) donde p k = x k +1 x k

(ENL.44)

La frmula de recursin anterior se puede formalizar en el siguiente algoritmo bsico del mtodo de Newton: Algoritmo

20

1. Suponer un valor para el vector x. p.e. x . Hacer k = 0 2. Calcular f (x k ), J x k

( )

3. Resolver el sistema de ecuaciones lineales J (x k ) p k = f (x k ) y calcular x k +1 = x k + p k 4. Comprobar la convergencia: Si f T (x k )f (x k ) 1 y (p k )T (p k ) 2 parar. Donde 1 , 2 son tolerancias para la terminacin prximas a cero. 5. En otro caso, hacer k = k + 1 e ir al punto 1.

El mtodo de Newton tiene unas propiedades de convergencia muy interesantes. En particular el mtodo converge muy rpidamente en puntos cercanos a la solucin. De forma ms precisa se puede decir que el mtodo de Newton tiene convergencia cuadrtica, dada por la relacin:

x k x* x
k 1

* 2

Donde x = xT x

( )

es la norma Eucldea, que es una medida de la longitud

del vector x. Una forma de interpretar esta relacin es pensar en el caso en el que K=1. Si en un momento dado se tiene una precisin para x k 1 de un dgito. Esto es x k 1 x* = 0.1 . Entonces en la siguiente iteracin se tendrn dos dgitos de precisin, en la siguiente 4 y en sucesivas iteraciones ocho, diecisis etc. Por otra parte, esta rpida velocidad de convergencia slo ocurre si el mtodo funciona de forma correcta. El mtodo de Newton podra fallar por diferentes razones, sin embargo las condiciones suficientes para que el mtodo de Newton converja son las siguientes: 1. Las funciones f (x) y J (x) existen y estn acotadas para todos los valores de x. 2. El punto inicial x0, est suficientemente cerca de la solucin. 3. La matriz J(x) debe ser no singular para todos los valores de x.

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T
0

(ENL.45)

sadatoca sadavired y senoicnuF .6.5

a r ei n e g nI n e o ci r m u n ol u cl C
A continuacin se considerar en detalle cada una de las condiciones anteriores as como las medidas a adoptar si no se cumple alguna de las condiciones. Por simple inspeccin es posible re-escribir las ecuaciones para evitar divisiones por cero o dominios donde las funciones no estn definidas. Adems, es posible aadir nuevas variables y ecuaciones con el objetivo de eliminar problemas de tipo numrico. Los siguientes dos ejemplos sirven para ilustrar estos casos: a) Resolver la ecuacin f (t ) = 10 e3/t = 0 . Para valores de t prximos a cero el valor tanto de la exponencial como de su derivada se hace excesivamente grande (tiende a infinito a medida que t tiende a cero). En 3 su lugar, es posible definir una nueva variable x = y aadir la ecuacin t xt 3 = 0 . Esto lleva a un sistema de ecuaciones mayor, pero en el que las ecuaciones estn formadas por funciones acotadas. As se resolvera el sistema:

f1 ( x) = 10 e x = 0 f 2 ( x) = x t 3 = 0

(ENL.46)

e x Donde la matriz Jacobiana ser: J ( x) = t

0 x

(ENL.47)

Sealar que ambas funciones as como el Jacobiano permanecen acotados para valores finitos de x. Sin embargo, la matriz J todava podra hacerse singular para ciertos valores de x y t. Resolver la ecuacin f ( x) = Ln( x) 5 = 0 . En este caso el logaritmo no est definido para valores no positivos de la variable x. Este problema se puede reescribir utilizando una nueva variable y una nueva ecuacin. As

22

pues definimos la variable x2 = Ln( x1 ) y por lo tanto el nuevo sistema de ecuaciones queda como:

f1 = x1 e x2 = 0 f 2 = x2 5 = 0

1 e x2 Donde la matriz Jacobiana viene dada por: J ( x) = 1 0

De nuevo, todas las funciones estn definidas y acotadas para valores finitos de la variable x.

En general, asegurar que un punto est cerca de la solucin no es prctico y adems el concepto de cercana a la solucin depende de cada problema en particular. Por lo tanto, si el punto de partida es malo, se necesita controlar de alguna manera que el mtodo avance hacia la solucin. En el mtodo de Newton esto se puede conseguir controlando la longitud de paso en cada iteracin, de tal forma que el avance hacia la solucin puede venir dado por un paso completo del mtodo de Newton o una fraccin de este. Matemticamente se puede expresar de la siguiente manera:
x k +1 = x k + p k

Donde alfa es un parmetro que puede tomar valores entre cero y uno, y pk es la direccin predicha por el mtodo de Newton. Por supuesto, si =1 se recupera el paso completo de Newton. Es necesario desarrollar ahora una estrategia que permita elegir automticamente el valor de de forma que asegure que el mtodo de Newton converge.
1 f ( x)T f (x) y 2 buscaremos el mnimo de (x) en la direccin dada por el mtodo de Newton

Comenzaremos

definiendo

una

funcin

en funcin del parmetro alfa.

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T
(ENL.48)

niculos al a anacreC .7.5


(ENL.49) objetivo

( x) =

a r ei n e g nI n e o ci r m u n ol u cl C
Teniendo que en cuenta que x k +1 = x k + p k si desarrollamos en serie de Taylor:
d 2 d 2 + + ... = d 2 d 2

(x k +1 ) = (xk ) +

(x k ) + (xk )T ( p k ) +

2
2

(ENL.50)

(p k )T 2 (x k )(p k ) + ... fi y xj

Si para simplificar la notacin hacemos que: J k = J (x k ) ; teniendo en cuenta que:


1 (x k )T = f (x k )T f (x k ) = f (x k )T f (x k ) 2
T

{J ( x )}
k

ij

(ENL.51)

Y que un paso de Newton viene dado por:


p k = J (x k ) 1 f (x k )

(ENL.52)

Si multiplicamos por detrs la derivada de (x) , ecuacin (ENL.51), por p k y sustituimos en el paso de Newton ecuacin (ENL.52):
(x k )p k = f (x k )T J k J k

( )

f (x k ) = f (x k )T f (x k ) = 2 (x k ) < 0

(ENL.53)

Si sustituimos ahora en la serie de Taylor, ecuacin (ENL.50), suponiendo que 0 con lo que nos podemos quedar con el trmino de primer orden:

(x k +1 ) (xk ) 2 (xk ) < 0

(ENL.54)

Lo que dice la ecuacin (ENL.54) es que para valores suficientemente pequeos del parmetro alfa un paso del mtodo de Newton siempre reduce el valor de (x) . Esta importante propiedad se conoce como propiedad de descenso del mtodo de Newton y asegura que el mtodo modificado con una longitud de paso variable siempre producir una mejora. El siguiente paso sera minimizar el valor de (x k + p k ) para encontrar el valor ptimo del parmetro que produce la mxima mejora en la direccin dada por p k Sin embargo, esto es muy costoso en trminos de nmero de

24

evaluaciones de las ecuaciones (o lo que es lo mismo de la funcin (x) ). En su lugar se elegir un valor de alfa que produzca una reduccin suficiente en (x) . Este procedimiento se conoce como bsqueda unidireccional de Armijo. La Figura 6 muestra grficamente

( xk )

Reduc ci

n de A rmijo

Pe nd ie

nte

ini cia l

q ( )

Figura 6. Esquema de la bsqueda unidireccional de Armijo. En lugar de minimizar el valor de alfa lo que se busca es un valor de alfa que produzca una reduccin suficiente, bajo el criterio de Armijo lo que se busca es un valor de alfa que haga que (x k + p k ) caiga por debajo de la cuerda de Armijo, definida como:

( x k + p k ) ( x k ) 2 ( x k )

donde es una fraccin de la pendiente (con valores tpicos entre cero y 0.5) que define la pendiente de la cuerda. De esta forma se asegura una disminucin satisfactoria de (x) que ser al menos una fraccin de la velocidad de reduccin del error en el ltimo punto x k . Si esta relacin se satisface para un valor suficientemente grande de alfa, entonces se toma este paso. Por otra parte, considrese el caso de la Figura 6, donde = 1 . En este caso el valor de (x k + p k ) est por encima la cuerda de Armijo, lo que significa que o bien no hay reduccin de ( x) o esta reduccin no se considera

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

( xk + pk )

=1

(ENL.55)

a r ei n e g nI n e o ci r m u n ol u cl C
suficiente, y por lo tanto se necesita un tamao de paso ms pequeo. Tambin necesitamos asegurarnos de que ese tamao de paso no es excesivamente pequeo (por ejemplo en el intervalo [ l , u ] ) para evitar que el algoritmo se quede estancado con muchos movimientos excesivamente pequeos. Una forma de conseguir este objetivo es llevar a cabo una interpolacin cuadrtica de la funcin en trminos del parmetro . Dicha funcin de interpolacin (a la que llamaremos q ( ) ) se puede calcular utilizando el valor de la funcin en el punto x k , en el punto x k + p k y el valor q (0) de la derivada en el punto base ( = 0 ) = 2 (x k ) . As:

(x k + p k ) = a + b + c 2 = q ( )

(ENL.56)

q (0) = a = (x k )

(ENL.57)

(xk + p k ) q ( ) =b= = 2 (xk ) =0 =0

(ENL.58)

Por lo tanto

(x k + p k ) = (xk ) 2 (xk ) + c 2
De donde el valor de c vendr dado por:

(ENL.59)

c=

(x k + p k ) (x k ) + 2 (x k ) 2

(ENL.60)

El mnimo de la funcin cuadrtica se puede obtener derivando con respecto de alfa e igualando a cero:
min : q ( ) q ( ) = 0 = b + 2 c q =

b 2c

(ENL.61)

Sustituyendo las ecuaciones (ENL.58 y ENL.60) en la ecuacin (ENL.61) se llega a que:

26

(xk ) 2 q = (x k + p k ) (xk ) + 2 (x k )

Basado en las propiedades de salvaguarda que tiene el criterio de Armijo es posible modificar el punto 3 del mtodo de Newton incluyendo la bsqueda unidireccional de Armijo de la siguiente manera: Algoritmo para la bsqueda unidireccional de Armijo (modificacin del punto 3 del mtodo de Newton) a. Hacer = 1 b. Evaluar (x k + p k ) c. Si (x k + p k ) (x k ) 2 (x k ) se ha encontrado una longitud de paso que cumple el criterio de Armijo. Hacer x k +1 = x k + p k y continuar con el punto 4 del mtodo de Newton. En otro caso continuar con el punto d. d. Hacer = max , q donde el valor de q viene dado por la ecuacin (ENL.42) Hacer = y volver la punto b.

Un valores tpico de los parmetros y es 0.1 (para ambos). Este procedimiento aade robustez y confiabilidad al mtodo de Newton, especialmente si el punto inicial no es muy bueno. Sin embargo, si no se encuentra un tamao de paso en 4 o 5 vueltas del algoritmo anterior, la direccin p k podra ser una mala direccin de bsqueda debido a problemas de condicionamiento (por ejemplo un Jacobiano muy prximo a ser singular). En el caso extremo, si J (x k ) es singular entonces la direccin de Newton no existe y el algoritmo falla. A continuacin se presentan alternativas para evitar este problema

Si el Jacobiano es singular, o cercano a la singularidad (y por lo tanto mal condicionado) la direccin dada por el mtodo de Newton es ortogonal (o

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

(ENL.62)

notweN ed niccerid al ed nicacifidoM .onaibocaJ le ne dadiralugniS .8.5

a r ei n e g nI n e o ci r m u n ol u cl C
casi ortogonal) a la direccin de mximo descenso de (x) . La direccin de mximo descenso viene dada por la direccin contra gradiente ( (x) ) que tiene da la mxima reduccin en la funcin (x) para longitudes de paso suficientemente pequeas. Como consecuencia se podra considerar utilizar la direccin de mximo descenso en lugar de la direccin del mtodo de Newton:
p md = (x k ) = J (x k )T f (x k )

(ENL.63)

Esta nueva direccin posee la propiedad de descenso, pero slo tiene velocidad de convergencia lineal, definida como:
x k x* < x k 1 x*

(ENL.64)

Una ventaja del mtodo de mximo descenso es que en tanto en cuanto se cumpla que p md J (x k )T f (x k ) 0 siempre se encontrar un punto mejor, incluso si el Jacobiano es singular. Sin embargo, la convergencia podra ser muy lenta. Una situacin de compromiso es combinar las direcciones de mximo descenso y de Newton. Dos de estas estrategias son el mtodo de Levenverg-Marquardt y el mtodo dogleg de Powell. En el primero de estos mtodos se combinan ambas direcciones y se resuelve el siguiente sistema lineal para conseguir la direccin de bsqueda:

( J (x )

k T

J (x k ) + I p k = J (x k )f (x k )

(ENL.65)

Donde es un parmetro escalar, no negativo, que ajusta la longitud y direccin de cada paso. Para valores de = 0 se obtiene el mtodo de Newton:
p k = J (x k )T J (x k )

J (x k )T f (x k ) = J (x k ) 1 f (x k )

(ENL.66)

Por otra parte, si se hace grande y domina al valor J (x k )T J (x k ) el sistema de ecuaciones se aproxima a:

28

p k = ( I ) J (x k )T f (x k ) =

J (x k )T f (x k )

Que es la direccin de mximo descenso con una longitud de paso muy pequea. Con un valor intermedio de se obtiene una direccin que cae en un punto intermedio entre la direccin dada por el mtodo de Newton y la de mximo descenso. Una desventaja del mtodo de Levenverg y Marquardt es que cada vez que se cambia el valor de es necesario resolver un nuevo sistema de ecuaciones lineales, lo que puede ser numricamente costoso, sobre todo si se tiene en cuenta que es posible que sea necesario probar varios valores de antes de conseguir una longitud de paso adecuada. En su lugar consideraremos un algoritmo que utiliza una combinacin entre los mtodos de Newton y de mximo descenso y elige la direccin entre ellos de forma automtica. Este mtodo conocido como dogleg (a algunos autores la forma de generar la direccin le recuerda la curva de la pata de un perro) fue desarrollado por Powell. Y grficamente se ilustra en la Figura 7:

Paso de Cauchy (mximo descenso)

=0

Figura 7 Ilustracin del Mtodo Dogled de Powell Aqu el paso ms largo es debido al mtodo de Newton, y el ms pequeo a una combinacin entre el mtodo de Newton y el de mximo descenso. Para pasos ms pequeos que el dado por la direccin de mximo descenso, se conserva la direccin de mximo descenso. Para desarrollar este mtodo se necesita primero encontrar la longitud correcta (dada por un escalar ) a lo largo de la direccin de mximo descenso:

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

(ENL.67)

grande
Paso de Newton

a r ei n e g nI n e o ci r m u n ol u cl C

p md = JT f (x k )

(ENL.68)

Para calcular dicho valor consideramos la minimizacin de un modelo cuadrtico formado por las ecuaciones linealizadas a lo largo de la direccin de mximo descenso:
min :

1 f (x k ) + J p md 2

) ( f (x ) + J p )
k md

(ENL.69)

Sustituyendo la direccin de mximo descenso ecuacin (ENL.68) en la anterior se tiene que:


f (x k )T JJ T f (x k ) p md = = f (x k )T J (JT J )J T f (x k ) J p md
2 2

(ENL.70)

El paso p md es conocido como paso de Cauchy, y se puede demostrar que su longitud nunca es mayor que la longitud dada por un paso del mtodo de Newton ( p N = J 1f (x k ) ). Para una longitud de paso para el paso global, se puede calcular la direccin del mtodo dogleg de Powell de la siguiente manera, donde la longitud de paso se puede ajustar de forma automtica:
p md p md

Para p md ; p = Para p N ; p = p N Para p N > > p md ; donde =

p = p N + (1 ) p md

p md
p N p md

Finalmente sealar que los mtodos de Levenverg y Marquardt y el el mtodo dogleg caen dentro de una clase general de algoritmos denominados de regin de confiabilidad para estos problemas, la longitud de paso corresponde al tamao de la regin alrededor del punto x k para el que se confa que el modelo cuadrtico es una aproximacin precisa de (x) . Una

30

minimizacin aproximada de este modelo cuadrtico necesita ajustar o (dependiendo del mtodo, Levenverg y Marquardt, o dogleg) en cada iteracin. Si bien los mtodos basados en regiones de confiabilidad son ms costosos en trminos numricos que la bsqueda unidireccional de Armijo, presentan caractersticas de convergencia mucho mejores, particularmente para problemas mal condicionados.

Los mtodos cuasi-Newton tienen en comn que tratan de evitar el clculo de la matriz de derivadas parciales en cada iteracin. La matriz se estima al principio del procedimiento y se actualiza en cada iteracin. Existen varios mtodos cuasi-Newton, el ms utilizado de todos es el debido a Broyden. La funcin de iteracin de este mtodo es:
x k +1 = x k H k f ( x k )

donde Hk es la k-esima estimacin de la inversa de la matriz jacobiana. Si desarrollamos en serie de Taylor fi(xk+1) en los alrededores de xk:
f f f f i ( x k +1 ) = f i ( x k ) + i x1,k + 1 x1,k + i x 2 ,k + 1 x 2 ,k + ....+ i x n ,k + 1 x n ,k x1 x2 xn

Si suponemos conocidos los valores de x k , f ( x k ) y x k + 1 , f ( x k + 1 ) como un mtodo de secante, entonces llamando


p k =x k +1 x k = xk ; y k =f (x k +1 ) f (x k )

De esta forma la ecuacin para fi(xk+1) se puede reescribir como: yk=Bk+1pk (ENL.73)

donde Bk+1 es la estimacin del jacobiano que estamos buscando. La matriz Bk+1 la podemos descomponer en suma de dos, de tal forma que: Bk+1=Bk+Dk (ENL.74)

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

nedyorB ed odotm lE .notwen-isauc sodotM .8.5


(ENL.71)

) (

(ENL.72)

a r ei n e g nI n e o ci r m u n ol u cl C

sustituyendo obtenemos:
y k = (B k + Dk ) p k y k = B k p k + Dk p k

(ENL.75) (ENL.76) (ENL.77)

Dkpk=yk-Bkpk

La parte derecha de esta ltima ecuacin contiene solamente vectores conocidos, la ecuacin tiene que ser resuelta para Dk. Esta ecuacin tiene infinito nmero de soluciones de la forma:

Dk =

( y k B k p k ) zT
zTp k

(ENL.78)

donde zT es un vector arbitrario. Por lo tanto la matriz Bk+1 que estbamos buscando ser:

B k +1 = B k +

( y k B k p k ) zT
zTp k

(ENL.79)

Esta no es la forma final todava, ya que la ecuacin anterior proporciona una manera de estimar la matriz jacobiana, pero nos interesa la matriz inversa de la jacobiana, para ello utilizamos la frmula debida a Sherman-Morrison, que dice:

H k +1 = H k

( H k y k p k ) zT H k k
zT H k y k k

(ENL.80)

Broyden encontr por experimentacin numrica que el mejor valor para zT es p T , por lo tanto la forma final de la ecuacin para calcular la matriz Hk+1 k es:

H k +1 = H k

( H k y k p k )p T H k k
pT Hk y k k

(ENL.81)

como estimacin inicial de H0 hay varias opciones, o bien se hace H0=I (equivalente a la sustitucin sucesiva para la primera iteracin), se calcula la inversa del verdadero Jacobiano en la primera iteracin, se toma como 32

primera aproximacin del Jacobiano una matriz diagonal con los valores correspondientes a la diagonal principal del Jacobiano. El algoritmo se puede resumir en los siguientes pasos: 1.- Especificar los valores iniciales para x0 y H0 2.- Calcular f(x0) 3.- Calcular xk+1 y f(xk+1) 4.- Calcular yk, pk, y Hk+1 5.- Chequear el criterio de finalizacin ( por ejemplo x k + 1 < d ), si se satisface terminar, en caso contrario incrementar el contador k=k+1 y volver a la etapa 3.

El mtodo de Broyden se usa para problemas a gran escala. Es tambin muy adecuado para usar en sistemas de recirculacin.

Debido a las dificultades de convergencia global de los mtodos tipo Newton o cuasi-Newton, se introdujeron a finales de los aos 70 principios de los 80 lo que se conoce como mtodos homotpicos o de continuacin. Aunque dichos mtodos se han venido refinando hasta prcticamente hoy en da. La idea bsica de los mtodos de continuacin consiste en introducir las ecuaciones del modelo f(x) en una combinacin lineal de la forma:
H ( x, ) = f ( x) + (1 ) g ( x) = 0

donde x es el vector de variables del problema. es el parmetro homotpico y g(x) una funcin de la que se conoce su solucin (g(x)=0) o es fcilmente resoluble. Existen diferentes opciones para g(x), produciendo diferentes comportamientos del mtodo. Algunas alternativas son:
H ( x, ) = f ( x) + (1 ) ( x x0 ) H ( x, ) = f ( x) + (1 )( f ( x) f ( x0 ) ) H ( x, ) = f ( x) + (1 ) A ( x x0 ) Homotopa de punto fijo Homotopa de Newton Homotopa afin

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

nicaunitnoc ed o sociptomoh sodotM .9.5


(ENL.82)

a r ei n e g nI n e o ci r m u n ol u cl C

donde A es una matriz para prevenir problemas de condicionamiento por el escalado, tpicamente se hace igual a f(xo). Las diferentes funciones homotpicas presentadas anteriormente tienen la peculiaridad de que el error de los componentes de f(x) decrece linealmente desde los valores dados por x0. La funcin homotpica ms utilizada es la de punto fijo, que adems de su simplicidad evita complicaciones adicionales causadas por la multiplicidad adicional que pueden presentarse al aadir funciones no lineales. Una forma de resolver el problema es ir dando valores al parmetro desde 0 hasta 1 en intervalos pequeos utilizando el resultado de cada paso como valor inicial para el siguiente. Sin embargo, suele ser mejor reformular el sistema de ecuaciones no lineales como un sistema de ecuaciones diferenciales de valor inicial. As, derivando la funcin homotpica con respecto al parmetro :
d H ( x, ) H d x H = + x d d

(ENL.83)

dado que se conoce el valor de H para x0, se puede integrar la ecuacin anterior desde =0 hasta =1, punto donde se debe cumplir que f(x)=0. Si el sistema tuviese ms soluciones extendiendo el intervalo de integracin ms all de los valores 0 1 se puede encontrar, en muchos casos, otras soluciones al problema. Ejemplo de aplicacin de un mtodo homotpico Se desea calcular el volumen molar de CO2 a 298 K y 50 atm utilizando la ecuacin de estado de Redlich-Kwong

P=

RT a V b V (V b ) T

R 2 Tc5 2 a = 0.42747 Pc R Tc b = 0.08664 P c

34

R = 0.08206 atm l mol-1 K-1 Pc = Presin crtica, atm Tc = temperatura crtica, K -1 V = Volumen molar, l mol Para el CO2 la presin crtica es de 72.9 atm y la temperatura crtica de 304.2 K. Para aplicar el mtodo de Newton reescribimos la ecuacin igualada a cero:

f (V ) =

RT a P = 0 V b V (V b ) T

Dependiendo de cual sea el punto inicial un algoritmo bsico de Newton (sin bsqueda unidireccional ni regin de confiabilidad) puede converger o no. Por ejemplo partiendo de los siguientes valores V0 = 1 litro/mol V0 = 0.1 litros/mol V0 = 0.2 litros/mol no converge no converge converge a V = 0.33354 litros/mol

Si se aplica la homotopa de Newton partiendo de V0 = 1 litro/mol:


f (V0 ) = 28.38382209795442

H ( , )= f (V ) f (V0 ) = 0 = V
d H (V , ) H dV H = + =0 d V d

RT a P f (V0 ) V b V ( b) T V

H RT a T (2 V + b ) = + = g (V ) V (V b )2 V (V + b ) T 2 dV f (V0 ) = 0 g (V ) d H = f (V0 )

Despejando:

d V f (V0 ) = d g (V )

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

Volumen molar(litros/mol)

atcerid noicareti :x=)x(F opit sodotM .1.7

baltaM ne nicamargorP .7 baltaM ne nicamargorP .7 baltaM ne nicamargorP .7

a r ei n e g nI n e o ci r m u n ol u cl C
Integrando numricamente entre 1 y 0 se obtiene:
1 0.9 0.8 0.7 0.6

0.33354

0.5

0.4

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Parmetro 1

Figura 8 Ejemplo de homotopa de Newton. Ec de Redlich-Kwong para CO2

La discusin y resolucin de sistemas de ecuaciones lineales, empleando distintos procedimientos, completa el estudio de la solucin de ecuaciones y sistemas. Con esta unidad se pretende que el alumnado aplique lo estudiado en las unidades anteriores a la discusin y resolucin de los sistemas de ecuaciones. Comienza con la discusin de los mtodos ms comunes, como es el de sustitucin sucesiva. Posteriormente, como paso previo a su resolucin en los casos en que sea posible, se discuten lo mtodos de relajacin. Por ltimo, se describen los mtodos de Newton y Broyden, este ltimo adecuado para evitar el complejo clculo de la matriz jacobiana. El dominio de los mtodos para discutir y resolver un sistema de ecuaciones lineales y no lineales permitir al alumnado afrontar el planteamiento y resolucin de problemas diversos.

NEMUSER .6

36

xi +1 = F ( xi )

i=1,2,3...

function x=sustsuc(F,x0,tol) x1=feval(F,x0); error=norm(x1-x0); contador=0; % Comprobamos la convergencia: J=jacobiano(F,x0); Jp=abs(J); sumas=sum(Jp,2);% Vector columna con las sumas de las filas de Jp A=(sumas>=1); if sum(A)>=1 disp('A lo mejor no converge') end while error>=tol x2=feval(F,x1); error=norm(x2-x1); x1=x2; contador=contador+1; end x=x1; contador

xi + 1 =

s 1 F ( xi ) i xi = wi F ( xi ) + (1 wi ) xi 1 si 1 si si = F ( xi ) F ( xi 1 ) ; xi xi 1
wi = 1 1 si

function x=wegstein(F,x0,tol) x1=feval(F,x0); error=abs(x1-x0); contador=0; while error>=tol s=(feval(F,x1)-feval(F,x0))/(x1-x0); w=1/(1-s); x2=w*feval(F,x1)+(1-w)*x1; error=abs(x2-x1); x0=x1; x1=x2; contador=contador+1; end x=x1; contador

function x=wegsteins(F,x0,tol) x1=feval(F,x0);

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

senoicauce ed sametsis ed niculos al a odatpada nietsgeW ed odotM .3.7

nietsgeW :X=)X(F opit sodotM .2.7

nicnuf anu ed onaibocaJ led oluclaC .5.7

sametsis nietsgeW arap olpmejE .4.7

notweN :0=)x(f opit sodotM .6.7

a r ei n e g nI n e o ci r m u n ol u cl C
error=norm(x1-x0); contador=0; while error>=tol s=(feval(F,x1)-feval(F,x0))./(x1-x0); w=1./(1-s); x2=w.*feval(F,x1)+(1-w).*x1; error=norm(x2-x1); x0=x1; x1=x2; contador=contador+1; end x=x1; contador function F=ejemplo18(X) x=X(1); y=X(2); z=X(3); F(1)=(x^2-2*x+y^2-z+3)^(1/3); F(2)=(0.5*z^2-x+y+z+5)^(1/3); F(3)=(0.5*x*y+0.1*z^2); F=F'; %Para que salga como columna function J=jacobiano(F,x) incx=x*(eps^0.5); dincx=diag(incx); Fx=feval(F,x); J=[]; for i=1:length(x) xincx=x+dincx(:,i); %Solo incrementamos la variable 'i' Fxincx=feval(F,xincx); Deriva=(Fxincx-Fx)/incx(i); J=[J Deriva]; End

f1 x f 2 x

f1 x k f1 ( x k , y k ) y y = f2 k f2 ( x k ,y k ) y x = x k
y= yk

x k + 1 = x k J 1 f ( x k ) k
function x=newton(F,x0,tol) % La funcion F debe estar en la forma f(x)=0 J=jacobiano(F,x0); x1=x0-inv(J)*feval(F,x0); error=norm(x1-x0);

38

contador=0; while error>=tol J=jacobiano(F,x1); x2=x1-inv(J)*feval(F,x1); error=norm(x2-x1); x1=x2; contador=contador+1; end x=x1; contador function F=ejemplonewton(X) x=X(1); y=X(2); F(1)=2*x+y^2+x*y-1; F(2)=x^3+x^2+3*y-2; F=F';

x k +1 = x k H k f ( x k ) zT H k y k k p k =x k +1 x k = xk ; y k =f (x k +1 ) f (x k )
H0= Identidad o Jacobiano del punto inicial
function x=broyden(F,x0,tol) % La funcion F debe estar en la forma f(x)=0 n=length(x0);% Numero de ecuaciones H0=eye(n); x1=x0-H0*feval(F,x0); error=norm(x1-x0); contador=0; while error>=tol p0=x1-x0; y0=feval(F,x1)-feval(F,x0); H1=H0-((H0*y0-p0)*p0'*H0)/(p0'*H0*y0); x2=x1-H1*feval(F,x1); error=norm(x2-x1); x0=x1; x1=x2; contador=contador+1; end x=x1; contador

H k +1 = H k

( H k y k p k ) zT H k k

s el a e nil o n s e n oi c a u c e e d n i c ul o s e R : 3 a m e T

nedyorB :0=)x(f opit sodotM .7.7

Potrebbero piacerti anche