You are on page 1of 8

DINMICA Y CONTROL DE PROCESOS

ILM 1


3 TCNICAS NUMRICAS


Introduccin

Como vimos en el captulo anterior la mayora de nuestros modelos dinmicos
conducen a ecuaciones diferenciales. En buena parte de los casos la resolucin analtica
es difcil cuando no inexistente y por lo tanto es necesario recurrir a resoluciones
numricas. Sin pretender abarcar los aspectos del clculo numrico trataremos de hacer
una brevsima referencia a algunas tcnicas de resolucin numrica de ecuaciones,
apoyndonos en el paquete de clculo SCILAB.

SCILAB es un paquete de clculo de cdigo abierto y licencia libre desarrollado
originalmente por el INRIA de Narbonne, Francia. Se puede descargar de la siguiente
direccin:
www.scilab.org

o alternativamente de
www.scicoslab.com

y tiene asociado un programa grfico de simulacin denominado SCICOS.

Scilab est pensado para el manejo de matrices y vectores aunque se pueden desarrollar
todas las ecuaciones de clculo que interesen. Adems de las operaciones elementales,
el programa cuenta con funciones predefinidas as como elementos que permiten
utilizarlo para la programacin. Ver el ejemplo ejem3.1.sce; para ejecutarlo, una vez
abierta la consola de Scilab y seleccionado el directorio correspondiente, escribir:
exec(ejem3.1.sce) y luego presionar la tecla Enter.


Ecuaciones algebraicas

Como hemos mencionado los modelos dinmicos implican en general ecuaciones
diferenciales. Para resolver dichas ecuaciones se necesita conocer las condiciones
iniciales o de contorno; normalmente se parte del sistema en estado estacionario. Sin
embargo, en condiciones estacionarias, al igualar a cero el cambio con la variable
tiempo, las ecuaciones diferenciales ordinarias se transforman en algebraicas.

Supongamos un sistema de n ecuaciones con n incgnitas







Expresado en forma matricial


n n nn n n n
n n
n n
b x a x a x a x a
b x a x a x a x a
b x a x a x a x a
= + + + +
= + + + +
= + + + +
...
:
...
...
3 3 2 2 1 1
2 2 3 23 2 22 1 21
1 1 3 13 2 12 1 11
DINMICA Y CONTROL DE PROCESOS

ILM 2











O bien en forma ms compacta


Resolver este sistema de ecuaciones quiere decir hallar las races de



Multiplicando por la matriz inversa de A





La resolucin de este sistema en Scilab puede hacerse fcilmente (ver ejem3.2.sce).


Funciones de una variable

An en funciones de una variable muchas veces es necesario recurrir a una tcnica
numrica. Por ejemplo, si se quiere hallar la solucin de f(x) = 0 se realizan k
iteraciones partiendo de determinado valor inicial de x hasta satisfacer determinado
criterio de convergencia

Tambin suele tomarse la convergencia referida a la variable en lugar de la funcin:
tolerancia absoluta:


tolerancia relativa:


Un mtodo simple es el de sustitucin directa: sea la ecuacin f(x) = 0 , la reescribimos
de la siguiente forma x =g(x) . Esto nos permite plantear una interaccin de la forma
x
k+1
= g(x
k
) . Se realizan iteraciones hasta encontrar x
*
que satisfaga determinado criterio
de convergencia de modo que x
*
=g(x
*
).

Por ejemplo, consideremos un RCAI donde se da una reaccin de segundo orden. Del
balance de masa

r
k
k k
x
x x
c s

1
1
(
(
(
(
(
(
(
(

=
(
(
(
(
(
(
(
(

(
(
(
(

n n
nn n n n
n
n
b
b
b
b
x
x
x
x
a a a a
a a a a
a a a a
.
.
.
.
. .
. . . . . .
. .
. .
3
2
1
3
2
1
3 2 1
2 23 22 21
1 13 12 11
b Ax =
( ) b Ax x f =
b A x
I A A
b A Ax A
1
1
1 1


=
=
=
como
( ) c s
k
x f
r k k
x x c s
1
DINMICA Y CONTROL DE PROCESOS

ILM 3




Si, por ejemplo, v/V = 1 min
-1
, C
Ain
= 1 gmol/L, k = 1 L/(gmol.min), en estado
estacionario


O escribiendo x = C
As



Escribimos

realizamos las iteraciones


Por ejemplo, partiendo de x
o
= 0.5





Que converge lentamente a 0.618 (vase ejem3.3.sce). Si graficamos la evolucin de
las distintas soluciones



A pesar de su simplicidad pueden generarse problemas si no se elije adecuadamente el
punto de partida. Por ejemplo partiendo de x
o
= 0 las iteraciones no convergen sino que
oscilan entre el valor 0 y el valor 1.

0 2 4 6 8 10 12 14 16 18 20
0.50
0.55
0.60
0.65
0.70
0.75
k
x
(
k
)
2
A A Ain
A
kC C
V
v
C
V
v
dt
dC
=
0 1
2
=
As As
C C
( ) 1
2
+ = x x x f
( ) x g x x x x = + = + = 1 1
2
( )
k k k
x g x x = + =
+
1
1
5680 . 0 1 6774 . 0
6774 . 0 1 5412 . 0
5412 . 0 1 7071 . 0
7071 . 0 1 5 . 0
4
3
2
1
= + =
= + =
= + =
= + =
x
x
x
x
DINMICA Y CONTROL DE PROCESOS

ILM 4



Otro mtodo muy utilizado es el de la biseccin: partiendo de dos puntos x
1
y x
2
tales
que el valor de la funcin evaluada en ellos sea de distinto signo, se evala la funcin en
el punto intermedio x
3
. Si es del mismo signo que x
1
se sustituye por ste (en idntica
forma si fuera x
2
) y as sucesivamente hasta satisfacer determinado criterio de
convergencia.





El mtodo de reguli falsi es similar al anterior aunque el punto de iteracin surge de
realizar la interseccin de la recta que une los dos puntos de la curva seleccionados con
el eje de abscisas,
0 2 4 6 8 10 12 14 16 18 20
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
k
x
(
k
)
DINMICA Y CONTROL DE PROCESOS

ILM 5


Tambin se recurre normalmente a los mtodos de Newton o variaciones del mismo.
Para ello es necesario conocer la pendiente en el punto en el que se est evaluando la
funcin. De la interseccin de dicha pendiente con el eje de abscisas surge el siguiente
punto de la iteracin. Es un mtodo que tiene una convergencia mucho ms rpida que
los anteriores, si bien requiere mayor informacin (conocer la derivada).




El paquete de clculo Scilab tiene la funcin fsolve que permite halla las races de una
funcin (ver ejem3.4.sce).


Funciones de varias variables

Para sistemas multivariable la estrategia es similar. Si
es el sistema de ecuaciones con varias variables








usando la expansin por Taylor


( )
( )
( )
(
(
(
(
(
(

=
(
(
(
(
(
(

0
.
.
0
0
,..., ,
.
.
,..., ,
,..., ,
2 1
2 1 2
2 1 1
n n
n
n
x x x f
x x x f
x x x f
( ) 0 x f =
( ) ( ) ....
1
+ A
c
c
+ = +

=
j
n
j j
i
i i
x
x
f
f f x x x
DINMICA Y CONTROL DE PROCESOS

ILM 6

y despreciando los trminos superiores


donde







Y las iteraciones se resuelven segn





La misma funcin de Scilab fsolve puede utilizarse para un sistema con varias variables
y tambin admite trabajar con la matriz Jacobiana (ver ejem3.4.sce).


Estabilidad de soluciones numricas

Cuando trabajamos con resoluciones numricas de ecuaciones es importante evaluar la
estabilidad de la solucin, esto es, si converge hacia un determinado valor, oscila entre
una o ms soluciones o diverge, creciendo en forma indefinida. Una forma de analizar la
estabilidad es considerar que si se puede escribir la ecuacin en la forma x = g(x) debe
cumplirse que x
*
es una solucin estable si


evaluada en x
*
.

Por ejemplo, en el mtodo de Newton









Por lo tanto el mtodo converge siempre que f(x
*
) 0







( ) ( ) x J x f x x f + = +
(
(
(
(
(
(

c
c
c
c
c
c
c
c
c
c
c
c
=
n
n n n
n
x
f
x
f
x
f
x
f
x
f
x
f
. .
. . . . .
. . . . .
. .
2 1
1
2
1
1
1
J
( )
( )
( )
k
1
k k 1 k
k
1
k k
x f J x x
x f J x
x J x f

=
=
= + 0
1 <
c
c
x
g
( )
( )
( )
k
k
k k k
x f
x f
x x g x
'
= =
+1
( )
( )
( )
( ) ( )
( ) | |
( ) ( )
( ) | |
2 2
1
k
k k
k
k k
k
k
k
x f
x f x f
x f
x f x f
x f
x f
x g
'
' '
=
'
' '
+
'
'
= '
( )
( ) ( )
( ) | |
2
*
* *
*
x f
x f x f
x g
'
' '
= '
DINMICA Y CONTROL DE PROCESOS

ILM 7

Integracin numrica

Si se tiene una ecuacin diferencial ordinaria

Pueden idearse distintas estrategias para realizar la integracin numrica. Por ejemplo,
en el mtodo de Euler denominado explicito se realiza la siguiente aproximacin:




Normalmente se utiliza un intervalo de tiempo constante entre las iteraciones



entonces

o bien en sistemas de varias variables


En el denominado mtodo de Euler implcito se considera









Vase el ejem3.5.sce.

Otros mtodos que proporcionan resultados ms ajustados que el de Euler son los de
Runge-Kutta. Veamos el caso ms sencillo: la idea es usar Euler para evaluar el valor de
la funcin en la mitad del intervalo.



Sea m
1
la pendiente en el punto inicial y m
2
la pendiente en el punto del medio.
( ) x f
dt
dx
=
( ) ( )
( ) ( ) k t k t
k x k x
dt
dx
+
+
~
1
1
( ) ( )
( ) ( )
t
k x k x
k x f
A
+
~
1
( ) ( ) ( ) ( ) k x f t k x k x A + = +1
( ) ( ) ( ) ( ) k t k k x f x x A + = +1
( ) ( )
( ) ( )
t
k x k x
k x f
A
+
~ +
1
1
( ) ( ) ( ) ( ) 1 1 + A + = + k x f t k x k x
( ) ( ) ( ) ( ) 1 1 + A + = + k t k k x f x x
DINMICA Y CONTROL DE PROCESOS

ILM 8








Este concepto se puede extender para utilizar ms puntos intermedios. Por ejemplo para
el mtodo de Runge-Kutta de 4 orden












Scilab posee una rutina de integracin basada en estos mtodos denominada ode (ver
ejem3.6.sce y ejem3.7.sce).
( ) ( ) ( )
( ) ( )
( ) ( ) t m k x k x
m
t
k x
t
k t f m
k x k t f m
A + = +
|
.
|

\
| A
+
A
+ =
=
2
1 2
1
1
2
,
2
,
( ) ( ) ( )
( ) ( )
( ) ( )
( ) ( ) ( )
( ) ( ) t
m m m m
k x k x
t m k x t k t f m
m
t
k x
t
k t f m
m
t
k x
t
k t f m
k x k t f m
A
(

+ + + + = +
A + A + =
|
.
|

\
| A
+
A
+ =
|
.
|

\
| A
+
A
+ =
=
6 3 3 6
1
,
2
,
2
2
,
2
,
4 3 2 1
3 4
2 3
1 2
1

You might also like