Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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.
27
28 Sistemas Lineales y no Lineales, Periodo 2019-1
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)’)
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).
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
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]
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]
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.
Sistema linealizado
Mux3
x2
MATLAB xo
Function
Clock [-u(1)+1 1]
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
& %
c.g. !
θ "#
$
'
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
y
mẍ cos θ + ml θ̈ = mg sin θ . (2.4)
Reordenando, se puede escribir lo siguiente:
ẋ = 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
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:
ans =
[ 0, 1, 0, 0]
[ (M+m)*g/M/l, 0, 0, 0]
[ 0, 0, 0, 1]
[ -m*g/M, 0, 0, 0]
ans =
[ 0]
[ -1/M/l]
[ 0]
[ 1/M]
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:
Ml θ̈ = (M + m)gθ − u
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
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
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.
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] 1/s: [1; 0.5; 0]
42 Sistemas Lineales y no Lineales, Periodo 2019-1
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
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;
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:
donde
−1 1 0 1
A = 0 −1 0 , B = 0 , C = [ −4 −4 2 ], y D = [2]
0 0 −2 1
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.