Site hosted by Angelfire.com: Build your free website today!
Tutorial de
MatLab
Por Hender Molina - Lisbeth Román

Respuesta en el dominio del tiempo
Para obtener la respuesta de un sistema en el tiempo ante una entrada estándar, debe primero definirse el sistema. Para ello puede definirse en MatLab la función de transferencia propia del sistema o las ecuaciones de estado.
La función de transferencia de un sistema es una relación formada por un numerador y un denominador:


En MatLab debe definirse el numerador Y(s) y el denominador U(s) como vectores, cuyos elementos son los coeficientes de los polinomios del numerador y del denominador en potencias decrecientes de S. Por ejemplo, para definir la función de transferencia:

>>y=[1];
>>u=[1 0.25 1];

Para determinar la respuesta en el tiempo para una entrada escalón unitario de este sistema se usa el comandos step indicando el vector del numerador y del denominador entre paréntesis. step(num,den)
>>step(y,u)

MatLab despliega la respuesta en el tiempo en la ventana de figuras:

Puede definirse el tiempo en el cual se desea la respuesta al escalón, mediante un vector de tiempo T, step(num,den,T)
>>t=0:0.1:20;
>>step(y,u,t)

Se define t como un vector cuyo elemento inicial es 0, su elemento final es 20 y existen elementos que son el incremento desde 0 hasta 20 de 0.1 en 0.1. Al ejecutar el comando step para y y u se obtiene en la ventana de figuras la respuesta escalón para los primeros 20 segundos.
Otra forma de definir el sistema en MatLab es usando las ecuaciones de estado de la forma:
.
x = Ax + Bu
y = Cx + Du

MatLab permite hacer la conversión de una función de transferencia a su equivalente en ecuaciones de estado, mediante el comando tf2ss. Se deben especificar las cuatro matrices de estado de la forma: [A,B,C,D]=tf2ss(num,den)
Para el ejemplo anterior tenemos:
>>[a,b,c,d]=tf2ss(y,u)
a =
-0.2500 -1.0000
1.0000 0
b =
1
0
c =
0 1
d =
0

Se puede hacer la conversión de una ecuación de estado a su equivalente función de transferencia, mediante el comando ss2tf. Se deben especificar los vectores para almacenar los coeficientes del polinomio numerador y del denominador. Su sintaxis es: [num,den]=ss2tf(a,b,c,d)
>>[num,den]=ss2tf(a,b,c,d)
num =
0 0 1.0000
den =
1.0000 0.2500 1.0000

Para obtener la respuesta escalón de un sistema a partir de las ecuaciones de estado se usa el comando step con la sintaxis: step(A,B,C,D)
>>step(a,b,c,d)

Para obtener la respuesta en el tiempo para una entrada impulso unitario se usa el comando impulse, con sintaxis idéntica a la utilizada con el comando step:
Si se define el sistema en MatLab por los polinomios del numerador y denominador de la función de transferencia tenemos:
» y=[1 5 4];
» u=[1 6 11 6];
» impulse(y,u)

Si por el contrario el sistema se define en MatLab por las ecuaciones de estado:
» [A,B,C,D]=tf2ss(y,u)
A =
-6 -11 -6
1 0 0
0 1 0
B =
1
0
0
C =
1 5 4
D =
0
» impulse(A,B,C,D)

En ambos casos, MatLab despliega la respuesta en el tiempo en la ventana de figuras:

MatLab permite, además de obtener la respuesta en el tiempo para una entrada escalón o impulso, también obtener respuesta para otras entradas tal como rampas o sinusoides. El comando lsim permite obtener la respuesta en el tiempo para un sistema con una entrada u, donde u se define como una función del tiempo. La sintaxis de este comando es: lsim(A,B,C,D,U,T) usando las matrices de estado o lsim(NUM,DEN,U,T) usando la función de transferencia.
Para obtener la respuesta en el tiempo para una función rampa, se define U de la siguiente forma:
>>T=0:0.1:10
>>U=T;
>>NUM=[1];
>>DEN=[1 0.25 1];
>>[Y,X]=lsim(NUM,DEN,U,T);
>>PLOT(T,Y,T,U)

Al hacer U=T se está definiendo la función rampa. T es el vector de tiempo variando desde 0 hasta 10 seg. NUM y DEN son los vectores de los coeficientes decrecientes en potencia de S de los polinomios del numerador y del denominador respectivamente. En la variable Y se almacena la salida del sistema en función del tiempo T. El comando plot permite desplegar en la ventana de figuras la variable Y (salida) y la entrada U (rampa) en función del tiempo, obteniéndose:

Otros comandos de MatLab relacionados con la respuesta en el tiempo para sistemas.

Ir a la página principal del tutorial de MatLab