Está en la página 1de 21

Linealizacion 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 imagina-
tion. Albert Einstein.

1 Introduccion
Una gran parte de la teora desarrollada para el diseno de sistemas de control emplea
modelos matematicos lineales del proceso que se desea controlar a lazo cerrado. Sin
embargo, la inmensa mayora de sistemas en procesos qumicos exhibe conducta no
lineal. Ejemplo de sistema altamente no lineal lo constituye el campo de reactores
qumicos aun para reacciones muy simples.
Entonces planteamos la siguiente pregunta: Como podemos emplear teora de control
lineal para el control de sistemas no lineales ? Una forma simple de responder a esta
pregunta es: empleando alguna de forma de transformar el sistema no lineal en uno
lineal. De esta forma el modelo linealizado puede ser empleado para el diseno del
sistema de control del modelo no lineal original. Una posible ruta para el diseno del
sistema de control se muestra en la siguiente figura.

Modelo Modelo Diseno del Prueba del


No Lineal Lineal Controlador Controlador

empezamos derivando el modelo (muy probablemente) no lineal del proceso que de-
seamos controlar. A continuacion lo transformamos en un modelo lineal (el proced-
imiento de transformacion sera explicado en esta parte). Posteriormente disenamos
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 funcion no lineal f (x, u)
puede ser representada aproximadamente por una funcion lineal alrededor de un cierto
punto xs (normalmente un estado estacionario del proceso).

E-mail: antonio.flores@uia.mx, http://kaos.dci.uia.mx/aflores, phone/fax: (+52)5 2674279

1
2 Que es una funcion lineal ?
Supongamos que una cierta variable y depende de alguna otra variable x a traves de
alguna funcion f () de manera tal que

y = f (x) (2.1)

decimos que la relacion entre las variables y y x es lineal si la funcion f () es la ecuacion


de la lnea recta,

y = mx + b (2.2)

donde m representa la pendiente y b es la intersepcion al origen. En este caso, es claro


que

f (x) = mx + b (2.3)

En algunos casos la variable y puede depender de mas de una variable x1 , . . . , xn

y = f (x1 , . . . , xn ) (2.4)

si la relacion entre y y x es lineal entonces

y = m 1 x1 + . . . + m n xn (2.5)

o bien
n
X
y= m i xi (2.6)
i=1

donde
n
X
f (x) = m i xi (2.7)
i=1

Definicion 1 : Funcion Lineal. La funcion f (x) es lineal cuando esta dada exacta-
mente por la ecuacion 2.7.

Notese que la unica diferencia entre las ecuaciones 2.3 y 2.7 es que en la ecuacion
2.3 f () depende de una variable x, mientras que en la ecuacion 2.7 f () depende de n
variables x1 , . . . , xn .

3 Que es una funcion no lineal ?


Debemos notar que en practicamente todos los procesos qumicos la funcion f () es
no-lineal. Esto significa que si la variable y depende de la variable x, y si la relacion
entre ambas variables es no-lineal, entonces f () no puede representarse en terminos de
la ecuacion 2.7.

2
Definicion 2 : Funcion No Lineal. Cualquier funcion f (x) que no pueda represen-
tarse en terminos de la ecuacion 2.7 se dice que es no-lineal.
Los siguientes ecuaciones representan relaciones no lineales
y = 5 + ln(x) (3.8)
y = 3e2 + 6 (3.9)
y = x1 x2 + x3 (3.10)
x1
y = x3 + cos(x4 ) (3.11)
x2
es claro que ninguna de estas ecuaciones puede reescribirse, o representarse, en una
forma semejante a la ecuacion 2.7.
Como otro ejemplo de una funcion no lineal considere la ecuacion de Antoine,
B
P o = eA T +C (3.12)
que representa la presion de vapor P o de compuestos puros como funcion de la tem-
peratura T . En la grafica 1 se muestra le curva de presion de vapor para el agua, de
esta grafica es facil observar que la relacion entre P o y T es no lineal.
1

0.9

0.8

0.7
Presion de Vapor (atm)

0.6

0.5

0.4

0.3

0.2

0.1

0
0 10 20 30 40 50 60 70 80 90 100
Temperatura (C)

Figura 1: Presion de vapor del agua como funcion de la temperatura;


A =18.3036,B=3816.44,C=-46.13. T esta en o K y P o en mmHg.

4 Significado de la linealizacion
Linealizar una funcion no lineal f (x, u) significa reemplazarla por otra funcion lineal
f(x, u). Si las dos funciones representan basicamente el mismo proceso, para que sirve
representar una funcion no lineal por otra lineal ?

3
Usualmente esta aproximacion se realiza alrededor de un punto denotado por (xs , us )
tal como se muestra en la siguiente figura.

f(x,u) funcion lineal

funcion no lineal
s s 0
1
f(x ,u ) 0
1
0
1

region donde la
linealizacion es valida

s x
x

la linea continua representa la funcion no lineal f (x, u). El crculo negro es el punto
(xs , us ) alrededor del cual se realiza la linealizacion de la funcion no lineal. Como se
observa, la aproximacion (o linealizacion) solo es valida en el interior de una region,
denotada por el crculo externo. En terminos generales no podemos decir de que
tamano es la region donde es valida la linealizacion; todo lo que podemos decir es que
es pequena. La linea discontinua representa la funcion linealizada.
Es comun referirnos al proceso de linealizacion como un proceso local. Lo que esto
significa es que la linealizacion solo es valida en un punto (alrededor del cual se realizo
la linealizacion) y no en todo en el intervalo de definicion de la funcion f (x, u).

5 Procedimiento de linealizacion
5.1 Caso univariable
Supongamos que tenemos un sistema dinamico no lineal el cual consiste de una variable
de entrada (u) y de un variable de salida (x) representado por la siguiente ecuacion,
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 represen-
tado por la ecuacion anterior. Expandiendo el lado derecho de la ecuacion 5.13 (el cual
contiene el termino no lineal) en series de Taylor hasta la primera derivada,
! !
s s f s f
f (x, u) f (x , u ) + (x x ) + (u us ) + T.O.S. (5.14)
x xs ,us
u xs ,us

4
donde T.O.S. representa los terminos de orden superior en la expansion de Taylor. Dado
que la expansion se realiza alrededor del estado estacionario (xs , us ) esto significa que
la ecuacion 5.13 se puede reescribir como,
dxs
= f (xs , us ) = 0 (5.15)
dt

entonces en virtud de que xs es constante el lado izquierdo de la ecuacion 5.13 puede


reescribirse como:
dx d(x xs ) dx
= = (5.16)
dt dt dt
donde,
x = x xs (5.17)

representa el alejamiento o desviacion de la variable x del estado estacionario xs . Es


bastante comun emplear variables de desviacion cuando se analiza la conducta de
sistemas lineales. En terminos de variables de desviacion la ecuacion original a linealizar
(ec. 5.13) se reescribe como:
dx
= f (x, u) (5.18)
dt
sustituyendo f (x, u) obtenida de la expasion de Taylor (ec. 5.14) en la ecuacion anterior
(y recordando que f (xs , us ) = 0),
! !
dx f f
= x + u (5.19)
dt x xs ,us
u xs ,us

donde se han despreciado los terminos de orden superior. Si definimos,


!
f
a = (5.20)
x xs ,us
!
f
b = (5.21)
u xs ,us

la ecuacion 5.19 se puede reescribir como,


dx
= ax + bu (5.22)
dt

la cual constituye una ecuacion diferencial lineal en terminos de las variables x y u.


Por supuesto para garantizar linealidad de la ecuacion 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 ) (5.23)
dt
.
.
.
dxn
= fn (x1 , ..., xn , u1 , ..., um ) (5.24)
dt
es simplemente una generalizacion 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
f1 f1 (ps ) + (x1 xs1 ) + ... + (xn xsn ) + (u1 us1 )
x1 ps
xn ps
u1 ps
!
f1
+... + (um usm ) + T.O.S. (5.26)
um ps
.
.
. ! ! !
fn fn fn
fn fn (ps ) + (x1 xs1 ) + ... + (xn xsn ) + (u1 us1 )
x1 ps
xn ps
u1 ps
!
fn
+... + (um usm ) + T.O.S. (5.27)
um ps

el sistema original de ecuaciones diferenciales se reescribe como:


dx1 d(x1 xs1 ) dx1
= = = f1 (x1 , ..., xn , u1 , ..., um ) (5.28)
dt dt dt
.
.
.
s
dxn d(xn xn ) dxn
= = = fn (x1 , ..., xn , u1 , ..., um ) (5.29)
dt dt dt
sustituyendo en la ecuacion anterior todas las funciones fi que se expandieron anteri-
ormente en series de Taylor (despreciando los terminos de orden superior):
! ! ! !
dx1 f1 f1 f1 f1
= x1 + ... + xn + u1 + ... + um(5.30)
dt x1 ps
xn ps
u1 ps
um ps

6
.
.
. ! ! ! !
dxn fn fn fn fn
= x1 + ... + xn + u1 + ... + um(5.31)
dt x1 ps
xn ps
u1 ps
um ps

donde debe recordarse ya que la expansion se realizo alrededor del estado estacionario
ps entonces,
f (ps ) = 0 (5.32)
el anterior sistema de ecuaciones puede escribirse en notacion matricial de la siguiente
forma:
dx
= Ax + Bu (5.33)
dt
donde,
dx
1
x1 u1
dt
. . .
dx
=
.
, x =
. , u =
.

dt
. . .
dxn
dt
xn um


f1 f1
x1 ps
. . . xn ps



. . . . .

A=
. . . . .
(5.34)

. . . . .
f fn

n
x1 ps
. . . x n ps


f1 f1
u1 ps
. . . um ps



. . . . .


B= . . . . . (5.35)


. . . . .
f fn

n
u1 ps
. . . u m ps

El siguiente ejemplo muestra el procedimiento para linealizar una ecuacion diferencial


no lineal en terminos de una variable de entrada y una variable de salida, o respuesta,
de un sistema.
Ejemplo 1 Considerese la operacion isotermica de un reactor tanque agitado donde
se efectua la reaccion de segundo orden A B. El modelo matematico del proceso, el
cual describe la variacion de la concentracion del reactivo A, esta dada por:
dCA Q
= (CAo CA ) kCA2 (5.36)
dt V
7
linealizar el modelo suponiendo que la entrada al proceso es el flujo volumetrico Q y
la salida, o respuesta, es la concentracion CA .
Como puede notarse el lado derecho de la ecuacion 5.36 es no lineal en terminos de
CA . Definiendo,
Q
f (CA , Q) = (CAo CA ) kCA2
V
linealizando esta funcion alrededor de un estado estacionario denotado por (CAs , Qs ):
! !
f f
f (CA , Q) f (CAs , Qs ) + (CA CAs ) + (Q Qs ) + T.O.S.
CA s ,Qs
CA
Q s ,Qs
CA

dado que,

f (CAs , Qs ) = 0

la funcion linealizada se reescribe como (despreciando los terminos de orden superior),


! !
f f
f (CA , Q) = CA + Q
CA C s ,Qs
Q s ,Qs
CA
A

sustituyendo esta ecuacion en el lado derecho de la ecuacion 5.36,


! !
dCA f f
= CA + Q
dt CA C s ,Qs
Q s ,Qs
CA
A

el lado izquierdo de esta ecuacion puede escribirse en terminos de variables de desviacion,

dCA d(CA CAs ) dCA


= =
dt dt dt
entonces,
! !
dCA f f
= CA + Q
dt CA C s ,Qs
Q s ,Qs
CA
A

evaluando las derivadas parciales,


!
f Qs
= 2kCAs
CA s ,Qs
CA
V
!
f CAo CAs
=
Q s ,Qs
CA
V

finalmente, la ecuacion diferencial linealizada en terminos de CA y Q, esta dada por:



dCA Qs CAo CAs
= + 2kCAs CA + Q
dt V V

8
a continuacion mostramos como realizar el procedimiento de linealizacion de un sistema
de ecuaciones diferenciales no lineales en terminos de varios parametros de entrada y
salida del sistema.
Ejemplo 2 Consiredese la operacion isotermica de un reactor tanque agitado donde
k k
ocurre el siguiente sistema de reacciones en serie A 1 B 2 C. El modelo matematico
del reactor, el cual describe la variacion de las concentraciones de los componentes A
y B, esta dado por:
dCA Q
= (CAo CA ) k1 CA2 (5.37)
dt V
dCB Q
= (CBo CB ) + k1 CA2 k2 CB (5.38)
dt V
linealizar este sistema de ecuaciones usando como variables de entrada el flujo volumetrico
Q, la concentracion del reactivo A en la corriente de alimentacion CAo , y la concen-
tracion de B en la misma corriente CBo . Las variables de salida, o respuesta del sistema,
son CA y CB . Realizar la linealizacion alrededor de un estado estacionario denotado
por ps = (Qs , CAos s
, CBo , CAs , CBs ).
Los terminos 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
s f1 f1
f1 (p) f1 (p ) + (CA CAs ) + (CB CBs ) + (Q Qs )
CA ps
CB ps
Q ps
! !
f1 s f1 s
+ (CAo CAo )+ (CBo CBo ) + T.O.S.
CAo ps
CBo ps
! ! !
f2
s f2 f2
f2 (p) f2 (p ) + (CA CAs ) + (CB CBs ) + (Q Qs )
CA ps
CB ps
Q ps
! !
f2 s f2 s
+ (CAo CAo )+ (CBo CBo ) + T.O.S.
CAo ps
CBo ps
ya que,
f1 (ps ) = 0
f2 (ps ) = 0
las funciones linealizadas se escriben como (despreciando terminos de orden superior),
! ! ! ! !
f1 f1 f1 f1 f1
f1 (p) = CA + CB + Q + CAo + CBo
CA ps
CB ps
Q ps
CAo ps
CBo ps
! ! ! ! !
f2 f2 f2 f2 f2
f2 (p) = CA + CB + Q + CAo + CBo
CA ps
CB ps
Q ps
CAo ps
CBo ps

9
sustituyendo estas ecuaciones en los lados derechos de las ecuaciones 5.37 y 5.38,
! ! ! ! !
dCA f1 f1 f1 f1 f1
= CA + CB + Q + CAo + CBo
dt CA ps
CB ps
Q ps
CAo ps
CBo ps
! ! ! ! !
dCB f2 f2 f2 f2 f2
= CA + CB + Q + CAo + CBo
dt CA ps
CB ps
Q ps
CAo ps
CBo ps

los lados izquierdos de estas ecuaciones pueden reescribirse como,


dCA d(CA CAs ) dCA
= =
dt dt dt
dCB d(CB CBs ) dCB
= =
dt dt dt
entonces,
! ! ! ! !
dCA f1 f1 f1 f1 f1
= CA + CB + Q + CAo + CBo
dt CA ps
CB ps
Q ps
CAo ps
CBo ps
! ! ! ! !
dCB f2 f2 f2 f2 f2
= CA + CB + Q + CAo + CBo
dt CA ps
CB ps
Q ps
CAo ps
CBo ps

o en notacion matricial,

" # f1 f1 " # f1 f1 f1 Q
dCA
CA ps CB ps CA Q ps CAo ps CBo ps
dt
dCB = + CAo
f2 f2 CB f2 f2 f2
dt CA ps CB ps Q ps CAo ps CBo ps CBo
evaluando y sustituyendo las derivadas parciales,

" # " s #" # " C C s # Q
Qs
dCA
( QV + 2k1 CAs ) 0 CA Ao A
0
dt = s + V s V CAo
dCB
2k1 CAs ( QV + k2 ) CB CBo CB
0 Qs
dt V V CBo
este grupo de ecuaciones diferenciales linealizadas se pueden escribir en la notacion
mas comun de espacio de estado:

dx
= Ax + Bu
dt
donde,
" #
dCA
dx
= dt
dCB
dt dt
" #
CA
x =
CB

Q
u = CAo


CBo

10
" s #
( QV + 2k1 CAs ) 0
A = s
2k1 CAs ( QV + k2 )
" C C s #
Ao Qs
A
0
B = V s
CBo CB
V
Qs
V
0 V

En el ejemplo anterior hemos analizado como obtener la respuesta del reactor isotermico,
en terminos de ciertas variables de entrada, cuando dicha respuesta esta representada
por los estados (CA , CB ) del reactor. Sin embargo, si se deseara analizar la respuesta
del reactor en terminos del grado de conversion XA definido como,

CAo CA
XA = (5.39)
CAo

esta no podra obtenerse directamente ya que XA , tal como ha sido formulado el modelo
matematico del reactor, no es un estado del sistema. Sin embargo, XA es funcion de
un estado (CA ) del sistema.
En casos como el anterior, la variable de salida es alguna combinacion 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 funcion g(x, u)
puede ser de naturaleza no lineal debemos tambien linealizar la ecuacion 5.40. Entonces
linealizando alrededor de un estado estacionario denotado por ps = (xs , us ) tenemos,

! ! !
s g1 g1 g1
g1 g1 (p ) + (x1 xs1 ) + ... + (xn xsn ) + (u1 us1 )
x1 ps
xn ps
u1 ps
!
g1
+... + (um usm ) + T.O.S. (5.41)
um ps
.
.
. ! ! !
s gn gn gn
gn gn (p ) + (x1 xs1 ) + ... + (xn xsn ) + (u1 us1 )
x1 ps
xn ps
u1 ps
!
gn
+... + (um usm ) + T.O.S. (5.42)
um ps

de la ecuacion 5.40 sabemos que,


y s = g(ps ) (5.43)

11
por lo cual (despreciando terminos de orden superior),
! ! ! !
g1 g1 g1 g1
g1 = y1s + x1 + ... + xn + u1 + ... + um
x1 ps xn ps u1 ps um ps
.
.
. ! ! ! !
g n g n g n g n
gn = yns + x1 + ... + xn + u1 + ... + um
x1 ps xn ps u1 ps um ps

sustituyendo estas ecuaciones en el lado derecho de la ecuacion 5.40 resulta (en notacion
matricial):

y = Cx + Du (5.44)
donde,

y1 x1 u1



.



.



.

y =
. , x =
. , u =
.


. . .
yn xn um


g1 g1
x1 ps
. . . xn ps



. . . . .

C=
. . . . .
(5.45)

. . . . .
g gn

n
x1 ps
. . . x n ps


g1 g1
u1 ps
. . . um ps



. . . . .

D=
. . . . .
(5.46)

. . . . .
g gn

n
u1 ps
. . . u m ps

En resumen la notacion de un sistema lineal (o linealizado) puede representarse en


terminos de las ecuaciones 5.33 y 5.44 la cual, como se menciono antes, se denominada
el espacio de estado del sistema:

dx
= Ax + Bu
dt

y = Cx + Du

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 (5.47)
g2 (x, u) = CB CBs (5.48)
entonces ya que,
" # " # g1 g1
g1 g1 g1 Q
y1 CA CB CA Q CAo CBo
= + g CAo
y2 g2 g2 CB 2 g2 g2
CA CB Q CAo CBo CBo

sustituyendo las derivadas parciales,



" # " #" # " # Q
y1 1 0 CA 0 0 0
= + CAo
y2 0 1 CB 0 0 0
CBo

aunque parece redundante escribir la matriz D en la ecuacion anterior, se ha


hecho solo 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,
" # " #" #
y1 1 0 CA
=
y2 0 1 CB

CA , CB , XA
ademas de las ecuaciones 5.47 y 5.48 debemos emplear la definicion de grado de
conversion,
CAo CA
g3 (x, u) = (5.49)
CAo
entonces,

g1 g1 g1 g1 g1
y1 " # Q
CA CB CA Q CAo CBo
g2 g2 g2 g2 g2
y
2 = + CAo
CA CB CB Q CAo CBo
y3 g3 g3 g3 g3 g3 CBo
CA CB Q CAo CBo

sustituyendo las derivadas parciales,



y1 1 0 " # 0 0 0 Q
C
y2 = 0 1 A
+ 0
0 0
CAo
1
0 CB CAs
y3 s
CAo 0 s
(CAo )2
0 CBo

13
6 Respuesta dinamica de sistemas lineales
Existen 2 funciones en MATLAB que permiten obtener la respuesta dinamica de sis-
temas lineales continuos: las funciones step y lsim. A continuacion describiremos el
funcionamiento basico de estas rutinas e ilustraremos su uso con un ejemplo. Ambas
rutinas suponen que el sistema lineal esta representado en terminos de la notacion de
espacio de estado:
dx
= Ax + Bu
dt
y = Cx + Du
step
Esta funcion produce la respuesta dinamica de un sistema lineal cuando se aplica
un cambio de tipo escalon en alguna de las entradas al sistema. Por default la
funcion step cambia la magnitud de la variable de entrada de 0 a 1. La funcion
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 numero de la variable de entrada a la que se aplica el cambio escalon. T
es el tiempo durante el cual se desea observar la respuesta dinamica, X son los es-
tados, Y es la respuesta del sistema. Empleando la funcion step en cualquiera de
los 2 primeros modos MATLAB muestra en forma grafica la respuesta dinamica
del sistema. En el primer modo MATLAB determina de manera automatica
la escala de tiempo (la respuesta se muestra hasta que la dinamica del sistema
muere). Si se desea se puede suministrar el intervalo de tiempo para la sim-
ulacion del sistema a traves de la variable T. Si se usan los ultimos 2 modos
de operacion MATLAB no produce la respuesta del sistema en forma grafica,
los resultados quedan almacenados en las variables que estan 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 funcion linspace produce un vector cuyos valores estan igualmente espaciados.
x1 , x2 representan valores inferiores y superiores de T, respectivamente. En el
primer modo de operacion se emplean, por default, 100 valores entre x1 , x2 . En
el segundo modo se emplean N puntos entre dichas cotas.
lsim
La funcion lsim puede emplearse como alternativa a la funcion step cuando se
desean realizar cambios diferentes de la unidad en la variable manipulada. La
sintaxis de la funcion 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 manip-
ulada 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 funcion para obtener la
respuesta dinamica de sistemas lineales, la idea es obtener dicha respuesta re-
alizando un cambio a la vez. Es decir, si tenemos, por ejemplo, dos variables
manipuladas primero se calcula la respuesta con respecto a solo una de ellas,
la segunda entrada no se modificara. 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 dinamico del reactor tanque agitado de-
scrito en el ejemplo 2. Empleando los siguientes datos de diseno obtener la respuesta
dinamica del modelo linealizado alrededor del estado estacionario nominal del sistema.
Q 100 lts/min
CAo 200 mol/lt
CBo 0 mol/lt
V 1000 lts
k1 0.01 lts/min-mol
k2 0.5 1/min

En estado estacionario la solucion del modelo del reactor,


dCA Q
= (CAo CA ) k1 CA2
dt V
dCB Q
= (CBo CB ) + k1 CA2 k2 CB
dt V
esta dada por:
CA = 40 mol/lt
CB = 26.7 mol/lt
por lo tanto el correspondiente sistema linealizado esta dado por:

" # " #" # " # Q
dCA
0.9 0 CA 0.16 0.1 0
dt
dCB = + CAo
0.8 0.6 CB 0.0267 0 0.1
dt CBo
" # " #" #
y1 1 0 CA
=
y2 0 1 CB

despues 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
perturbacion de tipo escalon en el flujo volumetrico Q de la corriente de alimentacion,
mientras que en la figura 2(b) se muestra la respuesta del reactor cuando ocurre una
perturbacion de tipo escalon en la concentracion del reactivo A en la corriente de ali-
mentacion. Finalmente, la figura 2(c) muestra la respuesta del reactor ante un cambio
tipo escalon en la concentracion del componente B en la corriente de alimentacion CBo .

Las mismas respuestas anteriores se pueden obtener usando la funcion lsim. Supong-
amos que deseamos obtener la respuesta dinamica del sistema cuando ocurre un cambio
escalon de 0 a 1 en el flujo volumetrico alimentado Q. Supongamos tambien 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 seran ceros excepto los referi-
dos 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 sera como sigue:


Q CAo CBo
|{z} |{z} |{z}

0 0 0

1 0 0


1 0 0

= . . .

U
. . .


. . .

1 0 0


1 0 0
1 0 0

16
0.2

Ca
0.15

Concentracion (mol/lt)
0.1
Cb

0.05

0.05
0 1 2 3 4 5 6 7 8 9 10
Tiempo (mins)
(a)

0.14
Cb

0.12 Ca

0.1
Concentracion (mol/lt)

0.08

0.06

0.04

0.02

0
0 1 2 3 4 5 6 7 8 9 10
Tiempo (mins)

(b)
0.18

0.16

Cb
0.14

0.12
Concentracion (mol/lt)

0.1

0.08

0.06

0.04

0.02
Ca
0
0 1 2 3 4 5 6 7 8 9 10
Tiempo (mins)
(c)

Figura 2: Respuesta dinamica del sistema a cambios escalon en (a) Flujo volumetrico
alimentado (Q), (b) Concentracion alimentada del reactivo A (CAo ) y (c) Concentracion
alimentada del reactivo B (CBo ).

similarmente, si ahora deseareamos obtener la respuesta dinamica del sistema real-


izando un cambio unitario en la concentracion alimentada del reactivo A (CAo ) tendri-
amos 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 de-

17
seada. Esta vez la estructura de la matriz U estara dada como se muestra:

Q CAo CBo
|{z} |{z} |{z}

0 0 0

0 1 0


0 1 0

U .
= . .
. . .


. . .

0 1 0


0 1 0
0 1 0

De acuerdo con lo dicho anteriormente, los siguientes comandos Matlab producen las
mismas respuestas dinamicas 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 = [-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);

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
1
x = Ax+Bu Ca
y = Cx+Du
2
Cao State Space
Cb

Cbo

Figura 3:

20
Q is the manipulated var.
2

1.5

1
Concentration

0.5

Ca
Cb

0.5
0 2 4 6 8 10 12 14 16 18 20
Time

(a)
Cao is the manipulated var.
0.16

0.14

0.12

0.1
Concentration

0.08

0.06

0.04

0.02
Ca
C
b

0
0 2 4 6 8 10 12 14 16 18 20
Time

(b)
Cbo is the manipulated var.
0.18

0.16

0.14

0.12
Concentration

0.1
Ca
Cb
0.08

0.06

0.04

0.02

0
0 2 4 6 8 10 12 14 16 18 20
Time

(c)

Figura 4:

21

También podría gustarte