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).