Você está na página 1de 6

Respuesta al Escaln en Matlab ( step )

La funcin step es una de las ms usadas del Matlab para diseo en


control. Dado un sistema que puede describirse por ya sea una funcin
de transferencia o un conjunto de ecuaciones de espacio de estado, la
respuesta a un entrada escaln puede graficarse inmediatamente. Una
entrada escaln puede describirse como un cambio en la entrada desde
cero a un valor finito en el tiempo t = 0. Por defecto, el comando step hace
un escaln unitario 1(t) (es decir, la entrada va desde cero a uno en el
tiempo t = 0). El comando bsico para usar la funcin s t e p es uno de
los siguientes (dependiendo si se tiene un conjunto de ecuaciones de
espacio de estado o la forma funcin de transferencia):
step(A,B,C,D)
step(num,den)
Este comando producir una serie de ploteos de la respuesta al escaln ,
todos en la misma figura. Se graficar un ploteo para cada combinacin
entrada - salida. La mayora de los problemas por lo que pasar al
principio sern SISO, Una Entrada, Una Salida (Single-Input, Single-
Output). En este caso habr solamente un ploteo, pero el
comando step maneja estos problemas de la misma manera para un
sistema SIMO o Unica-entrada, Mltiples. Por ejemplo, suponga que
quiere modelar un sistema mecnico de cuerpo rgido, y ya se hizo de las
ecuaciones de estado con las matrices de abajo. Los dos estados son la
posicin y la velocidad. Usted quiere ver cmo es la respuesta del
sistema a una perturbacin escaln unitaria. La perturbacin escaln
unitario ser un cambio de la fuerza actuante de cero Newton a un
Newton en t= 0. Para modelar esto, entre lo siguiente en el Matlab:
A = [0 1
0 -.05];
B= [0
0.001];
C = [1 0
0 1];
D = [0
0];

step(A,B,C,D)
Este conjunto de ecuaciones de estado tiene una entrada (fuerza
actuante en el sistema) y dos salidas diferentes (posicin y velocidad),
as la figura dada por el comando step tendr dos ploteos. Uno para cada
salida. Debera verse la siguiente figura:

Esta figura contiene dos grficos, una para la posicin y otra para la
velocidad. Si hubiera una sola salida (o sea, la matriz C de un slo
rengln), la figura contendra slo un ploteo. El grfico de abajo muestra
respuesta de la velocidad. La velocidad se incrementa exponencialmente
desde cero a una velocidad finita (0.02 m/s). El primer grfico muestra la
respuesta de la posicin. Hasta que se logre una velocidad constante es
parablica, y desde ah, lineal.
Esto fue una introduccin al comando step . Si se interesa, o si necesita
usar el comando step con un formato ms complejo, siga leyendo.
Mltiple entradas
El comando step puede tambin usarse con un sistema con ms de una
entrada como sigue:
step(A,B,C,D,iu)
De esta manera, el comando step crear una figura con todas las salidas
ploteadas con un escaln en la iu -sima entrada. Por ejemplo, en el
archivo-m de arriba, si se especific la (y slo en este caso) entrada
primera, ambas figuras de abajo estarn definidas en el mismo conjunto
de ejes. Es difcil ver por la escala usada, pero si se cambia el
comando step a las siguientes dos lneas:
step(A,B,C,D,1)
axis([0 100 0 0.1])
Obtendr la figura de abajo . La posicin (en azul) y la velocidad (en
verde) estn ambas ploteadas en el mismo eje. El axis fue cambiado de
modo que pueda verse la respuesta de la velocidad versus la posicin.

De nuevo, Si slo una salida se ha especificado en la matriz C, la figura
tendr solo una curva.
Si se tiene la funcin de transferencia del sistema en lugar de las
ecuaciones de espacio de estado, el comando step se usa
como step(num,den). Porque una funcin de transferencia puede tener slo
una entrada, todas salidas (representadas por el nmero de renglones en
el numerador de la funcin de transferencia) se plotearn en un conjunto
de ejes. Si quiere verificarlo , cambie las ecuaciones de arriba de espacio
de estado a funcin de transferencia y entonces plotee la respuesta al
escaln :

[num,den]=ss2tf(A,B,C,D)
step(num,den)
axis([0 100 0 0.1])
Debera obtenerse el mismo dibujo que obtuvo previamente.
Cambio de la magnitud del escaln
Hasta ahora, nos hemos manejado con entradas escaln unitario.
Suponga que la entrada a nuestro sistema no fuera 1 Newton sino 100N.
El comando step puede acomodarlo multiplicando por 100 las matrices de
estado B y D, o multiplicando por 100 el numerador de la funcin de
transferencia. Para el ejemplo de arriba, debera obtenerse la figura
siguiente usando ya sea
step(A,100*B,C,100*D,1) o step(100*num,den)

La figura se ve similar a las dos de arriba excepto que la escala del eje Y
es diferente. La velocidad ahora llega a 2 en lugar de 0.02.
Especificacin de la escala de tiempo
La respuesta al escaln de un conjunto de ecuaciones de espacio de
estado o de una funcin de transferencia pueden graficarse ambas con
un vector tiempo suministrado por el usuario. Este vector especificar el
intervalo sobre el cual ser calculada la respuesta al escaln . Si el
vector est espaciado a intervalos pequeos, la figura se ver ms
suave. Los comandos para usar el vector tiempo son
step(A,B,C,D,iu,t) y step (num,den,t)
para las formas de espacio de estado y funcin de transferencia
respectivamente. En las tres figuras de arriba, se cambiaron los ejes de
modo que se vean solo los primeros 100 segundos de la respuesta.
Suponga que slo son de inters los primeros 80 segundos de la
respuesta. Puede crearse un vector tiempo para calcular la respuesta al
escaln solamente en ese rango. Use el siguiente archivo-m en Matlab:
A = [0 1
0 -.05];
B= [0
0.001];
C = [1 0
0 1];
D = [0
0];

[num,den]=ss2tf(A,B,C,D)

t=0:0.1:80;
step(num,den,t)
axis([0 100 0 0.1])
debera obtenerse la figura siguiente:

Como puede ver, la figura se corta en 80 segundos. El comando axis fue
diseado para extender la figura pasado el corte, de modo que ste sea
visible. Note que esto no se hace normalmente en ploteos, ya que
aparenta que la respuesta termina en los 80 segundos.
Guardado de la respuesta
la nota final acerca del comando step es que todas las variaciones de
arriba pueden usarse con argumentos a izquierda. Existen dos maneras
de invocarlos, dependiendo si se us o no el vector tiempo en el
comando step . Si se us el vector tiempo, el comando es:
[y,x] = step(A,B,C,D,iu,t); o
[y,x] = step(num,den,t);
Si el vector tiempo no se usa, el comando es:
[y,x,t] = step(A,B,C,D,iu); o
[y,x,t] = step(num,den);
El vector y contiene la salida. Tiene tantas columnas como salidas y
tantos renglones como elementos en el vector tiempo, t. El
vector x contiene el estado. Tiene tantas columnas como estados y
tantos renglones como elementos en el vector tiempo, t. Cuando se usa
con argumentos a izquierda, el comando step no crea ningn grfico.
Normalmente querr poner un punto_y_coma despus del comando s t e
p cuando lo invoque con argumentos a izquierda; de otro modo, Matlab
imprimir toda la salida, estados, y vectores tiempo en la ventana de
comandos. Puede plotear la respuesta del estado usando plot(t,x).

Você também pode gostar