Documentos de Académico
Documentos de Profesional
Documentos de Cultura
plano s, con frecuencia es necesario ajustar uno o más parámetros para obtener los patrones con-
venientes. Los efectos de los parámetros que varían sobre los polos de un sistema en lazo cerrado
se analizarán con detalle en el Capítulo 6.
C(s) 2s ! 25
% 2 (5-35)
R(s) s ! 4s ! 25
Este sistema se representa como dos arrays, cada uno de los cuales contiene los coeficientes de
los polinomios en potencias decrecientes de s del modo siguiente:
num % [2 25]
den % [1 4 25]
Una representación alternativa es
num % [0 2 25]
den % [1 4 25]
184 Ingeniería de control moderna
Esta expresión se completa añadiendo un cero. Obsérvese que si se añaden los ceros, la dimen-
sión de los vectores «num» y «den» es la misma. Una ventaja de añadir los ceros es que los
vectores «num» y «den» se pueden sumar directamente. Por ejemplo,
num ! den % [0 2 25] ! [1 4 25]
% [1 6 50]
Si se conocen num y den (el numerador y denominador de la función de transferencia en lazo
cerrado), intrucciones del tipo
step(num,den), step(num,den,t)
generarán gráficas de respuestas escalón unitario. (En el comando step, t es el tiempo especifi-
cado por el usuario.)
Para un sistema de control definido en el espacio de estados, donde se conocen la matriz de
estado A, la matriz de control B, la matriz de salida C y la matriz de transmisión directa D de las
ecuaciones en el espacio de estados, el comando
step(A,B,C,D) setp(A,B,C,D,t)
generará gráficas de respuestas escalón unitario. El vector de tiempo t queda determinado auto-
máticamente cuando no se incluye de manera explícita en los comandos step.
Obsérvese que el comando step(sys) se puede utilizar para obtener la respuesta escalón
unitario de un sistema. Primero se define el sistema mediante
sys % tf(num,den)
o bien
sys % ss(A,B,C,D)
Entonces, para obtener, por ejemplo, la respuesta escalón unitario, se introduce
step(sys)
en el computador.
Cuando los comandos step tienen argumentos en el lado izquierdo, como en
[y,x,t] % step(num,den,t)
[y,x,t] % step(A,B,C,D,iu)
[y,x,t] % step(A,B,C,D,iu,t) (5-36)
no aparece una gráfica en la pantalla. Por tanto, es necesario usar un comando plot para ver las
curvas de respuesta. Las matrices y y x contienen la salida y la respuesta del estado del sistema,
respectivamente, evaluadas en los puntos de tiempo de cálculo t. (y tiene tantas columnas como
salidas y una fila para cada elemento en t. x tiene tantas columnas como estados y una fila para
cada elemento en t.)
Obsérvese, en la Ecuación (5-36), que el escalar iu es un índice dentro de las entradas del
sistema y especifica qué entrada se va a usar para la respuesta, y t es el tiempo especificado por
el usuario. Si el sistema contiene múltiples entradas y salidas, el comando step, tal como apare-
ce en la Ecuación (5-36), produce una serie de gráficas de respuestas escalón, una para cada
combinación de entrada y salida de
x5 % Ax ! Bu
y % Cx ! Du
(Véanse los detalles en el Ejemplo 5-3.)
Capítulo 5. Análisis de la respuesta transitoria y estacionaria 185
CD C DC D C DC D
x5 1 .1 .1 x1 1 1 u1
% !
x5 2 6.5 0 x2 1 0 u2
C D C DC D C DC D
y1 1 0 x1 0 0 u1
% !
y2 0 1 x2 0 0 u2
C DC D C D
1 0 s!1 1 .1
1 1
%
0 1 .6.5 s 1 0
C DC D
1 s .1 1 1
%
s ! s ! 6.5 6.5 s ! 1
2
1 0
C D
1 s.1 s
%
s ! s ! 6.5 s ! 7.5
2
6.5
Por tanto,
C D
s.1 s
C D C D
Y1(s) s ! s ! 6.5
2
s ! s ! 6.5
2
U1(s)
%
Y2(s) s ! 7.5 6.5 U2(s)
s2 ! s ! 6.5 s2 ! s ! 6.5
186 Ingeniería de control moderna
Como el sistema contiene dos entradas y dos salidas, se definen cuatro funciones de transferen-
cia, dependiendo de qué señales se consideran como entrada y cuáles como salida. Observe que,
cuando se considera la señal u1 como la entrada, se supone que la señal u2 es cero, y viceversa. Las
cuatro funciones de transferencia son
Y1(s) s.1 Y1(s) s
% , %
U1(s) s ! s ! 6.5
2
U2(s) s ! s ! 6.5
2
Se supone que u1 y u2 son funciones escalón unidad. Las cuatro curvas de respuesta escalón indivi-
duales se dibujan mediante el comando
step(A,B,C,D)
El Programa MATLAB 5-1 produce cuatro curvas de respuesta escalón. Las curvas se muestran en
la Figura 5-18. (Observe que el vector tiempo t se determina de forma automática puesto que la
orden no incluye t.)
MATLAB Programa 5-1
Para dibujar dos curvas de respuesta escalón para la entrada u1 en un diagrama, y dos curvas de
respuesta escalón para la entrada u2 en otro diagrama, se utilizan los comandos
step(A,B,C,D,1)
step(A,B,C,D,2)
respectivamente. El Programa MATLAB 5-2 es un programa para dibujar dos curvas de respuesta
escalón para la entrada u1 en un diagrama y dos curvas de respuesta escalón para la entrada u2 en
otro diagrama. La Figura 5-19 muestra los dos diagramas, cada uno formado por dos curvas de
respuesta escalón. (Este programa de MATLAB utiliza órdenes de texto. Refiérase al siguiente
párrafo para estos comandos.)
step(A,B,C,D,1)
grid
title ('Respuesta a un escalón: Entrada % u1 (u2 % 0)')
text(3.4, -0.06,'Y1')
text(3.4, 1.4,'Y2')
step(A,B,C,D,2)
grid
title ('Respuesta a un escalón: Entrada % u2 (u1 % 0)')
text(3,0.14,'Y1')
text(2.8,1.1,'Y2')
188 Ingeniería de control moderna
text(3.4,-0.06, 'Y1')
y
text(3.4,1.4,'Y2')
Capítulo 5. Análisis de la respuesta transitoria y estacionaria 189
El primer enunciado le indica a la computadora que escriba ‘Y1’, empezando en las coorde-
nadas x % 3.4, y %.0.06. De modo similar, el segundo enunciado le indica a la computadora
que escriba ‘Y2’, empezando en las coordenadas x % 3.4, y % 1.4. [Véanse el Programa
MATLAB 5-2 y la Figura 5-19(a).]
Otra forma de escribir un texto o textos en una gráfica es utilizar el comando gtext. La
sintaxis es
gtext('text')
Cuando se ejecuta gtext, el computador espera hasta que el cursor se posiciona (utilizando el
ratón) en la pantalla en la posición deseada. Cuando se pulsa el botón izquierdo del ratón, el
texto encerrado en comillas simples se escribe en el dibujo en la posición señalada por el cursor.
Se puede utilizar cualquier número de comandos gtext en una gráfica. (Véase, por ejemplo, el
Programa 5-15 de MATLAB).
u2n
G(s) % (5-40)
s2 ! 2funs ! u2n
printsys(num,den) o printsys(num,den,s)
wn % 5;
damping–ratio % 0.4;
[num0,den] % ord2(wn,damping –ratio);
num % 5p2*num0;
printsys(num,den,'s')
num/den %
25
S 2 ! 4s ! 25
p
25
G(s) %
s ! 4s ! 25
2
190 Ingeniería de control moderna
El Programa MATLAB 5-4 produce la gráfica de la respuesta escalón unitario de este sistema.
En la Figura 5-20 se muestra un dibujo de la curva respuesta escalón unitario.
Obsérvese en la Figura 5-20 (y en muchas otras) que las etiquetas de los ejes x e y se deter-
minan de forma automática. Si se quiere etiquetar el eje x y el eje y de forma diferente, se tiene
que modificar el comando step. Por ejemplo, si se quiere que en el eje x se etiquete como
't Seg' y el eje y como ‘Entrada y Salida’, se utiliza el comando respuesta escalón con los
argumentos en el lado izquierdo siguientes
c%step(num,den,t)
o, de forma más general,
[y,x,t]%step(num,den,t)
y utilizar la orden plot(t,y). Véase, por ejemplo, el Programa MATLAB 5-5 y la Figura 5-21.
C(s) 1
%
R(s) s ! 2fs ! 1
2
(La frecuencia natural subamortiguada un está normalizada a 1.) Dibuje las curvas de respuesta
escalón unitario c(t) cuando f tiene los siguientes valores
f % 0, 0.2, 0.4, 0.6, 0.8, 1.0
También dibuje una gráfica en tres dimensiones.
192 Ingeniería de control moderna
plot(t,y)
grid
title('Respuesta a un escalón unitario con \omega –n % 1
y \zeta % 0, 0.2, 0.4, 0.6, 0.8, 1')
xlabel('t (seg)')
ylabel('Respuesta')
text(4.1,1.86,'\zeta % 0')
text(3.5,1.5,'0.2')
text(3.5,1.24,'0.4')
text(3.5,1.08,'0.6')
text(3.5,0.95,'0.8')
text(3.5,0.86,'1.0')
mesh(t,zeta,y')
title(Respuesta tridimensional a un escalón unitario)
xlabel('t Seg')
ylabel('\zeta')
zlabel('Respuesta')
Capítulo 5. Análisis de la respuesta transitoria y estacionaria 193
C(s) 1
% G(s) %
R(s) s ! 0.2s ! 1
2
196 Ingeniería de control moderna
El Programa MATLAB 5-8 es una de las posibilidades. En la Figura 5-24 aparece la curva de
respuesta resultante.
Por tanto, se convierte la respuesta impulso unitario de G(s) en la respuesta impulso unitario
de sG(s).
Si se introducen los siguientes num y den en MATLAB,
num % [0 1 0]
den % [1 0.2 1]
Capítulo 5. Análisis de la respuesta transitoria y estacionaria 197
num % [1 0];
den % [1 0.2 1];
step(num,den);
grid
title('Respuesta a un impulso unitario de sG(s) % s/(sp2 ! 0.2s ! 1)')
Figura 5-25. Curva de respuesta a un impulso unitario obtenida como la respuesta a un escalón
unitario de sG(s) % s/(s2 ! 0.2s ! 1).
Respuesta rampa. No hay un comando rampa de MATLAB. Por tanto, es necesario uti-
lizar el comando step para obtener la respuesta rampa. Específicamente, para obtener la respues-
ta rampa del sistema con función de transferencia G(s), divídase G(s) entre s y utilícese el co-
mando de respuesta escalón. Por ejemplo, considérese el sistema en lazo cerrado
C(s) 2s ! 1
% 2
R(s) s ! s ! 1
Para una entrada rampa unitaria, R(s) % 1/s2. Por tanto,
2s ! 1 1 2s ! 1 1
C(s) % 2% 2
s !s!1 s
2
(s ! s ! 1)s s
Para obtener la respuesta rampa unitaria de este sistema, introdúzcanse el numerador y el deno-
minador siguientes en el Programa MATLAB:
num % [2 1];
den % [1 1 1 0];
198 Ingeniería de control moderna
C D CD
0 1 0
A% , B% , x(0) % 0, C % [1 0], D % [0]
.1 .1 1
Cuando las condiciones iniciales son cero, la respuesta rampa unitaria es la integral de la res-
puesta escalón unitario. Por tanto, la respuesta rampa unitaria se obtiene mediante
I
t
z% y dt (5-44)
A partir de la Ecuación (5-44), se obtiene 0
z5 % y % x1 (5-45)
Sea
z % x3
Entonces, la Ecuación (5-45) se convierte en
x5 3 % x1 (5-46)
Combinando la Ecuación (5-46) con la ecuación original en el espacio de estados, se obtiene
CD C DC D C D
x5 1 0 1 0 x1 0
5x2 % .1 .1 0 x2 ! 1 u (5-47)
x5 3 1 0 0 x3 0
CD
x1
z % [0 0 1] x2 (5-48)
x3
donde la u que aparece en la Ecuación (5-47) es la función escalón unitario. Esas ecuaciones se
pueden escribir como
x5 % AAx ! BBu
z % CCx ! DDu
donde
C DC D CD
0 1 0 0 0
CD
A B
AA % .1 .1 0 % 0 , BB % 1 % , CC % [0 0 1], DD % [0]
0
1 0 0 C 0 0
Obsérvese que x3 es el tercer elemento de x. Una gráfica de la curva de respuesta rampa unitaria
z(t) se obtiene introduciendo el Programa MATLAB 5-11 en la computadora. La Figura 5-27
muestra una gráfica de la curva de respuesta rampa unitaria obtenida de este programa MATLAB.
200 Ingeniería de control moderna
lsim(num,den,r,t)
lsim(A,B,C,D,u,t)
y % lsim(num,den,r,t)
y % lsim(A,B,C,D,u,t)
generarán la respuesta a la función entrada temporal r o u. Véanse los dos ejemplos siguientes
(véanse también los Problemas A-5-14 a A-5-16).
EJEMPLO 5-6 Utilizando la orden lsim, obtenga la respuesta frente a una rampa unitaria del siguiente sistema:
C(s) 1
%
R(s) s !s!1
2
Se puede escribir el Programa 5-12 en MATLAB en el computador para obtener la respuesta frente
a la rampa unitaria. En la Figura 5-28 se muestra la gráfica que se obtiene.
CD C DC D C D
x5 1 .1 0.5 x1 0
% ! u
x5 2 .1 0 x2 1
CD
x1
y % [1 0]
x2
Utilizando MATLAB, obtenga las curvas de respuesta y(t) cuando la entrada u está dada por
1. u % entrada escalón unitario
2. u % e.t
Suponga que el estado inicial es x(0) % 0.
Un posible programa en MATLAB que produce las respuestas de este sistema a la entrada
escalón unitario [u % 1(t)] y la entrada exponencial [u % e.t] es el Programa 5-13. Las curvas de
respuesta que se obtienen se muestran en las Figuras 5-29(a) y (b), respectivamente.
t % 0:0.1:12;
A % [–1 0.5;–1 0];
B % [0;1];
C % [1 0];
D % [0];
% Para la entrada en escalón unitario u % 1(t),
% use la orden "y % step(A,B,C,D,1,t)".
y % step(A,B,C,D,1,t);
plot(t,y)
grid
title('Respuesta a un escalón unitario')
xlabel('t Seg')
ylabel('Salida')
EJEMPLO 5-8 Considere el sistema mecánico de la Figura 5-30, en el que m % 1 kg, b % 3 N-seg/m y k % 2
N/m. Suponga que en t % 0 la masa m se tira hacia abajo, de modo que x(0) % 0.1 m y que
x5 (0) % 0.05 m/seg. El desplazamiento x6 (t) se mide a partir de la posición de equilibrio antes de
que la masa se tire hacia abajo. Obtenga el movimiento de la masa sujeto a las condiciones
iniciales. (Suponga que no existe una función de excitación externa.)
La ecuación del sistema es
mẍ ! bx5 ! kx % 0
con la condición inicial x(0) % 0.1 m y x5 (0) % 0.05 m/seg. (x está medido desde la posición de
equilibrio.) La transformada de Laplace de esta ecuación del sistema produce
Por tanto, el movimiento de la masa se obtiene como la respuesta escalón unitario del sistema
siguiente:
0.1s2 ! 0.35s
G(s) %
s2 ! 3s ! 2
El Programa MATLAB 5-14 proporciona una gráfica del movimiento de la masa. La gráfica
aparece en la Figura 5-31.
Si se remite a la Ecuación (5-52), el estado x(t) se obtiene mediante z5 (t). Por tanto,
x % z5 % Az ! Bu (5-55)
La solución de las Ecuaciones (5-54) y (5-55) proporciona la respuesta a las condiciones ini-
ciales.
Resumiendo, la respuesta de la Ecuación (5-49) para la condición inicial x(0) se obtiene des-
pejando las siguientes ecuaciones en el espacio de estados:
z5 % Az ! Bu
x % Az ! Bu
donde
B % x(0), u % 1(t)
A continuación se presentan los comandos de MATLAB para obtener las curvas de respuesta,
donde no se especifica el vector de tiempo t (esto es, se permite que el vector de tiempo sea
determinado automáticamente por MATLAB).
Si elegimos el vector de tiempo t (por ejemplo, permitiendo que la duración del tiempo de
computación vaya desde t = 0 a t = tp con el incremento Bt) se utilizarán los siguientes coman-
dos de MATLAB:
t % 0; Bt: tp;
% Especificar las matrices A y B
[x,z,t] % step(A,B,A,B,1,t);
x1 % [1 0 0 ... 0]*x';
x2 % [0 1 0 ... 0]*x';
.
.
.
xn % [0 0 0 ... 1]*x';
z5 % Az ! x(0)1(t) % Az ! Bu (5-58)
donde
B % x(0), u % 1(t)
Considerando que x % z5 , la Ecuación (5-57) puede escribirse
y % Cz5 (5-59)
z5 % Az ! Bu
y % CAz ! CBu
donde B % x(0) y u % 1(t), proporciona la respuesta del sistema para condiciones iniciales deter-
minadas. A continuación aparecen los comandos de MATLAB para obtener las curvas de res-
puesta (curvas de salida y1 frente a t, y2 frente a t, ..., ym frente a t) para dos casos:
Caso A. Cuando el vector de tiempo t no se especifica (esto es, el vector de tiempo t se
determina automáticamente con MATLAB):
EJEMPLO 5-9 Obtenga la respuesta del sistema sujeto a las condiciones iniciales dadas.
CD C DC D C CD
x5 1 0 1 x1 x1(0) 2
% , %
x5 2 .10 .5 x2 x2(0) 1
o bien
x5 % Ax, x(0) % x0
Obtener la respuesta del sistema a las condiciones iniciales dadas se convierte en despejar la res-
puesta escalón unitario del sistema siguiente:
z5 % Az ! Bu
x % Az ! Bu
donde
B % x(0), u % 1(t)
Por tanto, el Programa MATLAB 5-15 sirve para obtener la respuesta. Las curvas de respuesta
resultantes se muestran en la Figura 5-32.
t % 0:0.01:3;
A % [0 1;–10 –5];
B % [2;1];
[x,z,t] % step(A,B,A,B,1,t);
x1 % [1 0]*x';
x2 % [0 1]*x';
plot(t,x1,'x',t,x2,'-')
grid
title('Respuesta a condición inicial')
xlabel('t Seg')
ylabel('Variables de estado x1 y x2')
gtext('x1')
gtext('x2')
Capítulo 5. Análisis de la respuesta transitoria y estacionaria 209
initial(A,B,C,D,[initial condition],t)
x5 % Ax ! Bu, x(0) % x0
y % Cx ! Du
donde
C D CD
0 1 0
A% , B% , C % [0 0], D%0
.10 .5 0
CD
2
x0 %
1
t % 0:0.05:3;
A % [0 1;–10 –5];
B % [0;0];
C % [0 0];
D % [0];
[y,x] % initial(A,B,C,D,[2;1],t);
x1 % [1 0]*x';
x2 % [0 1]*x';
plot(t,x1,'o',t,x1,t,x2,'x',t,x2)
grid
title('Respuesta a condición inicial')
xlabel('t Seg')
ylabel('Variables de estado x1 y x2')
gtext('x1')
gtext('x2')
EJEMPLO 5-10 Considere el siguiente sistema que está sujeto a condiciones iniciales. (No hay fuerzas externas
presentes.)
...
y ! 8ÿ ! 17y5 ! 10y % 0
y(0) % 2, y5 (0) % 1, ÿ(0) % 0.5
Obtenga la respuesta y(t) a condiciones iniciales dadas.
Si se definen las variables de estado como
x1 % y
x2 % y5
x3 % ÿ
Capítulo 5. Análisis de la respuesta transitoria y estacionaria 211
CD C DC D C D C D
x5 1 0 1 0 x1 x1(0) 2
5x2 % 0 0 1 x2 , x2(0) % 1
x5 3 .10 .17 .8 x3 x3(0) 0.5
CD
x1
y % [1 0 0] x2
x3
t % 0:0.05:10;
A % [0 1 0;0 0 1;–10 –17 –8];
B % [0;0;0];
C % [1 0 0];
D % [0];
y % initial(A,B,C,D,[2;1;0.5],t);
plot(t,y)
grid
title('Respuesta a condición inicial')
xlabel('t (seg)')
ylabel('Salida y')