Download Linealizacion de Funciones No Lineales...
Linealizaci´on de Funciones No Lineales Antonio Flores T.
∗
January 29, 2009
”Computers are incredibly fast, accurate, and stupid; humans are incredibly slow, inaccurate and brilliant; together they are powerful beyond imagination.” Albert Einstein.
1
Introducci´ on
Una gran parte de la teor´ıa desarrollada para el dise˜ no de sistemas de control emplea modelos matem´aticos lineales del proceso que se desea controlar a lazo cerrado. Sin embargo, la inmensa mayor´ıa de sistemas en procesos qu´ımicos exhibe conducta no lineal. Ejemplo de sistema altamente no lineal lo constituye el campo de reactores qu´ımicos a´ un para reacciones muy simples. Entonces planteamos la siguiente pregunta: C´omo podemos emplear teor´ıa de control lineal para el control de sistemas no lineales ? Una forma simple de responder a esta pregunta es: empleando alg´ una de forma de transformar el sistema no lineal en uno lineal. De esta forma el modelo ”linealizado” puede ser empleado para el dise˜ no del sistema de control del modelo no lineal original. Una posible ruta para el dise˜ no del sistema de control se muestra en la siguiente figura. Modelo No Lineal
Modelo Lineal
Diseno del Controlador
Prueba del Controlador
empezamos derivando el modelo (muy probablemente) no lineal del proceso que deseamos controlar. A continuaci´on lo transformamos en un modelo lineal (el procedimiento de transformaci´on ser´a explicado en esta parte). Posteriormente dise˜ namos el sistema de control para el modelo linealizado. Finalmente el sistema de control se prueba ya sea empleando el modelo lineal, o bien, el modelo no lineal original. En esta parte mostramos la manera mediante la cual una funci´on no lineal f (x, u) puede ser representada aproximadamente por una funci´on lineal alrededor de un cierto punto xs (normalmente un estado estacionario del proceso). ∗
E-mail:
[email protected], http://kaos.dci.uia.mx/aflores, phone/fax: (+52)5 2674279
1
2
Qu´ e es una funci´ on lineal ?
Supongamos que una cierta variable y depende de alguna otra variable x a trav´es de alguna funci´on f (·) de manera tal que y = f (x)
(2.1)
decimos que la relaci´on entre las variables y y x es lineal si la funci´on f (·) es la ecuaci´on de la l´ınea recta, y = mx + b
(2.2)
donde m representa la pendiente y b es la intersepci´on al origen. En este caso, es claro que f (x) = mx + b
(2.3)
En algunos casos la variable y puede depender de m´as de una variable x1 , . . . , xn y = f (x1 , . . . , xn )
(2.4)
si la relaci´on entre y y x es lineal entonces y = m 1 x1 + . . . + m n xn
(2.5)
o bien y=
n X
m i xi
(2.6)
i=1
donde f (x) =
n X
m i xi
(2.7)
i=1
Definici´ on 1 : Funci´ on Lineal. La funci´on f (x) es lineal cuando est´a dada exactamente por la ecuaci´ on 2.7. N´otese que la u ´nica diferencia entre las ecuaciones 2.3 y 2.7 es que en la ecuaci´on 2.3 f (·) depende de una variable x, mientras que en la ecuaci´on 2.7 f (·) depende de n variables x1 , . . . , xn .
3
Qu´ e es una funci´ on no lineal ?
Debemos notar que en practicamente todos los procesos qu´ımicos la funci´on f (·) es no-lineal. Esto significa que si la variable y depende de la variable x, y si la relaci´on entre ambas variables es no-lineal, entonces f (·) no puede representarse en t´erminos de la ecuaci´on 2.7. 2
Definici´ on 2 : Funci´ on No Lineal. Cualquier funci´on f (x) que no pueda representarse en t´erminos de la ecuaci´ on 2.7 se dice que es no-lineal. Los siguientes ecuaciones representan relaciones no lineales y = 5 + ln(x) y = 3e−2 + 6 y = x1 x2 + x3 x1 y = x3 + cos(x4 ) x2
(3.8) (3.9) (3.10) (3.11)
es claro que ninguna de estas ecuaciones puede reescribirse, o representarse, en una forma semejante a la ecuaci´on 2.7. Como otro ejemplo de una funci´on no lineal considere la ecuaci´on de Antoine, B
P o = eA− T +C
(3.12)
que representa la presi´on de vapor P o de compuestos puros como funci´on de la temperatura T . En la gr´afica 1 se muestra le curva de presi´on de vapor para el agua, de esta gr´afica es f´acil observar que la relaci´on entre P o y T es no lineal. 1
0.9
0.8
Presion de Vapor (atm)
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
10
20
30
40
50 60 Temperatura (C)
70
80
90
100
Figura 1: Presi´on de vapor del agua como funci´on de la temperatura; A =18.3036,B=3816.44,C=-46.13. T est´a en o K y P o en mmHg.
4
Significado de la linealizaci´ on
Linealizar una funci´on no lineal f (x, u) significa reemplazarla por otra funci´on lineal f¯(x, u). Si las dos funciones representan b´asicamente el mismo proceso, para qu´e sirve representar una funci´on no lineal por otra lineal ? 3
Usualmente esta aproximaci´on se realiza alrededor de un punto denotado por (xs , us ) tal como se muestra en la siguiente figura.
funcion lineal
f(x,u)
funcion no lineal 0 1 0 1 0 1
s s f(x ,u )
region donde la linealizacion es valida
s x
x
la linea continua representa la funci´on no lineal f (x, u). El c´ırculo negro es el punto (xs , us ) alrededor del cual se realiza la linealizaci´on de la funci´on no lineal. Como se observa, la aproximaci´on (o linealizaci´on) s´olo es v´alida en el interior de una regi´on, denotada por el c´ırculo externo. En t´erminos generales no podemos decir de que tama˜ no es la regi´on donde es v´alida la linealizaci´on; todo lo que podemos decir es que es peque˜ na. La linea discontinua representa la funci´on linealizada. Es com´ un referirnos al proceso de linealizaci´on como un proceso local. Lo que esto significa es que la linealizaci´on s´olo es v´alida en un punto (alrededor del cual se realiz´o la linealizaci´on) y no en todo en el int´ervalo de definici´on de la funci´on f (x, u).
5 5.1
Procedimiento de linealizaci´ on Caso univariable
Supongamos que tenemos un sistema din´amico no lineal el cual consiste de una variable de entrada (u) y de un variable de salida (x) representado por la siguiente ecuaci´on, dx = f (x, u) (5.13) dt y que deseamos aproximar la conducta de este sistema no lineal por la de un sistema lineal alrededor de un punto xs el cual es un estado estacionario del sistema representado por la ecuaci´on anterior. Expandiendo el lado derecho de la ecuaci´on 5.13 (el cual contiene el t´ermino no lineal) en series de Taylor hasta la primera derivada, Ã
∂f f (x, u) ≈ f (x , u ) + ∂x s
s
!
Ã
∂f (x − x ) + ∂u xs ,us
!
s
4
(u − us ) + T.O.S. xs ,us
(5.14)
donde T.O.S. representa los t´erminos de orden superior en la expansi´on de Taylor. Dado que la expansi´on se realiza alrededor del estado estacionario (xs , us ) esto significa que la ecuaci´on 5.13 se puede reescribir como, dxs = f (xs , us ) = 0 dt
(5.15)
entonces en virtud de que xs es constante el lado izquierdo de la ecuaci´on 5.13 puede reescribirse como: dx d(x − xs ) d¯ x (5.16) = = dt dt dt donde, x¯ = x − xs (5.17) representa el alejamiento o desviaci´on de la variable x del estado estacionario xs . Es bastante com´ un emplear variables de desviaci´on cuando se analiza la conducta de sistemas lineales. En t´erminos de variables de desviaci´on la ecuaci´on original a linealizar (ec. 5.13) se reescribe como: d¯ x (5.18) = f (x, u) dt sustituyendo f (x, u) obtenida de la expasi´on de Taylor (ec. 5.14) en la ecuaci´on anterior (y recordando que f (xs , us ) = 0), d¯ x = dt
Ã
∂f ∂x
!
Ã
∂f x¯ + ∂u xs ,us
!
u¯
(5.19)
xs ,us
donde se han despreciado los t´erminos de orden superior. Si definimos, Ã
a = Ã
b =
∂f ∂x ∂f ∂u
!
(5.20) !
xs ,us
(5.21) xs ,us
la ecuaci´on 5.19 se puede reescribir como, d¯ x = a¯ x + b¯ u dt
(5.22)
la cual constituye una ecuaci´on diferencial lineal en t´erminos de las variables x y u. Por supuesto para garantizar linealidad de la ecuaci´on anterior se requiere que los coeficientes a y b (es decir las derivadas parciales) sean constantes. 5
5.2
Caso multivariable
El procedimiento para linealizar el sistema de ecuaciones diferenciales ordinarias no lineales, dx1 = f1 (x1 , ..., xn , u1 , ..., um ) dt . . . dxn = fn (x1 , ..., xn , u1 , ..., um ) dt
(5.23)
(5.24)
es simplemente una generalizaci´on del caso univariable discutido en la seccion 5.1. Expandiendo el lado derecho del anterior sistema de ecuaciones diferenciales alrededor de un estado estacionario ps denotado por, ps = [xs1 , ..., xsn , us1 , ..., usm ]T
(5.25)
tenemos, Ã
f1
∂f1 ≈ f1 (ps ) + ∂x1 Ã
+... + . . . fn
!
(x1 −
!
Ã
(xn −
xsn )
ps
∂f1 + ∂u1
!
(u1 − us1 ) ps
(5.26)
ps
∂fn ≈ fn (ps ) + ∂x1 +... +
∂f1 + ... + ∂xn
(um − usm ) + T.O.S.
!
Ã
Ã
ps
!
∂f1 ∂um
Ã
xs1 )
(x1 −
!
∂fn ∂um
Ã
xs1 )
ps
∂fn + ... + ∂xn
!
Ã
(xn − ps
xsn )
∂fn + ∂u1
!
(u1 − us1 ) ps
(um − usm ) + T.O.S.
(5.27)
ps
el sistema original de ecuaciones diferenciales se reescribe como: dx1 d(x1 − xs1 ) d¯ x1 = = = f1 (x1 , ..., xn , u1 , ..., um ) dt dt dt . . . s d(xn − xn ) d¯ xn dxn = = = fn (x1 , ..., xn , u1 , ..., um ) dt dt dt
(5.28)
(5.29)
sustituyendo en la ecuaci´on anterior todas las funciones fi que se expandieron anteriormente en series de Taylor (despreciando los t´erminos de orden superior): d¯ x1 = dt
Ã
∂f1 ∂x1
!
Ã
∂f1 x¯1 + ... + ∂xn ps
!
Ã
∂f1 x¯n + ∂u1 ps 6
!
Ã
∂f1 u¯1 + ... + ∂um ps
!
u¯m(5.30) ps
. . . d¯ xn = dt
Ã
∂fn ∂x1
!
Ã
∂fn x¯1 + ... + ∂xn ps
!
Ã
∂fn x¯n + ∂u1 ps
!
Ã
∂fn u¯1 + ... + ∂um ps
!
u¯m(5.31) ps
donde debe recordarse ya que la expansi´on se realiz´o alrededor del estado estacionario ps entonces, f (ps ) = 0
(5.32)
el anterior sistema de ecuaciones puede escribirse en notaci´on matricial de la siguiente forma: d¯ x = A¯ x + B¯ u dt
(5.33)
donde, d¯x 1 dt . d¯ x = . dt .
, x ¯=
d¯ xn dt
³
´
∂f1 ∂x1 ps
. . A= ³ .´ ∂f n
∂x1 ps
³
´
∂f1 ∂u1 ps
. . B= ³ .´ ∂f n
∂u1 ps
x¯1 . . . x¯n
, u ¯=
. . . . . . .
. . . .
. . . .
³
´
∂f1 ∂xn ps
. . . . . ³ .´ ∂fn . ∂x n
. . . . . . .
³
u¯1 . . . u¯m
(5.34)
ps
´
∂f1 ∂um ps
. . . . . ³ .´ ∂fn . ∂u m
(5.35)
ps
El siguiente ejemplo muestra el procedimiento para linealizar una ecuaci´on diferencial no lineal en t´erminos de una variable de entrada y una variable de salida, o respuesta, de un sistema. Ejemplo 1 Considerese la operaci´on isot´ermica de un reactor tanque agitado donde se efectua la reacci´on de segundo orden A → B. El modelo matem´atico del proceso, el cual describe la variaci´on de la concentraci´on del reactivo A, est´a dada por: dCA Q = (CAo − CA ) − kCA2 dt V 7
(5.36)
linealizar el modelo suponiendo que la entrada al proceso es el flujo volum´etrico Q y la salida, o respuesta, es la concentraci´on CA . Como puede notarse el lado derecho de la ecuaci´on 5.36 es no lineal en t´erminos de CA . Definiendo, Q (CAo − CA ) − kCA2 V
f (CA , Q) =
linealizando esta funci´on alrededor de un estado estacionario denotado por (CAs , Qs ): Ã
f (CA , Q) ≈
f (CAs , Qs )
∂f + ∂CA
Ã
!
(CA −
∂f + ∂Q
CAs )
s ,Qs CA
!
(Q − Qs ) + T.O.S. s ,Qs CA
dado que, f (CAs , Qs ) = 0 la funci´on linealizada se reescribe como (despreciando los t´erminos de orden superior), Ã
f (CA , Q) =
∂f ∂CA
!
Ã
∂f C¯A + ∂Q C s ,Qs
!
A
¯ Q s ,Qs CA
sustituyendo esta ecuaci´on en el lado derecho de la ecuaci´on 5.36, dCA = dt
Ã
∂f ∂CA
!
Ã
∂f C¯A + ∂Q C s ,Qs A
!
¯ Q s ,Qs CA
el lado izquierdo de esta ecuaci´on puede escribirse en t´erminos de variables de desviaci´on, dCA d(CA − CAs ) dC¯A = = dt dt dt entonces, dC¯A = dt
Ã
∂f ∂CA
!
Ã
C¯A + s ,Qs CA
∂f ∂Q
!
¯ Q s ,Qs CA
evaluando las derivadas parciales, Ã
∂f ∂CA
Ã
∂f ∂Q
!
= − s ,Qs CA
!
= s ,Qs CA
Qs − 2kCAs V
CAo − CAs V
finalmente, la ecuaci´on diferencial linealizada en t´erminos de CA y Q, est´a dada por: µ
¶
µ
¶
CAo − CAs ¯ dC¯A Qs =− + 2kCAs C¯A + Q dt V V 8
a continuaci´on mostramos como realizar el procedimiento de linealizaci´on de un sistema de ecuaciones diferenciales no lineales en t´erminos de varios par´ametros de entrada y salida del sistema. Ejemplo 2 Consiredese la operaci´on isot´ermica de un reactor tanque agitado donde k k ocurre el siguiente sistema de reacciones en serie A →1 B →2 C. El modelo matem´atico del reactor, el cual describe la variaci´on de las concentraciones de los componentes A y B, est´a dado por: dCA Q = (CAo − CA ) − k1 CA2 (5.37) dt V Q dCB = (CBo − CB ) + k1 CA2 − k2 CB (5.38) dt V linealizar este sistema de ecuaciones usando como variables de entrada el flujo volum´etrico Q, la concentraci´on del reactivo A en la corriente de alimentaci´on CAo , y la concentraci´on de B en la misma corriente CBo . Las variables de salida, o respuesta del sistema, son CA y CB . Realizar la linealizaci´on alrededor de un estado estacionario denotado s s por ps = (Qs , CAo , CBo , CAs , CBs ). Los t´erminos no lineales son los lados derechos de las ecuaciones anteriores, Q f1 (p) = (CAo − CA ) − k1 CA2 V Q f2 (p) = (CBo − CB ) + k1 CA2 − k2 CB V linealizando ambas funciones alrededor del punto ps , Ã
∂f1 f1 (p) ≈ f1 (p ) + ∂CA
!
Ã
s
Ã
+
∂f1 ∂CAo
!
(CA − ps
ps
∂f2 f2 (p) ≈ f2 (p ) + ∂CA
!
∂f2 ∂CAo
!
∂f1 + ∂CB ∂f1 ∂CBo
(CA −
CAs )
ps
Ã
s (CAo − CAo )+ ps
Ã
(CB −
∂f1 + ∂Q
CBs )
ps
!
(Q − Qs ) ps
s (CBo − CBo ) + T.O.S. ps
∂f2 + ∂CB ∂f2 ∂CBo
!
!
Ã
s
+
Ã
s (CAo − CAo )+
Ã
Ã
CAs )
!
Ã
(CB −
∂f2 + ∂Q
CBs )
ps
!
!
(Q − Qs ) ps
s (CBo − CBo ) + T.O.S. ps
ya que, f1 (ps ) = 0 f2 (ps ) = 0 las funciones linealizadas se escriben como (despreciando t´erminos de orden superior), Ã
f1 (p) = Ã
f2 (p) =
∂f1 ∂CA ∂f2 ∂CA
!
Ã
C¯A + !
ps
Ã
C¯A + ps
∂f1 ∂CB ∂f2 ∂CB
!
Ã
∂f1 C¯B + ∂Q ps
!
Ã
∂f2 C¯B + ∂Q ps 9
!
Ã
¯+ Q !
ps
Ã
¯+ Q ps
∂f1 ∂CAo ∂f2 ∂CAo
!
Ã
C¯Ao + ps
!
Ã
C¯Ao + ps
∂f1 ∂CBo ∂f2 ∂CBo
!
C¯Bo ps
!
C¯Bo ps
sustituyendo estas ecuaciones en los lados derechos de las ecuaciones 5.37 y 5.38, Ã
dCA = dt dCB dt
Ã
=
∂f1 ∂CA ∂f2 ∂CA
!
Ã
∂f1 C¯A + ∂CB ps
!
Ã
∂f2 C¯A + ∂CB ps
!
!
Ã
∂f1 C¯B + ∂Q ps Ã
∂f2 C¯B + ∂Q ps
!
Ã
¯ + ∂f1 Q ∂CAo ps
!
Ã
¯ + ∂f2 Q ∂CAo ps
!
!
Ã
∂f1 C¯Ao + ∂CBo ps Ã
∂f2 C¯Ao + ∂CBo ps
!
C¯Bo !
ps
C¯Bo ps
los lados izquierdos de estas ecuaciones pueden reescribirse como, dCA d(CA − CAs ) dC¯A = = dt dt dt dCB d(CB − CBs ) dC¯B = = dt dt dt entonces, !
Ã
Ã
!
Ã
!
!
Ã
Ã
!
∂f1 ∂f1 ∂f1 dC¯A ∂f1 ¯ + ∂f1 = C¯A + C¯B + Q C¯Ao + C¯Bo dt ∂CA ps ∂CB ps ∂Q ps ∂CAo ps ∂CBo ps à ! à ! à ! à ! à ! dC¯B ∂f2 ∂f ∂f ∂f ∂f 2 2 2 2 ¯+ = C¯A + C¯B + Q C¯Ao + C¯Bo dt ∂CA ps ∂CB ps ∂Q ps ∂CAo ps ∂CBo ps o en notaci´on matricial, "
¯A dC dt ¯B dC dt
³
#
=
´
∂f1 ³ ∂CA ´ps ∂f2 ∂CA ps
³
´
∂f1 ³ ∂CB ´ps ∂f2 ∂CB ps
"
C¯A C¯B
#
³
+
´
∂f1 ³ ∂Q ´ps ∂f2 ∂Q ps
³
´
∂f1 ³ ∂CAo ´ps ∂f2 ∂CAo ps
³
´
∂f1 ³ ∂CBo ´ps ∂f2 ∂CBo ps
¯ Q ¯ CAo C¯Bo
evaluando y sustituyendo las derivadas parciales, "
¯A dC dt ¯B dC dt
#
"
=
s −( QV
+ 2k1 CAs ) 2k1 CAs
s −( QV
0 + k2 )
#"
C¯A C¯B
#
+
" C −C s Ao A
V s CBo −CB V
Qs V
0
0 Qs V
#
¯ Q ¯ CAo C¯Bo
este grupo de ecuaciones diferenciales linealizadas se pueden escribir en la notaci´on m´as com´ un de espacio de estado: d¯ x = A¯ x + B¯ u dt donde, d¯ x = dt
" "
¯A dC dt ¯B dC dt
# #
C¯A x ¯ = C¯B ¯ Q ¯Ao u ¯ = C C¯Bo 10
"
A = B =
s
−( QV + 2k1 CAs ) 0 s 2k1 CAs −( QV + k2 )
" C −C s Ao A
V s CBo −CB V
Qs V
0
#
#
Qs V
0
En el ejemplo anterior hemos analizado como obtener la respuesta del reactor isot´ermico, en t´erminos de ciertas variables de entrada, cuando dicha respuesta est´a representada por los estados (CA , CB ) del reactor. Sin embargo, si se deseara analizar la respuesta del reactor en t´erminos del grado de conversi´on XA definido como, XA =
CAo − CA CAo
(5.39)
esta no podr´ıa obtenerse directamente ya que XA , tal como ha sido formulado el modelo matem´atico del reactor, no es un estado del sistema. Sin embargo, XA es funci´on de un estado (CA ) del sistema. En casos como el anterior, la variable de salida es alguna combinaci´on de los estados y de las variables de entrada, y = g(x, u) (5.40) donde y es el vector de variables de salida. Dado que, en general, la funci´on g(x, u) puede ser de naturaleza no lineal debemos tambi´en linealizar la ecuaci´on 5.40. Entonces linealizando alrededor de un estado estacionario denotado por ps = (xs , us ) tenemos, Ã
g1
∂g1 ≈ g1 (p ) + ∂x1 Ã
+... + . . . gn
!
Ã
s
∂g1 ∂um
(x1 −
!
ps
∂gn ≈ gn (p ) + ∂x1 ∂gn ∂um
!
Ã
(xn −
xsn )
ps
∂g1 + ∂u1
!
(u1 − us1 ) ps
(5.41)
ps
Ã
+... +
∂g1 + ... + ∂xn
(um − usm ) + T.O.S.
!
Ã
s
Ã
xs1 )
(x1 −
!
ps
xs1 )
∂gn + ... + ∂xn
(um − usm ) + T.O.S.
!
Ã
(xn − ps
xsn )
∂gn + ∂u1
!
(u1 − us1 ) ps
(5.42)
ps
de la ecuaci´on 5.40 sabemos que, y s = g(ps ) 11
(5.43)
por lo cual (despreciando t´erminos de orden superior), Ã
g1
gn
!
Ã
!
Ã
!
Ã
!
∂g1 ∂g1 ∂g1 ∂g1 = y1s + x¯1 + ... + x¯n + u¯1 + ... + u¯m ∂x1 ps ∂xn ps ∂u1 ps ∂um ps . . . Ã ! ! ! ! Ã Ã Ã ∂g ∂g ∂g ∂g n n n n = yns + x¯1 + ... + x¯n + u¯1 + ... + u¯m ∂x1 ps ∂xn ps ∂u1 ps ∂um ps
sustituyendo estas ecuaciones en el lado derecho de la ecuaci´on 5.40 resulta (en notaci´on matricial): y ¯ = C¯ x + D¯ u
(5.44)
donde, y ¯=
y¯1 . . . y¯n
, x ¯=
³
´
∂g1 ∂x1 ps
. . C= ³ .´ ∂g n
∂x1 ps
³
´
∂g1 ∂u1 ps
. . D= ³ .´ ∂g n
∂u1 ps
x¯1 . . . x¯n
, u ¯=
. . . . . . .
. . . .
. . . .
³
´
∂g1 ∂xn ps
. . . . . ³ .´ ∂gn . ∂x n
. . . . . . .
³
u¯1 . . . u¯m
(5.45)
ps
´
∂g1 ∂um ps
. . . . . ³ .´ ∂gn . ∂u m
(5.46)
ps
En resumen la notaci´on de un sistema lineal (o linealizado) puede representarse en t´erminos de las ecuaciones 5.33 y 5.44 la cual, como se mencion´o antes, se denominada el espacio de estado del sistema: d¯ x = A¯ x + B¯ u dt y ¯ = C¯ x + D¯ u 12
Ejemplo 3 Determinar la estructura de las matrices C y D del ejemplo 2 usando como variables de salida (o variables medidas): • CA , CB en este caso, g1 (x, u) = CA − CAs g2 (x, u) = CB − CBs
(5.47) (5.48)
entonces ya que, "
y¯1 y¯2
³
#
=
´
³
∂g1 ³ ∂CA ´ ∂g2 ∂CA
´ " # ³ ∂g1 ´ ³ ∂g1 ´ ¯A C ∂Q ´ ³ ∂CAo ´ + ³ ∂g ∂g2 ¯ 2
∂g1 ³ ∂CB ´ ∂g2 ∂CB
CB
∂Q
∂CAo
³
´ ¯ Q ¯ CAo
∂g1 ³ ∂CBo ´ ∂g2 ∂CBo
C¯Bo
sustituyendo las derivadas parciales, "
y¯1 y¯2
#
"
=
1 0 0 1
#"
#
C¯A C¯B
"
+
0 0 0 0 0 0
#
¯ Q ¯ CAo C¯Bo
aunque parece redundante escribir la matriz D en la ecuaci´on anterior, se ha hecho s´olo para enfatizar que, en general, la respuesta del sistema y ¯ no depende directamente de las entradas al sistema u ¯ . Es decir, no hay un efecto directo de las entradas sobre la respuesta del sistema. Entonces en este caso, "
#
y¯1 y¯2
"
1 0 0 1
=
#"
C¯A C¯B
#
• CA , CB , XA adem´as de las ecuaciones 5.47 y 5.48 debemos emplear la definici´on de grado de conversi´on, g3 (x, u) =
CAo − CA CAo
(5.49)
entonces,
³
y¯1 y ¯ = 2 y¯3
´
³
∂g1 ³ ∂CA ´ ∂g2 ³ ∂CA ´ ∂g3 ∂CA
´
∂g1 ³ ∂CB ´ ∂g2 ³ ∂CB ´ ∂g3 ∂CB
³ "
C¯A C¯B
#
+
´ ³
∂g1 ³ ∂Q ´ ∂g2 ³ ∂Q ´ ∂g3 ∂Q
´
∂g1 ³ ∂CAo ´ ∂g2 ³ ∂CAo ´ ∂g3 ∂CAo
³
´
∂g1 ³ ∂CBo ´ ∂g2 ³ ∂CBo ´ ∂g3 ∂CBo
¯ Q ¯ CAo ¯
sustituyendo las derivadas parciales,
0 1 0 " ¯ # y¯1 C A 0 1 ¯ + 0 y¯2 = CB 1 − 0 0 y¯3 s CAo
13
0 0
s CA s (CAo )2
¯ 0 Q ¯ 0 CAo 0 C¯Bo
CBo
6
Respuesta din´ amica de sistemas lineales
Existen 2 funciones en MATLAB que permiten obtener la respuesta din´amica de sistemas lineales continuos: las funciones step y lsim. A continuaci´on describiremos el funcionamiento b´asico de estas rutinas e ilustraremos su uso con un ejemplo. Ambas rutinas suponen que el sistema lineal est´a representado en t´erminos de la notaci´on de espacio de estado: d¯ x = A¯ x + B¯ u dt y ¯ = C¯ x + D¯ u • step Esta funci´on produce la respuesta din´amica de un sistema lineal cuando se aplica un cambio de tipo escal´on en alguna de las entradas al sistema. Por default la funci´on step cambia la magnitud de la variable de entrada de 0 a 1. La funci´on puede invocarse de 4 modos diferentes. step(A,B,C,D,IU) step(A,B,C,D,IU,T) [Y,X,T] = step(A,B,C,D,IU) [Y,X] = step(A,B,C,D,IU) IU es el n´ umero de la variable de entrada a la que se aplica el cambio escal´on. T es el tiempo durante el cual se desea observar la respuesta din´amica, X son los estados, Y es la respuesta del sistema. Empleando la funci´on step en cualquiera de los 2 primeros modos MATLAB muestra en forma gr´afica la respuesta din´amica del sistema. En el primer modo MATLAB determina de manera autom´atica la escala de tiempo (la respuesta se muestra hasta que la din´amica del sistema ”muere”). Si se desea se puede suministrar el interv´alo de tiempo para la simulaci´on del sistema a trav´es de la variable T. Si se usan los u ´ltimos 2 modos de operaci´on MATLAB no produce la respuesta del sistema en forma gr´afica, los resultados quedan almacenados en las variables que est´an del lado izquierdo del signo de igualdad. La variable T puede generarse mediante alguna de las siguientes instrucciones: T = linspace(x1,x2) T = linspace(x1,x2,N) la funci´on linspace produce un vector cuyos valores est´an igualmente espaciados. x1 , x2 representan valores inferiores y superiores de T, respectivamente. En el primer modo de operaci´on se emplean, por default, 100 valores entre x1 , x2 . En el segundo modo se emplean N puntos entre dichas cotas. • lsim La funci´on lsim puede emplearse como alternativa a la funci´on step cuando se desean realizar cambios diferentes de la unidad en la variable manipulada. La sintaxis de la funci´on es como sigue: 14
Y = lsim(A,B,C,D,U,T) donde U representa una matriz que tiene por filas los valores de la variable manipulada para cada tiempo T dado y tantas columnas como variables manipuladas existan. Es decir, en la primera columna de U se deben definir los valores de la primera variable manipulada, en la segunda columna de U los valores de la segunda variable manipulada y asi sucesivamente para el resto de las variables manipuladas. Debe recalcarse que cuando se usa esta funci´on para obtener la respuesta din´amica de sistemas lineales, la idea es obtener dicha respuesta realizando un cambio a la vez. Es decir, si tenemos, por ejemplo, dos variables manipuladas primero se calcula la respuesta con respecto a s´olo una de ellas, la segunda entrada no se modificar´ıa. De manera semejante, cuando de desea obtener la respuesta con respecto a la segunda entrada, el valor de la primera variable de entrada no se debe modificar. Ejemplo 4 Considere nuevamente el modelo din´amico del reactor tanque agitado descrito en el ejemplo 2. Empleando los siguientes datos de dise˜ no obtener la respuesta din´amica del modelo linealizado alrededor del estado estacionario nominal del sistema. Q CAo CBo V k1 k2
100 200 0 1000 0.01 0.5
lts/min mol/lt mol/lt lts lts/min-mol 1/min
En estado estacionario la soluci´on del modelo del reactor, dCA Q = (CAo − CA ) − k1 CA2 dt V dCB Q = (CBo − CB ) + k1 CA2 − k2 CB dt V est´a dada por: CA = 40 mol/lt CB = 26.7 mol/lt por lo tanto el correspondiente sistema linealizado est´a dado por: "
¯A dC dt ¯B dC dt
"
y¯1 y¯2
#
"
= #
"
=
−0.9 0 0.8 −0.6 1 0 0 1
#"
C¯A C¯B
#"
C¯A C¯B
#
#
"
+
0.16 0.1 0 −0.0267 0 0.1
#
¯ Q ¯ CAo C¯Bo
despu´es de ejecutar MATLAB se emplean el siguiente conjunto de comandos para obtener la respuesta del sistema. 15
a = [-0.9 0; 0.8 -0.6]; b = [0.16 0.1 0; -0.0267 0 0.1]; c = eye(2); d = zeros(2,3); [y1,x1,t1] = step(a,b,c,d,1); [y2,x2,t2] = step(a,b,c,d,2); [y3,x3,t3] = step(a,b,c,d,3); figure(1) plot(t1,y1) xlabel(’Tiempo (mins)’); ylabel(’Concentracion (mol/lt)’); figure(2) plot(t2,y2) xlabel(’Tiempo (mins)’); ylabel(’Concentracion (mol/lt)’); figure(3) plot(t3,y3) xlabel(’Tiempo (mins)’); ylabel(’Concentracion (mol/lt)’); En la figura 2(a) se muestra la respuesta del reactor linealizado cuando ocurre una perturbaci´on de tipo escal´on en el flujo volum´etrico Q de la corriente de alimentaci´on, mientras que en la figura 2(b) se muestra la respuesta del reactor cuando ocurre una perturbaci´on de tipo escal´on en la concentraci´on del reactivo A en la corriente de alimentaci´on. Finalmente, la figura 2(c) muestra la respuesta del reactor ante un cambio tipo escal´on en la concentraci´on del componente B en la corriente de alimentaci´on CBo . Las mismas respuestas anteriores se pueden obtener usando la funci´on lsim. Supongamos que deseamos obtener la respuesta din´amica del sistema cuando ocurre un cambio escalon de 0 a 1 en el flujo volum´etrico alimentado Q. Supongamos tambi´en que la variable U representa los valores de la tres variables manipuladas. De acuerdo con lo dicho anteriormente, todos los elementos de la matriz U ser´an ceros excepto los referidos a la primera columna de esta matriz que se refieren a los valores de la variable Q cuando ocurre el cambio escalon deseado. De acuerdo con esto, la estructura de la matriz U ser´a como sigue:
U
Q
|{z} 0 1 1 = . . . 1 1
1 16
CAo
|{z}
0 0 0 . . . 0 0 0
CBo
|{z} 0 0 0 . . . 0 0
0
0.2
Ca
Concentracion (mol/lt)
0.15
0.1 Cb
0.05
0
−0.05 0
1
2
3
4
5 6 Tiempo (mins)
7
8
9
10
5 6 Tiempo (mins)
7
8
9
10
5 6 Tiempo (mins)
7
8
9
10
(a)
0.14 Cb Ca
Concentracion (mol/lt)
0.12
0.1
0.08
0.06
0.04
0.02
0 0
1
2
3
4
(b)
0.18 0.16 Cb
Concentracion (mol/lt)
0.14 0.12 0.1 0.08 0.06 0.04 0.02
Ca 0 0
1
2
3
4
(c)
Figura 2: Respuesta din´amica del sistema a cambios escalon en (a) Flujo volum´etrico alimentado (Q), (b) Concentraci´on alimentada del reactivo A (CAo ) y (c) Concentraci´on alimentada del reactivo B (CBo ).
similarmente, si ahora deseareamos obtener la respuesta din´amica del sistema realizando un cambio unitario en la concentraci´on alimentada del reactivo A (CAo ) tendriamos primero que fijar todos los elementos de la primera columna en cero y cambiar todos los elementos de la segunda columna (excepto el primero) en la magnitud de17
seada. Esta vez la estructura de la matriz U estar´ıa dada como se muestra:
U
Q
|{z} 0 0 0 = . . . 0 0
0
CAo
|{z}
0 1 1 . . . 1 1 1
CBo
|{z} 0 0 0 . . . 0 0
0
De acuerdo con lo dicho anteriormente, los siguientes comandos Matlab producen las mismas respuestas din´amicas mostradas en la Figura 2. t = linspace(0,10); u=zeros(length(t),3); u(:,1) = 1; u(1,1) = 0; y = lsim(a,b,c,d,u,t); figure(1), plot(t,y) u=zeros(length(t),3); u(:,2) = 1; u(2,1) = 0; y = lsim(a,b,c,d,u,t); figure(2), plot(t,y) u=zeros(length(t),3); u(:,3) = 1; u(3,1) = 0; y = lsim(a,b,c,d,u,t); figure(3), plot(t,y) • Matlab/Simulink There is another way to run Simulink dynamic simulations from the Matlab workspace area and to get the results of the dynamic simulations for the purpose at hand. The simplest way of doing so it is to write a Matlab script file to drive the simulation and plot the results coming out from the dynamic simulation as shown in the next example. In this example we simply carried out three dynamic simulations under variations of each one of the system inputs by setting the initial and final values of these variables and plot the dynamic simulation results.
18
a b c d
= = = =
[-0.9 0; 0.8 -0.6]; [0.16 0.1 0; -0.0267 0 0.1]; eye(2); zeros(2,3);
q_initial = 0; q_final = 0; cao_initial = 0; cao_final = 0; cbo_initial = 0; cbo_final = 0; % % Response assuming Q is the manipulated variable % q_final = 10; tspan = linspace(0,20); [t,x,ca,cb] =sim(’slexample’,tspan); figure(1) plot(t,[ca,cb]); legend(’C_a’,’C_b’,0); grid, xlabel(’Time’), ylabel(’Concentration’) title(’Q is the manipulated var.’); q_final = 0; % % Response assuming Cao is the manipulated variable % cao_final = 1; tspan = linspace(0,20); [t,x,ca,cb] =sim(’slexample’,tspan); figure(2) plot(t,[ca,cb]); legend(’C_a’,’C_b’,0); grid, xlabel(’Time’), ylabel(’Concentration’) title(’Cao is the manipulated var.’); cao_final = 0; % % Response assuming Cbo is the manipulated variable % cbo_final = 1; tspan = linspace(0,20); [t,x,ca,cb] =sim(’slexample’,tspan); figure(3) plot(t,[ca,cb]); legend(’C_a’,’C_b’,0); grid, xlabel(’Time’), ylabel(’Concentration’) title(’Cbo is the manipulated var.’);
19
Q x’ = Ax+Bu y = Cx+Du Cao
State −Space
Cbo
Figura 3:
20
1 Ca 2 Cb
Q is the manipulated var. 2
Concentration
1.5
1
0.5
0 Ca Cb −0.5
0
2
4
6
8
10 Time
12
14
16
18
20
(a)
Cao is the manipulated var. 0.16
0.14
0.12
Concentration
0.1
0.08
0.06
0.04
0.02
Ca C
b
0
0
2
4
6
8
10 Time
12
14
16
18
20
(b)
Cbo is the manipulated var. 0.18
0.16
0.14
Concentration
0.12
0.1 Ca Cb
0.08
0.06
0.04
0.02
0
0
2
4
6
8
10 Time
(c)
Figura 4:
21
12
14
16
18
20