Linealizacion de Funciones No Lineales

21
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 imagina- tion.” 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. No Lineal Modelo Modelo Lineal Diseno del Controlador Prueba del Controlador empezamos derivando el modelo (muy probablemente) no lineal del proceso que de- seamos controlar. A continuaci´on lo transformamos en un modelo lineal (el proced- imiento 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 aproximadamentepor una funci´on lineal alrededor de un cierto punto x s (normalmente un estado estacionario del proceso). * E-mail: antonio.fl[email protected], http://kaos.dci.uia.mx/aflores, phone/fax: (+52)5 2674279 1

Transcript of Linealizacion de Funciones No Lineales

Page 1: Linealizacion de Funciones No Lineales

Linealizacion de Funciones No Lineales

Antonio Flores T. ∗

January 29, 2009

”Computers are incredibly fast, accurate, and stupid; humans are incrediblyslow, inaccurate and brilliant; together they are powerful beyond imagina-tion.” Albert Einstein.

1 Introduccion

Una gran parte de la teorıa desarrollada para el diseno de sistemas de control empleamodelos matematicos lineales del proceso que se desea controlar a lazo cerrado. Sinembargo, la inmensa mayorıa de sistemas en procesos quımicos exhibe conducta nolineal. Ejemplo de sistema altamente no lineal lo constituye el campo de reactoresquımicos aun para reacciones muy simples.

Entonces planteamos la siguiente pregunta: Como podemos emplear teorıa de controllineal para el control de sistemas no lineales ? Una forma simple de responder a estapregunta es: empleando alguna de forma de transformar el sistema no lineal en unolineal. De esta forma el modelo ”linealizado” puede ser empleado para el diseno delsistema de control del modelo no lineal original. Una posible ruta para el diseno delsistema de control se muestra en la siguiente figura.

No LinealModelo Modelo

LinealDiseno del

ControladorPrueba del

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 disenamosel sistema de control para el modelo linealizado. Finalmente el sistema de control seprueba 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 ciertopunto xs (normalmente un estado estacionario del proceso).

∗E-mail: [email protected], http://kaos.dci.uia.mx/aflores, phone/fax: (+52)5 2674279

1

Page 2: Linealizacion de Funciones No Lineales

2 Que es una funcion lineal ?

Supongamos que una cierta variable y depende de alguna otra variable x a traves dealguna 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 ecuacionde la lınea recta,

y = mx + b (2.2)

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

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 = m1x1 + . . . + mnxn (2.5)

o bien

y =n∑

i=1

mixi (2.6)

donde

f(x) =n∑

i=1

mixi (2.7)

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 ecuacion2.3 f(·) depende de una variable x, mientras que en la ecuacion 2.7 f(·) depende de nvariables x1, . . . , xn.

3 Que es una funcion no lineal ?

Debemos notar que en practicamente todos los procesos quımicos la funcion f(·) esno-lineal. Esto significa que si la variable y depende de la variable x, y si la relacionentre ambas variables es no-lineal, entonces f(·) no puede representarse en terminos dela ecuacion 2.7.

2

Page 3: Linealizacion de Funciones No Lineales

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 = 3e−2 + 6 (3.9)

y = x1x2 + x3 (3.10)

y =x1

x2

x3 + cos(x4) (3.11)

es claro que ninguna de estas ecuaciones puede reescribirse, o representarse, en unaforma semejante a la ecuacion 2.7.

Como otro ejemplo de una funcion no lineal considere la ecuacion de Antoine,

P o = eA− BT+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, deesta grafica es facil observar que la relacion entre P o y T es no lineal.

0 10 20 30 40 50 60 70 80 90 1000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Temperatura (C)

Pre

sion

de

Vap

or (

atm

)

Figura 1: Presion de vapor del agua como funcion de la temperatura;A =18.3036,B=3816.44,C=-46.13. T esta en oK y P o en mmHg.

4 Significado de la linealizacion

Linealizar una funcion no lineal f(x, u) significa reemplazarla por otra funcion linealf(x, u). Si las dos funciones representan basicamente el mismo proceso, para que sirverepresentar una funcion no lineal por otra lineal ?

3

Page 4: Linealizacion de Funciones No Lineales

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

���

���

funcion lineal

funcion no lineal

region donde lalinealizacion es valida

xs x

f(x,u)

f(x ,u )ss

la linea continua representa la funcion no lineal f(x, u). El cırculo negro es el punto(xs, us) alrededor del cual se realiza la linealizacion de la funcion no lineal. Como seobserva, la aproximacion (o linealizacion) solo es valida en el interior de una region,denotada por el cırculo externo. En terminos generales no podemos decir de quetamano es la region donde es valida la linealizacion; todo lo que podemos decir es quees pequena. La linea discontinua representa la funcion linealizada.

Es comun referirnos al proceso de linealizacion como un proceso local. Lo que estosignifica es que la linealizacion solo es valida en un punto (alrededor del cual se realizola 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 variablede entrada (u) y de un variable de salida (x) representado por la siguiente ecuacion,

dx

dt= f(x, u) (5.13)

y que deseamos aproximar la conducta de este sistema no lineal por la de un sistemalineal 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 cualcontiene el termino no lineal) en series de Taylor hasta la primera derivada,

f(x, u) ≈ f(xs, us) +

(∂f

∂x

)

xs,us

(x− xs) +

(∂f

∂u

)

xs,us

(u− us) + T.O.S. (5.14)

4

Page 5: Linealizacion de Funciones No Lineales

donde T.O.S. representa los terminos de orden superior en la expansion de Taylor. Dadoque la expansion se realiza alrededor del estado estacionario (xs, us) esto significa quela ecuacion 5.13 se puede reescribir como,

dxs

dt= f(xs, us) = 0 (5.15)

entonces en virtud de que xs es constante el lado izquierdo de la ecuacion 5.13 puedereescribirse como:

dx

dt=

d(x− xs)

dt=

dx

dt(5.16)

donde,x = x− xs (5.17)

representa el alejamiento o desviacion de la variable x del estado estacionario xs. Esbastante comun emplear variables de desviacion cuando se analiza la conducta desistemas lineales. En terminos de variables de desviacion la ecuacion original a linealizar(ec. 5.13) se reescribe como:

dx

dt= f(x, u) (5.18)

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

dt=

(∂f

∂x

)

xs,us

x +

(∂f

∂u

)

xs,us

u (5.19)

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

a =

(∂f

∂x

)

xs,us

(5.20)

b =

(∂f

∂u

)

xs,us

(5.21)

la ecuacion 5.19 se puede reescribir como,

dx

dt= ax + bu (5.22)

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 loscoeficientes a y b (es decir las derivadas parciales) sean constantes.

5

Page 6: Linealizacion de Funciones No Lineales

5.2 Caso multivariable

El procedimiento para linealizar el sistema de ecuaciones diferenciales ordinarias nolineales,

dx1

dt= f1(x1, ..., xn, u1, ..., um) (5.23)

.

.

.dxn

dt= fn(x1, ..., xn, u1, ..., um) (5.24)

es simplemente una generalizacion del caso univariable discutido en la seccion 5.1.Expandiendo el lado derecho del anterior sistema de ecuaciones diferenciales alrededorde un estado estacionario ps denotado por,

ps = [xs1, ..., x

sn, u

s1, ..., u

sm]T (5.25)

tenemos,

f1 ≈ f1(ps) +

(∂f1

∂x1

)

ps

(x1 − xs1) + ... +

(∂f1

∂xn

)

ps

(xn − xsn) +

(∂f1

∂u1

)

ps

(u1 − us1)

+... +

(∂f1

∂um

)

ps

(um − usm) + T.O.S. (5.26)

.

.

.

fn ≈ fn(ps) +

(∂fn

∂x1

)

ps

(x1 − xs1) + ... +

(∂fn

∂xn

)

ps

(xn − xsn) +

(∂fn

∂u1

)

ps

(u1 − us1)

+... +

(∂fn

∂um

)

ps

(um − usm) + T.O.S. (5.27)

el sistema original de ecuaciones diferenciales se reescribe como:

dx1

dt=

d(x1 − xs1)

dt=

dx1

dt= f1(x1, ..., xn, u1, ..., um) (5.28)

.

.

.dxn

dt=

d(xn − xsn)

dt=

dxn

dt= fn(x1, ..., xn, u1, ..., um) (5.29)

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

dt=

(∂f1

∂x1

)

ps

x1 + ... +

(∂f1

∂xn

)

ps

xn +

(∂f1

∂u1

)

ps

u1 + ... +

(∂f1

∂um

)

ps

um(5.30)

6

Page 7: Linealizacion de Funciones No Lineales

.

.

.dxn

dt=

(∂fn

∂x1

)

ps

x1 + ... +

(∂fn

∂xn

)

ps

xn +

(∂fn

∂u1

)

ps

u1 + ... +

(∂fn

∂um

)

ps

um(5.31)

donde debe recordarse ya que la expansion se realizo alrededor del estado estacionariops entonces,

f(ps) = 0 (5.32)

el anterior sistema de ecuaciones puede escribirse en notacion matricial de la siguienteforma:

dx

dt= Ax + Bu (5.33)

donde,

dx

dt=

dx1

dt

.

.

.dxn

dt

, x =

x1

.

.

.xn

, u =

u1

.

.

.um

A =

(∂f1

∂x1

)ps

. . .(

∂f1

∂xn

)ps

. . . . .

. . . . .

. . . . .(∂fn

∂x1

)ps

. . .(

∂fn

∂xn

)ps

(5.34)

B =

(∂f1

∂u1

)ps

. . .(

∂f1

∂um

)ps

. . . . .

. . . . .

. . . . .(∂fn

∂u1

)ps

. . .(

∂fn

∂um

)ps

(5.35)

El siguiente ejemplo muestra el procedimiento para linealizar una ecuacion diferencialno 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 dondese efectua la reaccion de segundo orden A → B. El modelo matematico del proceso, elcual describe la variacion de la concentracion del reactivo A, esta dada por:

dCA

dt=

Q

V(CAo − CA)− kC2

A (5.36)

7

Page 8: Linealizacion de Funciones No Lineales

linealizar el modelo suponiendo que la entrada al proceso es el flujo volumetrico Q yla salida, o respuesta, es la concentracion CA.

Como puede notarse el lado derecho de la ecuacion 5.36 es no lineal en terminos deCA. Definiendo,

f(CA, Q) =Q

V(CAo − CA)− kC2

A

linealizando esta funcion alrededor de un estado estacionario denotado por (CsA, Qs):

f(CA, Q) ≈ f(CsA, Qs) +

(∂f

∂CA

)

CsA,Qs

(CA − CsA) +

(∂f

∂Q

)

CsA,Qs

(Q−Qs) + T.O.S.

dado que,

f(CsA, Qs) = 0

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

f(CA, Q) =

(∂f

∂CA

)

CsA,Qs

CA +

(∂f

∂Q

)

CsA,Qs

Q

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

dCA

dt=

(∂f

∂CA

)

CsA,Qs

CA +

(∂f

∂Q

)

CsA,Qs

Q

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

dCA

dt=

d(CA − CsA)

dt=

dCA

dt

entonces,

dCA

dt=

(∂f

∂CA

)

CsA,Qs

CA +

(∂f

∂Q

)

CsA,Qs

Q

evaluando las derivadas parciales,

(∂f

∂CA

)

CsA,Qs

= −Qs

V− 2kCs

A

(∂f

∂Q

)

CsA,Qs

=CAo − Cs

A

V

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

dCA

dt= −

(Qs

V+ 2kCs

A

)CA +

(CAo − Cs

A

V

)Q

8

Page 9: Linealizacion de Funciones No Lineales

a continuacion mostramos como realizar el procedimiento de linealizacion de un sistemade ecuaciones diferenciales no lineales en terminos de varios parametros de entrada ysalida del sistema.

Ejemplo 2 Consiredese la operacion isotermica de un reactor tanque agitado donde

ocurre el siguiente sistema de reacciones en serie Ak1→ B

k2→ C. El modelo matematicodel reactor, el cual describe la variacion de las concentraciones de los componentes Ay B, esta dado por:

dCA

dt=

Q

V(CAo − CA)− k1C

2A (5.37)

dCB

dt=

Q

V(CBo − CB) + k1C

2A − k2CB (5.38)

linealizar este sistema de ecuaciones usando como variables de entrada el flujo volumetricoQ, 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 denotadopor ps = (Qs, Cs

Ao, CsBo, C

sA, Cs

B).Los terminos no lineales son los lados derechos de las ecuaciones anteriores,

f1(p) =Q

V(CAo − CA)− k1C

2A

f2(p) =Q

V(CBo − CB) + k1C

2A − k2CB

linealizando ambas funciones alrededor del punto ps,

f1(p) ≈ f1(ps) +

(∂f1

∂CA

)

ps

(CA − CsA) +

(∂f1

∂CB

)

ps

(CB − CsB) +

(∂f1

∂Q

)

ps

(Q−Qs)

+

(∂f1

∂CAo

)

ps

(CAo − CsAo) +

(∂f1

∂CBo

)

ps

(CBo − CsBo) + T.O.S.

f2(p) ≈ f2(ps) +

(∂f2

∂CA

)

ps

(CA − CsA) +

(∂f2

∂CB

)

ps

(CB − CsB) +

(∂f2

∂Q

)

ps

(Q−Qs)

+

(∂f2

∂CAo

)

ps

(CAo − CsAo) +

(∂f2

∂CBo

)

ps

(CBo − CsBo) + T.O.S.

ya que,

f1(ps) = 0

f2(ps) = 0

las funciones linealizadas se escriben como (despreciando terminos de orden superior),

f1(p) =

(∂f1

∂CA

)

ps

CA +

(∂f1

∂CB

)

ps

CB +

(∂f1

∂Q

)

ps

Q +

(∂f1

∂CAo

)

ps

CAo +

(∂f1

∂CBo

)

ps

CBo

f2(p) =

(∂f2

∂CA

)

ps

CA +

(∂f2

∂CB

)

ps

CB +

(∂f2

∂Q

)

ps

Q +

(∂f2

∂CAo

)

ps

CAo +

(∂f2

∂CBo

)

ps

CBo

9

Page 10: Linealizacion de Funciones No Lineales

sustituyendo estas ecuaciones en los lados derechos de las ecuaciones 5.37 y 5.38,

dCA

dt=

(∂f1

∂CA

)

ps

CA +

(∂f1

∂CB

)

ps

CB +

(∂f1

∂Q

)

ps

Q +

(∂f1

∂CAo

)

ps

CAo +

(∂f1

∂CBo

)

ps

CBo

dCB

dt=

(∂f2

∂CA

)

ps

CA +

(∂f2

∂CB

)

ps

CB +

(∂f2

∂Q

)

ps

Q +

(∂f2

∂CAo

)

ps

CAo +

(∂f2

∂CBo

)

ps

CBo

los lados izquierdos de estas ecuaciones pueden reescribirse como,

dCA

dt=

d(CA − CsA)

dt=

dCA

dtdCB

dt=

d(CB − CsB)

dt=

dCB

dt

entonces,

dCA

dt=

(∂f1

∂CA

)

ps

CA +

(∂f1

∂CB

)

ps

CB +

(∂f1

∂Q

)

ps

Q +

(∂f1

∂CAo

)

ps

CAo +

(∂f1

∂CBo

)

ps

CBo

dCB

dt=

(∂f2

∂CA

)

ps

CA +

(∂f2

∂CB

)

ps

CB +

(∂f2

∂Q

)

ps

Q +

(∂f2

∂CAo

)

ps

CAo +

(∂f2

∂CBo

)

ps

CBo

o en notacion matricial,

[dCA

dtdCB

dt

]=

(∂f1

∂CA

)ps

(∂f1

∂CB

)ps(

∂f2

∂CA

)ps

(∂f2

∂CB

)ps

[CA

CB

]+

(∂f1

∂Q

)ps

(∂f1

∂CAo

)ps

(∂f1

∂CBo

)ps(

∂f2

∂Q

)ps

(∂f2

∂CAo

)ps

(∂f2

∂CBo

)ps

QCAo

CBo

evaluando y sustituyendo las derivadas parciales,

[dCA

dtdCB

dt

]=

[−(Qs

V+ 2k1C

sA) 0

2k1CsA −(Qs

V+ k2)

] [CA

CB

]+

[ CAo−CsA

VQs

V0

CBo−CsB

V0 Qs

V

]

QCAo

CBo

este grupo de ecuaciones diferenciales linealizadas se pueden escribir en la notacionmas comun de espacio de estado:

dx

dt= Ax + Bu

donde,

dx

dt=

[dCA

dtdCB

dt

]

x =

[CA

CB

]

u =

QCAo

CBo

10

Page 11: Linealizacion de Funciones No Lineales

A =

[−(Qs

V+ 2k1C

sA) 0

2k1CsA −(Qs

V+ k2)

]

B =

[ CAo−CsA

VQs

V0

CBo−CsB

V0 Qs

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 representadapor los estados (CA, CB) del reactor. Sin embargo, si se deseara analizar la respuestadel reactor en terminos del grado de conversion XA definido como,

XA =CAo − CA

CAo

(5.39)

esta no podrıa obtenerse directamente ya que XA, tal como ha sido formulado el modelomatematico del reactor, no es un estado del sistema. Sin embargo, XA es funcion deun estado (CA) del sistema.

En casos como el anterior, la variable de salida es alguna combinacion de los estados yde 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. Entonceslinealizando alrededor de un estado estacionario denotado por ps = (xs, us) tenemos,

g1 ≈ g1(ps) +

(∂g1

∂x1

)

ps

(x1 − xs1) + ... +

(∂g1

∂xn

)

ps

(xn − xsn) +

(∂g1

∂u1

)

ps

(u1 − us1)

+... +

(∂g1

∂um

)

ps

(um − usm) + T.O.S. (5.41)

.

.

.

gn ≈ gn(ps) +

(∂gn

∂x1

)

ps

(x1 − xs1) + ... +

(∂gn

∂xn

)

ps

(xn − xsn) +

(∂gn

∂u1

)

ps

(u1 − us1)

+... +

(∂gn

∂um

)

ps

(um − usm) + T.O.S. (5.42)

de la ecuacion 5.40 sabemos que,

ys = g(ps) (5.43)

11

Page 12: Linealizacion de Funciones No Lineales

por lo cual (despreciando terminos de orden superior),

g1 = ys1 +

(∂g1

∂x1

)

ps

x1 + ... +

(∂g1

∂xn

)

ps

xn +

(∂g1

∂u1

)

ps

u1 + ... +

(∂g1

∂um

)

ps

um

.

.

.

gn = ysn +

(∂gn

∂x1

)

ps

x1 + ... +

(∂gn

∂xn

)

ps

xn +

(∂gn

∂u1

)

ps

u1 + ... +

(∂gn

∂um

)

ps

um

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

y = Cx + Du (5.44)

donde,

y =

y1

.

.

.yn

, x =

x1

.

.

.xn

, u =

u1

.

.

.um

C =

(∂g1

∂x1

)ps

. . .(

∂g1

∂xn

)ps

. . . . .

. . . . .

. . . . .(∂gn

∂x1

)ps

. . .(

∂gn

∂xn

)ps

(5.45)

D =

(∂g1

∂u1

)ps

. . .(

∂g1

∂um

)ps

. . . . .

. . . . .

. . . . .(∂gn

∂u1

)ps

. . .(

∂gn

∂um

)ps

(5.46)

En resumen la notacion de un sistema lineal (o linealizado) puede representarse enterminos de las ecuaciones 5.33 y 5.44 la cual, como se menciono antes, se denominadael espacio de estado del sistema:

dx

dt= Ax + Bu

y = Cx + Du

12

Page 13: Linealizacion de Funciones No Lineales

Ejemplo 3 Determinar la estructura de las matrices C y D del ejemplo 2 usando comovariables de salida (o variables medidas):

• CA, CB

en este caso,

g1(x, u) = CA − CsA (5.47)

g2(x, u) = CB − CsB (5.48)

entonces ya que,

[y1

y2

]=

(∂g1

∂CA

) (∂g1

∂CB

)(

∂g2

∂CA

) (∂g2

∂CB

)

[CA

CB

]+

(∂g1

∂Q

) (∂g1

∂CAo

) (∂g1

∂CBo

)(

∂g2

∂Q

) (∂g2

∂CAo

) (∂g2

∂CBo

)

QCAo

CBo

sustituyendo las derivadas parciales,

[y1

y2

]=

[1 00 1

] [CA

CB

]+

[0 0 00 0 0

]

QCAo

CBo

aunque parece redundante escribir la matriz D en la ecuacion anterior, se hahecho solo para enfatizar que, en general, la respuesta del sistema y no dependedirectamente de las entradas al sistema u. Es decir, no hay un efecto directo delas entradas sobre la respuesta del sistema. Entonces en este caso,

[y1

y2

]=

[1 00 1

] [CA

CB

]

• CA, CB, XA

ademas de las ecuaciones 5.47 y 5.48 debemos emplear la definicion de grado deconversion,

g3(x, u) =CAo − CA

CAo

(5.49)

entonces,

y1

y2

y3

=

(∂g1

∂CA

) (∂g1

∂CB

)(

∂g2

∂CA

) (∂g2

∂CB

)(

∂g3

∂CA

) (∂g3

∂CB

)

[CA

CB

]+

(∂g1

∂Q

) (∂g1

∂CAo

) (∂g1

∂CBo

)(

∂g2

∂Q

) (∂g2

∂CAo

) (∂g2

∂CBo

)(

∂g3

∂Q

) (∂g3

∂CAo

) (∂g3

∂CBo

)

QCAo

CBo

sustituyendo las derivadas parciales,

y1

y2

y3

=

1 00 1

− 1Cs

Ao0

[CA

CB

]+

0 0 00 0 0

0Cs

A

(CsAo)2

0

QCAo

CBo

13

Page 14: Linealizacion de Funciones No Lineales

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 elfuncionamiento basico de estas rutinas e ilustraremos su uso con un ejemplo. Ambasrutinas suponen que el sistema lineal esta representado en terminos de la notacion deespacio de estado:

dx

dt= Ax + Bu

y = Cx + Du

• step

Esta funcion produce la respuesta dinamica de un sistema lineal cuando se aplicaun cambio de tipo escalon en alguna de las entradas al sistema. Por default lafuncion step cambia la magnitud de la variable de entrada de 0 a 1. La funcionpuede 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. Tes 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 delos 2 primeros modos MATLAB muestra en forma grafica la respuesta dinamicadel sistema. En el primer modo MATLAB determina de manera automaticala 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 modosde operacion MATLAB no produce la respuesta del sistema en forma grafica,los resultados quedan almacenados en las variables que estan del lado izquierdodel signo de igualdad. La variable T puede generarse mediante alguna de lassiguientes 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 elprimer modo de operacion se emplean, por default, 100 valores entre x1, x2. Enel segundo modo se emplean N puntos entre dichas cotas.

• lsim

La funcion lsim puede emplearse como alternativa a la funcion step cuando sedesean realizar cambios diferentes de la unidad en la variable manipulada. Lasintaxis de la funcion es como sigue:

14

Page 15: Linealizacion de Funciones No Lineales

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 manipuladasexistan. Es decir, en la primera columna de U se deben definir los valores dela primera variable manipulada, en la segunda columna de U los valores de lasegunda variable manipulada y asi sucesivamente para el resto de las variablesmanipuladas. Debe recalcarse que cuando se usa esta funcion para obtener larespuesta dinamica de sistemas lineales, la idea es obtener dicha respuesta re-alizando un cambio a la vez. Es decir, si tenemos, por ejemplo, dos variablesmanipuladas primero se calcula la respuesta con respecto a solo una de ellas,la segunda entrada no se modificarıa. De manera semejante, cuando de deseaobtener la respuesta con respecto a la segunda entrada, el valor de la primeravariable 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 respuestadinamica del modelo linealizado alrededor del estado estacionario nominal del sistema.

Q 100 lts/minCAo 200 mol/ltCBo 0 mol/ltV 1000 ltsk1 0.01 lts/min-molk2 0.5 1/min

En estado estacionario la solucion del modelo del reactor,

dCA

dt=

Q

V(CAo − CA)− k1C

2A

dCB

dt=

Q

V(CBo − CB) + k1C

2A − k2CB

esta dada por:

CA = 40 mol/lt

CB = 26.7 mol/lt

por lo tanto el correspondiente sistema linealizado esta dado por:

[dCA

dtdCB

dt

]=

[−0.9 00.8 −0.6

] [CA

CB

]+

[0.16 0.1 0

−0.0267 0 0.1

]

QCAo

CBo

[y1

y2

]=

[1 00 1

] [CA

CB

]

despues de ejecutar MATLAB se emplean el siguiente conjunto de comandos paraobtener la respuesta del sistema.

15

Page 16: Linealizacion de Funciones No Lineales

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 unaperturbacion 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 unaperturbacion 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 cambiotipo 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 cambioescalon de 0 a 1 en el flujo volumetrico alimentado Q. Supongamos tambien que lavariable U representa los valores de la tres variables manipuladas. De acuerdo con lodicho 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 variableQ cuando ocurre el cambio escalon deseado. De acuerdo con esto, la estructura de lamatriz U sera como sigue:

U =

Q︸︷︷︸ CoA︸︷︷︸ Co

B︸︷︷︸0 0 01 0 01 0 0. . .. . .. . .1 0 01 0 01 0 0

16

Page 17: Linealizacion de Funciones No Lineales

0 1 2 3 4 5 6 7 8 9 10−0.05

0

0.05

0.1

0.15

0.2

Tiempo (mins)

Conc

entra

cion

(mol/

lt)

Cb

Ca

(a)

0 1 2 3 4 5 6 7 8 9 100

0.02

0.04

0.06

0.08

0.1

0.12

0.14

Tiempo (mins)

Conc

entra

cion

(mol/

lt)

Cb

Ca

(b)

0 1 2 3 4 5 6 7 8 9 100

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

Tiempo (mins)

Conc

entra

cion

(mol/

lt)

Cb

Ca

(c)

Figura 2: Respuesta dinamica del sistema a cambios escalon en (a) Flujo volumetricoalimentado (Q), (b) Concentracion alimentada del reactivo A (Co

A) y (c) Concentracionalimentada del reactivo B (Co

B).

similarmente, si ahora deseareamos obtener la respuesta dinamica del sistema real-izando un cambio unitario en la concentracion alimentada del reactivo A (Co

A) tendri-amos primero que fijar todos los elementos de la primera columna en cero y cambiartodos los elementos de la segunda columna (excepto el primero) en la magnitud de-

17

Page 18: Linealizacion de Funciones No Lineales

seada. Esta vez la estructura de la matriz U estarıa dada como se muestra:

U =

Q︸︷︷︸ CoA︸︷︷︸ Co

B︸︷︷︸0 0 00 1 00 1 0. . .. . .. . .0 1 00 1 00 1 0

De acuerdo con lo dicho anteriormente, los siguientes comandos Matlab producen lasmismas 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 purposeat hand. The simplest way of doing so it is to write a Matlab script file to drivethe simulation and plot the results coming out from the dynamic simulation asshown in the next example. In this example we simply carried out three dynamicsimulations under variations of each one of the system inputs by setting the initialand final values of these variables and plot the dynamic simulation results.

18

Page 19: Linealizacion de Funciones No Lineales

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

Page 20: Linealizacion de Funciones No Lineales

Cb

2

Ca

1

State −Space

x’ = Ax+Bu y = Cx+Du

Q

Cbo

Cao

Figura 3:

20

Page 21: Linealizacion de Funciones No Lineales

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

0

0.5

1

1.5

2

Time

Conc

entra

tion

Q is the manipulated var.

Ca

Cb

(a)

0 2 4 6 8 10 12 14 16 18 200

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

Time

Conc

entra

tion

Cao is the manipulated var.

Ca

Cb

(b)

0 2 4 6 8 10 12 14 16 18 200

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

Time

Conc

entra

tion

Cbo is the manipulated var.

Ca

Cb

(c)

Figura 4:

21