Sei sulla pagina 1di 19

Capı́tulo 2

Introducción a la Simulación de Sistemas

Desarrollamos este tema a través de ejemplos.

2.1. Respuestas de Sistemas Lineales en Tiempo Continuo


Ejemplo 2.1.1 Supóngase que un sistema y(t) = N[u(t), x(t◦)] tiene las ecuaciones:

ẋ(t) = Ax(t) + Bu(t)


y(t) = Cx(t) + Du(t), x(t◦ ) = x◦ , t ≥ t◦

donde    
0 1 0  
A= , B= C= 1 0 , D = [0]
−1 0 1
Este sistema se puede representar en diagrama de bloques como se muestra en la Figura 2.1.

Figura 2.1: Diagrama de bloques del sistema N.

La simulación del sistema N en el entorno SIMULINK de MATLAB se realiza empleando


el diagrama de bloques de la Figura 2.2.
Se puede probar que este sistema es lineal, de modo que debe satisfacer la propiedad de
superposición, lo que verificamos a continuación para un caso particular de entradas y vectores
de estado iniciales.
El principio de superposición consiste en que si

yi (t) = N[ui (t), x0i (t◦)], i = 1, 2,

27
28 Sistemas Lineales y no Lineales, Periodo 2019-1

Figura 2.2: Diagrama de bloques SIMULINK para la simulación del sistema N.

⇒ y3 (t) = N[α1 (u1 (t), x01(t◦)) + α2 (u2 (t), x02(t◦))] (2.1)


= N[α1 u1 (t) + α2u2 (t), α1x01 (t◦ ) + α2 x02 (t◦)]
= α1 N[u1 (t), x01(t◦)] + α2 N[u2 (t), x02 (t◦)]
= α1 y1 (t) + α2y2 (t), ∀ αi ∈ R, i = 1, 2
En nuestra verificación mediante simulación consideramos los siguientes valores: α1 = 2,
α2 = 3, t◦ = 0,
u1 (t) = sin(t) x01 (0) = [1, 0]t
u2 (t) = cos(t) x02 (0) = [0, 1]t
⇒ u3 (t) = α1 u1 (t) + α2u2 (t) x03 (0) = α1 x01 (0) + α2 x02 (0)
= 2 sin(t) + 3 cos(t) = [2, 3]t
El diagrama de bloques SIMULINK que empleamos para la simulación es mostrado en la
Figura 2.3.
En este diagrama se han especificado los arreglos (matrices) y1 , y2 , y3 que son matrices de
dos columnas, la primera de las cuales tiene los valores del tiempo, t, y la segunda, los valores
de las salidas correspondientes. Luego de la simulación se pueden observar las curvas de y1 , y2 ,
y y3 directamente en las ventanas de los bloques scope. Nosotros hemos empleado los arreglos
y1 , y2 , y y3 para graficar las salidas escribiendo lo siguiente en la lı́nea de órdenes de MATLAB:

plot(y1(:,1),y1(:,2),’*’,y2(:,1),y2(:,2),’x’,
y3(:,1),y3(:,2),’+’,y1(:,1),2*y1(:,2)+3*y2(:,2))
grid
xlabel(’tiempo, t’)
text(7.5,-2.5,’y_1(t)’)
text(8,6,’y_2(t)’)
text(6.5,12,’y_3(t)’)

La gráfica que se obtiene es mostrada en la Figura 2.4.


Notamos que las curvas de y1 , y2 , y y3 se han graficado con “∗”, “x”, y “+”, respectivamente.
Adicionalmente se ha graficado 2y1 + 3y2 (lı́nea suave), la cual pasa por los mismos puntos que
la curva y3 , de modo que se comprueba que el sistema N satisface la propiedad de superposición
representada por la Ecuación 2.1, como se esperaba.
Prof. Fernando Salomón Merchán Gordillo 29

Figura 2.3: Diagrama de bloques SIMULINK empleado para obtener y1 (t) = N[u1 (t), x01(0)],
y2 (t) = N[u2 (t), x02(0)] y y3 (t) = N[u3 (t), x03(0)].
30 Sistemas Lineales y no Lineales, Periodo 2019-1

Figura 2.4: Gráficas de y1 (t) = N[u1 (t), x01(0)], y2 (t) = N[u2 (t), x02(0)] y
y3 (t) = N[2(u1 (t), x01(0)) + 3(u2(t), x02(0))]. Nótese que y3 (t) = 2y1 (t) + 3y2(t).

2.2. Linealización de Sistemas no Lineales


Ejemplo 2.2.1 Sea el sistema N de ecuación
   
ẋ1 (t) −1/x22 (t)
= (2.2)
ẋ2 (t) u(t)x1(t)

Linealice este sistema alrededor del punto de operación asociado a la trayectoria x◦ (t) =
[x◦1 (t), x◦2 (t)]t , solución de la Ecuación (2.2) con condición inicial x1 (0) = x2 (0) = 1 y en-
trada u(t) = 0.

Solución Con las condiciones iniciales y entrada mencionadas, de la Ecuación (2.2) se obtie-
nen:
u◦ (t) = 0, x◦2 (t) = 1, x◦1 (t) = 1 − t
Por consiguiente, el punto de operación alrededor del cual se va a linealizar el sistema de Ecua-
ción (2.2) es      
x◦1 (t) 1−t
(x◦ (t), u◦(t)) = , u◦ (t) = , 0(t)
x◦2 (t) 1
Ahora bien, de (2.2) se obtienen:
1
f1 (x1 (t), x2(t), u(t)) = −
x22 (t)
y f2 (x1 (t), x2(t), u(t)) = u(t) x1(t)
Prof. Fernando Salomón Merchán Gordillo 31

Entonces,
∂ f1 ∂ f1 2 ∂ f1
= 0, = 3, =0
∂ x1 ∂ x2 x2 ∂ u
∂ f2 ∂ f2 ∂ f2
= u, =0 , = x1
∂ x1 ∂ x2 ∂u
Luego, el sistema linealizado tiene ecuación: x(t) = x◦ (t) + ∆x(t), con ∆x(t) que satisface

∆ẋ(t) = A(t)∆x(t) + B(t)∆u(t),

donde

∂ f1 ∂ f1
  
∂ f1 
 ∂ x1   
∂ x2 
 = 0 2
 ∂ u  0
A(t) = 
 ∂ f2 y B(t) = 
  = ,
∂ f2  0 0 ∂ f2  1−t

∂ x1 ∂ x2 (x (t),u (t)) ∂u

(x◦ (t),u◦ (t))
◦ ◦

siendo x◦ (t) = [x◦1 (t), x◦2 (t)]t , x◦1 (t) = 1 −t, x◦2 (t) = 1, ∆u(t) = u(t) −u◦(t), y u◦ (t) = 0(t). Se
entiende que (x(t), u(t)) es una aproximación a un punto de operación cercano a (x◦ (t), u◦(t)),
el punto de operación alrededor del cual se ha linealizado el sistema.
Los cálculos de las matrices del sistema linealizado se pueden realizar empleando el Tool-
Box de Matemática Simbólica de MATLAB. Los comandos y las correspondientes respuestas
de MATLAB en la linealización de este sistema se muestran a continuación:

syms x1 x2 u t
% Ingreso de f(x,u):
f=[-1/(x2)ˆ2;
u*x1];
% Calculo de los jacobianos en el punto de operacion:
v=[x1,x2]; U=[u]; % Vectores de derivación via jacobiano
x1=-t+1;x2=1;u=0; % Punto de operación
% jacobiano de f respecto de v:
jacobian(f,v)

ans =

[ 0, 2/x2ˆ3]
[ u, 0]

% jacobiano de f respecto de v en el punto de operación:


subs(jacobian(f,v))

ans =

0 2
0 0

% jacobiano de f respecto de U:
32 Sistemas Lineales y no Lineales, Periodo 2019-1

jacobian(f,U)

ans =

[ 0]
[ x1]

% jacobiano de f respecto de U en el punto de operación


subs(jacobian(f,U))

ans =

[ 0]
[ -t+1]
En la Figura 2.5 se muestra el diagrama SIMULINK empleado para comparar el com-
portamiento de las variables de estado de los sistemas original y linealizado cuando x1 (0) =
1.1, x2 (0) = 0.9, u(t) = 0.1, y la linealización realizada alrededor del punto de operación
([1 − t, 1]t , 0(t)).
En la Figura 2.6 se muestran las gráficas de x1 para el sistema no lineal y de x1 para el
sistema linealizado.

u cond. inic: [1.1 0.9]


MATLAB 1
em
Function s
[-1/((u(3))^2) u(1)*u(2)]
Mux Demux Mux2
0.1 x1
Sistema no lineal
Constant
cond. inic: [0.1 -0.1]
MATLAB 1
em
Function s
[2*u(4) (1-u(2))*u(1)]
Mux1 Demux1

Sistema linealizado
Mux3
x2

MATLAB xo
Function
Clock [-u(1)+1 1]

Nótese que xo se puede obtener de:

0 xo
MATLAB 1
Function s
Constant1
[-1/(u(3))^2 u(1)*u(2)] cond. inic: [1 1] xo

Figura 2.5:
Prof. Fernando Salomón Merchán Gordillo 33

−1

−2
x1 linealizado

−3

−4

−5 x1 no lineal

−6

−7

−8
0 0.5 1 1.5 2 2.5 3 3.5 4

Figura 2.6: Comparación de x1 del sistema no lineal con x1 del sistema linealizado para las
condiciones de simulación indicadas en la Figura 2.5

Ejemplo 2.2.2 El Sistema Carrito-Péndulo Invertido (CPI)


En la Figura 2.7 se muestra el sistema CPI. Con el propósito de simplificar las ecuaciones del
modelo matemático del sistema se considera despreciable el peso de la varilla.

& %
c.g.    ! 


θ "#

$
'



Figura 2.7: El sistema CPI

Obtenemos las ecuaciones del movimiento del sistema CPI empleando las ecuaciones de la
Dinámica de Lagrange como sigue:
Las expresiones para las energı́as potencial P(x, θ , ẋ, θ̇ ) y cinética K(x, θ , ẋ, θ̇ ) del sistema CPI
son, respectivamente,
1 1
K(x, θ , ẋ, θ̇ ) = M ẋ2 + m{(ẋ + l θ̇ cos θ )2 + (−l θ̇ sin θ )2 },
2 2
34 Sistemas Lineales y no Lineales, Periodo 2019-1

y
P(x, θ , ẋ, θ̇ ) = mgl cos θ .
Al definir el Lagrangiano L del sistema como L = K − P y emplear las ecuaciones de Lagrange

d ∂L ∂L
− = u,
dt ∂ ẋ ∂ x
d ∂L ∂L
y − = 0,
dt ∂ θ̇ ∂ θ
se obtienen las ecuaciones

(M + m)ẍ − ml sin θ .θ̇ 2 + ml cos θ .θ̈ = u (2.3)

y
mẍ cos θ + ml θ̈ = mg sin θ . (2.4)
Reordenando, se puede escribir lo siguiente:

u + ml sin θ .θ̇ 2 − mg sin θ . cos θ


ẍ =
M + m − m cos2 θ
y
(M + m)g sin θ − u cos θ − ml sin θ . cos θ .θ̇ 2
θ̈ =
Ml + ml − ml cos2 θ
Definiendo las variables de estado x1 = θ , x2 = θ̇ , x3 = x, y x4 = ẋ, y las variables de salida
y1 = x1 = θ , y y2 = x3 = x, se obtiene la expresión matemática que caracteriza al sistema no
lineal:

ẋ = f (x, u)
 
  x1
1 0 0 0   x2  ,

y = g(x, u) =
0 0 1 0  x3 
x4
con  
x2

 (M + m)g sin x1 − u cos x1 − ml sin x1 . cos x1 .x22 


f (x, u) =  Ml + ml − ml cos2 x1 


 x4 

 u + ml sin x1 .x22 − mg sin x1 . cos x1 
M + m − m cos2 x1
Con m = 0.1 kg, M = 2 kg, l = 0.5 m, g = 9.81 m/s2, se tiene:
 
x2
 20.601 sinx1 − u cos x1 − 0.05 sin x1 . cos x1 .x2 
 2 
 1.05 − 0.05 cos2x 
f (x, u) = 
 1 
 x4 

 u + 0.05 sin x1 .x22 − 0.981 sinx1 . cos x1 
2.1 − 0.1 cos2 x1
Prof. Fernando Salomón Merchán Gordillo 35

Observamos que (x◦ (t), u◦(t)) = (0(t), 0(t)) [Estado inicial: x(0) = 0] es un punto de operación
del sistema.
Linealizaremos ahora el sistema alrededor del punto de operación mencionado tomando en
cuenta:
∆x(t) = x(t) − 0(t) = x(t)
|{z}
x◦ (t)
∆u(t) = u(t) − 0(t) = u(t)
Linealizaremos el sistema alrededor del punto de operación (0(t), 0(t)):


       
ẋ1 ∂ f1 / ∂ x1 ∂ f1 / ∂ x2 ∂ f1 / ∂ x3 ∂ f1 / ∂ x4
x1 ∂ f1 / ∂ u

 ẋ2   ∂ f2 / ∂ x1 ∂ f2 / ∂ x2 ∂ f2 / ∂ x3 ∂ f2 / ∂ x4   x2   ∂ f2 / ∂ u 
 ẋ3  =  x3  +  ∂ f3 / ∂ u
        u
 ∂ f3 / ∂ x1 ∂ f3 / ∂ x2 ∂ f3 / ∂ x3 ∂ f3 / ∂ x4  

ẋ4 ∂ f4 / ∂ x1 ∂ f4 / ∂ x2 ∂ f4 / ∂ x3 ∂ f4 / ∂ x4
x4 ∂ f4 / ∂ u
(0(t),0(t))

(0(t),0(t))

 
  x1
1 0 0 0  x2 

y =
0 0 1 0  x3 
x4

Usando el ToolBox de MATEMÁTICA SIMBÓLICA de MATLAB (véanse las órdenes corres-


pondientes en la lı́nea de comandos en la Página 36) se obtiene el siguiente modelo linealizado:

   
  0 1 0 0   0
ẋ1 (t)  (M + m)  x1 (t)  1 
 ẋ2 (t)   g 0 0 0  x2 (t)  
  − 
  =  Ml  +  Ml 
u (2.5)
 ẋ3 (t)   0 0 0 1   x3 (t)   0 
 
ẋ4 (t) m x4 (t)
 1 
− g 0 0 0
M M
 
    x1 (t)
y1 (t) 1 0 0 0   x2 (t) 

=
y2 (t) 0 0 1 0  x3 (t) 
x4 (t)
Para m = 1kg, M = 2kg, l = 0.5m, y g = 9.81m/ s2, el modelo linealizado queda:
     

ẋ1 (t) 0 1 0 0 x1 (t) 0
 ẋ2 (t)   20.601 0 0 0   x2 (t)   −1 
 ẋ3 (t)  = 
+
  0  u(t)
    
0 0 0 1   x3 (t)
ẋ4 (t) −0.4905 0 0 0 x4 (t) 0,5

 
    x1 (t)
y1 (t) 1 0 0 0  x2 (t) 
=  
y2 (t) 0 0 1 0  x3 (t) 
x4 (t)
36 Sistemas Lineales y no Lineales, Periodo 2019-1
  
ẋ(t) = Ax(t) + Bu(t)
Como se vé, se llega a la forma:
y(t) = Cx(t)
Los comandos empleados y las correspondientes respuestas de MATLAB en la linealización
de este sistema (Ejemplo 2.2.2) se muestran a continuación:

% Construcción de las variables simbólicas


% x1, x2, x3, x4, u, m, M, l, g:
syms x1 x2 x3 x4 u m M l g
% Ingreso de f(x,u):
f=[x2;
((M+m)*g*sin(x1)-u*cos(x1)...
-m*l*sin(x1)*cos(x1)*x2ˆ2)/(M*l+m*l-m*l*(cos(x1))ˆ2);
x4;
(u+m*l*sin(x1)*x2ˆ2-m*g*sin(x1)*cos(x1))/(M+m-m*(cos(x1))ˆ2)];
% Calculo de los jacobianos en el punto de operacion:
v=[x1,x2,x3,x4]; U=[u]; % Vectores de derivación via jacobiano
x1=0;x2=0;x3=0;x4=0;u=0; % Punto de operación
% jacobiano de f respecto de v en el punto de operación:
subs(jacobian(f,v))

ans =

[ 0, 1, 0, 0]
[ (M+m)*g/M/l, 0, 0, 0]
[ 0, 0, 0, 1]
[ -m*g/M, 0, 0, 0]

% jacobiano de f respecto de U en el punto de operación


subs(jacobian(f,U))

ans =

[ 0]
[ -1/M/l]
[ 0]
[ 1/M]

% jacobianos para m=0.1kg, M=2kg, l=0.5m, g=9.81m/s2:


% Dando valores a m, M, l, y a g:
m=0.1;M=2;l=0.5;g=9.81; subs(jacobian(f,v))

ans =

0 1.0000 0 0
Prof. Fernando Salomón Merchán Gordillo 37

20.6010 0 0 0
0 0 0 1.0000
-0.4905 0 0 0

subs(jacobian(f,U))

ans =

0
-1.0000
0
0.5000

Nota Obviamente, este sistema se pudo linealizar fácilmente a partir de las ecuaciones (2.3)
y (2.4) suponiendo:

sin θ ≅ θ , cos θ ≅ 1, θ .θ̇ 2 ≅ 0, para θ pequeño.

Estas ecuaciones quedan: 


(M + m)ẍ + ml θ̈ = u
(2.6)
mẍ + ml θ̈ = mgθ
Eliminando ẍ de la ecuación (2.6):

Ml θ̈ = (M + m)gθ − u

Eliminando θ̈ de la ecuación (2.6):


M ẍ = u − mgθ
Definiendo x1 = θ , x2 = θ̇ , x3 = x, x4 = ẋ, y y1 = θ , y2 = x, queda el sistema linealizado anterior
(2.5).
Comparamos los sistemas no lineal y linealizado de la siguiente manera: establecemos el
mismo estado inicial en ambos sistemas, los exponemos a la misma excitación, y se obtienen
gráficos de xi , Xi frente a t, para i = 1, 2, 3, 4.
En la Figura 2.8 se muestra el diagrama SIMULINK de los sistemas original y linealizado
a los que se impuso el mismo estado inicial x(0) = [0.05, 0, 0, 0]t y la misma entrada u(t) = 0
(esto produce un punto de operación vecino de (x◦ (t), u◦(t)) = ([0, 0]t , 0). La Figura 2.9 muestra
sólo la gráfica x1 , X1 frente a t de los sistemas simulados.
Como se ve, al correr la simulación, los valores de las variables de los sistemas no lineal y
linealizado son similares durante la primera unidad de tiempo: la linealización es correcta.

2.3. Ejemplos Varios


Ejemplo 2.3.1 Calculamos aquı́ la respuesta en t = 1 del sistema
   
0 2 0 0
ẋ(t) =  0 0 3  x(t) +  0  u(t), y(t) = [ 1 1 1 ]x(t)
0 0 0 1
38 Sistemas Lineales y no Lineales, Periodo 2019-1

Figura 2.8: Comparación en SIMULINK de los sistemas no lineal y linealizado: Péndulo inver-
tido
Prof. Fernando Salomón Merchán Gordillo 39

10

−2

−4
0 0.5 1 1.5 2 2.5
0≤ t ≤ 2.5

Figura 2.9: Comparación de x1 con X1

dado que
x(0) = [ −1 −2 1 ]t y u(t) = 1+ (t) :

Se sabe que la respuesta del modelo ẋ(t) = Ax(t) + Bu(t), y(t) = Cx(t) + Du(t), x(t◦ ) = x◦
es y(t) = Cx(t) + Du(t), donde
Z t
A(t−t◦ )
x(t) = e x◦ + eA(t−q) Bu(q)dq (2.7)
t◦

En nuestro problema,
   
0 2 0 0
A =  0 0 3 , B =  0 , C = [ 1 1 1 ], D = [0],
0 0 0 1

y t◦ = 0, u(t) = 1+ (t), x(0) = [ −1 −2 1 ]t


El cálculo de x(t), x(1), y y(1), empleando MATLAB, se hace digitando las siguientes senten-
cias:

A=[0 2 0;0 0 3;0 0 0]; B=[0 0 1]’; C=[1 1 1]; D=[0];


syms t q
x=expm(A*t)*[-1;-2;1]+int(expm(A*(t-q))*B,q,0,t)
subs(x,1) % x(1)
C*subs(x,1) % y(1)=C*x(1)
40 Sistemas Lineales y no Lineales, Periodo 2019-1

La ejecución de estas sentencias resulta en los siguientes valores:


    3   
1 2t 3t 2 −1 t −1 − 4t + 3t 2 + t 3
x(t) =  0 1 3t   −2  +  1.5t 2  =  −2 + 3t + 1.5t 2 
0 0 1 1 t 1+t
x(1) = [ −1 5/2 2 ]t , ⇒ y(1) = Cx(1) = 7/2

Ejemplo 2.3.2 Sea el modelo de estado


   
0 1 0
ẋ(t) = x(t) + u(t), x(1) = [ 3 −6 ]t
0 0 1

Construiremos aquı́ una entrada de la forma α 1+ (t) tal que x(2) = [ 0 0 ]t :


Sabemos que Z t
x(t) = eA(t−1) x(1) + eA(t−q) Bu(q)dq (2.8)
1
Calculamos x(2), empleando MATLAB, a través de la ejecución de las siguientes senten-
cias:

A=[0 1;0 0]; B=[0 1]’;


syms t q a % "a" representa a "alpha"
x=expm(A*(t-1))*[3 -6]’+int(expm(A*(t-q))*B*a,q,1,t)
subs(x,2)

De la ejecución de estas sentencias y de la condición x(2) = 0, podemos escribir:


 
    1
0 −3
= + α  2  , ⇒ α = 6.
0 −6
1

∴ Respuesta: u(t) = 6.1+ (t)

Ejemplo 2.3.3 Considérese un sistema lineal con las siguientes ecuaciones:

ẋ(t) = Ax(t) + Bu(t)


y(t) = Cx(t) + Du(t)

con
     
−1 −4 0 1   1
A =  1 −1 0 , B =  1 , C= 1 2 3 , D = [2], y x(0) = x◦ =  0.5 
4 2 −3 1 0

En este ejemplo obtenemos las gráficas de x1 (t), x2 (t), x3 (t), y y(t) para t ∈ [0, π ] de dos
maneras: la primera, escribiendo comandos en la lı́nea de órdenes de MATLAB, y la segunda,
empleando SIMULINK.

Obtención de las gráficas escribiendo comandos en la lı́nea de órdenes de MATLAB.


Las siguientes sentencias MATLAB dan lugar a la gráfica de la Figura 2.10:
Prof. Fernando Salomón Merchán Gordillo 41

0.5
x1

−0.5

−1
0 0.5 1 1.5 2 2.5 3 3.5
Tiempo (segundos)
0.8

0.6
x2

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3 3.5
Tiempo (segundos)
4

0
y

−2

−4
0 0.5 1 1.5 2 2.5 3 3.5
Tiempo (segundos)

Figura 2.10: x1 (t), x2 (t), x3 (t), y y(t) para el sistema del Ejemplo 2.3.3.

A=[-1 -4 0;1 -1 0;4 2 -3]; B=[1;1;1]; C=[1 2 3]; D=[2];


sys=ss(A,B,C,D); x0=[1 0.5 0]; t=[0:0.01:pi]; u=sin(t);
[y,T,x]=lsim(sys,u,t,x0);
subplot(311),plot(T,x(:,1))
xlabel(’Tiempo (segundos)’), ylabel(’x_1’)
subplot(312),plot(T,x(:,2))
xlabel(’Tiempo (segundos)’), ylabel(’x_2’)
subplot(313),plot(T,y)
xlabel(’Tiempo (segundos)’), ylabel(’y’)

Obtención de las gráficas empleando SIMULINK:


En la Figura 2.11 se muestra el diagrama de bloques SIMULINK empleado para simular
el sistema. Los parámetros de los bloques empleados y de simulación son los siguientes:

Matlab Function: sin(u(1))

A: [-1 -4 0; 1 -1 0; 4 2 -3]
B: [1; 1; 1]
C: [1 2 3]
D: [2] 1/s: [1; 0.5; 0]
42 Sistemas Lineales y no Lineales, Periodo 2019-1

Demux: Number of outputs: 3


Scope parameters: Number of axes: 3 -- Emplear Autoscale
Simulation parameters:
Start time: 0
Stop time; pi

Figura 2.11: Diagrama de bloques SIMULINK para la simulación del sistema del Ejemplo 2.3.3.

Ejemplo 2.3.4 Respuesta al escalón de un sistema en tiempo discreto de tercer orden con con-
diciones iniciales no nulas.
Sea el sistema lineal invariante en el tiempo de ecuación

y[n] − 0.25y[n − 1] − 0.125y[n − 2] + 0.5y[n − 3] = 3u[n]

Definiendo x1 [n] = y[n − 3], x2 [n] = y[n − 2], y x3 [n] = y[n − 1], tenemos x1 [n + 1] = x2 [n],
x2 [n + 1] = x3 [n], y x3 [n + 1] = 0.25x3 [n] + 0.125x2 [n] − 0.5x1 [n] + 3u[n]. En forma matricial las
ecuaciones de estado y de salida son
   
0 1 0 0
x[n + 1] =  0 0 1  x[n] + 0  u[n]

−0.5 0.125 0.25 3
 
y[n] = −0.5 0.125 0.25 x[n] + 3u[n]

En la Figura 2.12 se muestra la respuesta escalón del sistema con estado inicial x1 [0] =
y[−3] = −3, x2 [0] = y[−2] = −2, y x3 [0] = y[−1] = −1, la cual ha sido obtenida empleando la
función dlsim de MATLAB.
El código fuente que se empleó fué el siguiente:

A=[0,1,0;0,0,1;-0.5,0.125,0.25] % matriz A
B=[0;0;3] % matriz B
C= [-0.5,0.125,0.25] % matriz C
Prof. Fernando Salomón Merchán Gordillo 43

Respuesta escalón
6

4
y[n]

0
0 5 10 15 20 25
número de muestra, n

Figura 2.12: Respuesta escalón de un sistema de tercer orden con condiciones iniciales no nulas

D=[3] % matriz D
x0=[-3;-2;-1] % vector de estado de condicion inicial
n= 0:1:25; % n inicial:incremento:n de termino
u=[1*ones(size(n))]’; % vector columna de entrada
sx=size(u) % muestra las dimensiones de la matriz u
[y,x]=dlsim(A,B,C,D,u,x0); % llamada a dlsim
stem(n,y);
axis([0,25,0,6]);
xlabel(’numero de muestra, n’);
ylabel(’y[n]’);
title(’Respuesta escalon’);
grid;

La respuesta del sistema al escalón unitario también se obtiene empleando SIMULINK. En


este caso tomamos en cuenta el diagrama de bloques de la Figura 2.13.
Volvemos a obtener la Figura 2.12 empleando el siguiente código MATLAB,

stem(discreto(:,1),discreto(:,2))

grid

donde discreto es la matriz definida en scope1 con primera columna, las abscisas los puntos
de la gráfica de y[n] (el tiempo discreto), y segunda columna, las ordenadas de esos puntos.
44 Sistemas Lineales y no Lineales, Periodo 2019-1

K*u

1
1 K*u K*u
z
Constant Zero-Order B Unit Delay C Scope1
Hold

K*u

A
Scope

Figura 2.13: Diagrama de bloques SIMULINK del sistema del Ejemplo 2.3.4

Problemas
1. Elija un sistema no lineal cualquiera de al menos dos variables de estado y haga lo si-
guiente:

a) Encuentre un punto de operación del sistema.


b) Encuentre las ecuaciones del sistema linealizado alrededor del punto de operación
de i).
c) Compare los comportamientos de los sistemas no lineal y linealizado empleando
SIMULINK. Explique cómo procede a hacerlo.

2. En las preguntas que siguen se hace referencia al sistema

ẋ(t) = Ax(t) + Bu(t)


y(t) = Cx(t) + Du(t)
x(0) = x◦ = [ 1 2 3 ]t

donde
   
−1 1 0 1
A =  0 −1 0 , B =  0 , C = [ −4 −4 2 ], y D = [2]
0 0 −2 1

a) i) Calcule la respuesta P(t) de estado de estado cero cuando


u(t) = 1+ (t).
ii) Calcule la respuesta Q(t) de estado de estado cero cuando
u(t) = t · 1+(t).
d
iii) Calcule P(t) − Q(t)
dt
[Nota: Si P es una función de t, Ud. puede calcular la derivada de P respecto de
t empleando el comando diff de MATLAB ası́: diff(P)]
b) Si u(t) = t · 1+ (t),
Prof. Fernando Salomón Merchán Gordillo 45

i) Calcule la respuesta y(t).


ii) Calcule y(5) y y(20).
iii) Grafique x1 (t) y y(t) para t entre 0 y 20 segundos.
c) Empleando SIMULINK, obtenga las gráficas de x1 (t) y y(t) para t entre 0 y 20
segundos.

3. Resolver el problema A.1 del Apéndice A del texto de Jan Willem Polderman y Jan C.
Willems. Sugerencia: averigüe el uso de la función dsolve de MATLAB.

Potrebbero piacerti anche