Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

impulse

Gráfica de la respuesta al impulso del sistema dinámico; datos de la respuesta al impulso

Sintaxis

impulse(sys)
impulse(sys,Tfinal)
impulse(sys,t)
impulse(sys1,sys2,...,sysN)
impulse(sys1,sys2,...,sysN,Tfinal)
impulse(sys1,sys2,...,sysN,t)
[y,t] = impulse(sys)
[y,t] = impulse(sys,Tfinal)
y = impulse(sys,t)
[y,t,x] = impulse(sys)
[y,t,x,ysd] = impulse(sys)

Descripción

impulse calcula la respuesta al impulso unitaria de un modelo de sistema dinámico. Para los sistemas dinámicos de tiempo continuo, la respuesta al impulso es la respuesta a una entrada de Dirac δ (t). Para los sistemas de tiempo discreto, la respuesta al impulso es la respuesta a un impulso de área unitaria de longitud Ts y altura 1/Ts, donde Ts es el tiempo de muestreo del sistema. (Este impulso se aproxima a δ [t] a medida que Ts se acerca a cero). Para los modelos de espacio de estados, impulse asume que los valores iniciales del estado son cero.

impulse(sys) representa la respuesta al impulso del modelo del sistema dinámico sys. Este modelo puede ser continuo o discreto, así como SISO o MIMO. La respuesta al impulso de los sistemas de entrada múltiple es la recopilación de respuestas al impulso por cada canal de entrada. La duración de la simulación se determina automáticamente para mostrar el comportamiento transitorio de la respuesta.

impulse(sys,Tfinal) simula la respuesta al impulso desde t = 0 hasta el tiempo final t = Tfinal. Exprese Tfinal en las unidades de tiempo del sistema, especificadas en la propiedad TimeUnit de sys. Para sistemas de tiempo discreto con tiempo de muestreo no especificado (Ts = -1), impulse interpreta Tfinal como el número de períodos de muestreo que simular.

impulse(sys,t) usa el vector de tiempo t proporcionado por el usuario para la simulación. Exprese t en las unidades de tiempo del sistema, especificadas en la propiedad TimeUnit de sys. Para modelos de tiempo discreto, t debería presentar el formato Ti:Ts:Tf, donde Ts es el tiempo de muestreo. Para modelos de tiempo continuo, t debería presentar el formato Ti:dt:Tf, donde dt es el tiempo de muestreo de una aproximación discreta al sistema continuo (véase Algoritmos). El comando impulse aplica siempre el impulso en t=0, independientemente de Ti.

Para representar las respuestas al impulso de varios modelos sys1,..., sysN en una única figura, utilice lo siguiente:

impulse(sys1,sys2,...,sysN)

impulse(sys1,sys2,...,sysN,Tfinal)

impulse(sys1,sys2,...,sysN,t)

Al igual que con bode o plot, puede especificar un color, un estilo de línea y/o un marcador concreto para cada sistema, por ejemplo,

impulse(sys1,'y:',sys2,'g--')

Consulte "Representación y comparación de múltiples sistemas" y el apartado bode en esta sección para obtener más información.

Cuando se aplica con argumentos de salida:

[y,t] = impulse(sys)

[y,t] = impulse(sys,Tfinal)

y = impulse(sys,t)

impulse devuelve la respuesta de salida y y el vector temporal t utilizado para la simulación (si no se suministra como argumento a impulso). No aparece ninguna gráfica en la pantalla. Para los sistemas de una entrada, y tiene tantas filas como muestras de tiempo (longitud de t) y tantas columnas como salidas. En el caso de entradas múltiples, las respuestas al impulso de cada canal de entrada se apilan a lo largo de la tercera dimensión de y. Entonces, las dimensiones de y son

Solo para modelos de espacio de estados:

[y,t,x] = impulse(sys)

(longitud de t) × (número de salidas) × (número de entradas)

y y(:,:,j) proporciona la respuesta a una perturbación de impulso que se introduce en el j.º canal de entrada. Del mismo modo, las dimensiones de x son

(longitud de t) × (número de estados) × (número de entradas)

[y,t,x,ysd] = impulse(sys) devuelve la desviación estándar YSD de la respuesta Y de un sistema identificado SYS. YSD está vacío si SYS no contiene información sobre la covarianza de los parámetros.

Ejemplos

Gráfica de respuesta al impulso del modelo de espacio de estados de segundo orden

Represente la respuesta al impulso del modelo de espacio de estados de segundo orden

[x˙1x˙2]=[0.55720.78140.78140][x1x2]+[1102][u1u2]y=[1.96916.4493][x1x2]

a = [-0.5572 -0.7814;0.7814  0];
b = [1 -1;0 2];
c = [1.9691  6.4493];
sys = ss(a,b,c,0);
impulse(sys)

Figure contains 2 axes objects. Axes object 1 with title From: In(1) contains an object of type line. This object represents sys. Axes object 2 with title From: In(2) contains an object of type line. This object represents sys.

La gráfica de la izquierda muestra la respuesta al impulso del primer canal de entrada, y la de la derecha, la del segundo.

Puede almacenar los datos de la respuesta al impulso en arreglos de MATLAB® mediante

[y,t] = impulse(sys);

Dado que este sistema tiene dos entradas, y es un arreglo 3D con dimensiones

size(y)
ans = 1×3

   139     1     2

(la primera dimensión es la longitud de t). A continuación, se accede a la respuesta al impulso del primer canal de entrada mediante

ch1 = y(:,:,1);
size(ch1)
ans = 1×2

   139     1

Datos de impulso del sistema identificado

Obtenga la respuesta al impulso y la correspondiente incertidumbre de 1 std de un sistema lineal identificado.

load(fullfile(matlabroot, 'toolbox', 'ident', 'iddemos', 'data', 'dcmotordata'));
z = iddata(y, u, 0.1, 'Name', 'DC-motor');
set(z, 'InputName', 'Voltage', 'InputUnit', 'V');
set(z, 'OutputName', {'Angular position', 'Angular velocity'});
set(z, 'OutputUnit', {'rad', 'rad/s'});
set(z, 'Tstart', 0, 'TimeUnit', 's');

model = tfest(z,2);
[y,t,~,ysd] = impulse(model,2);

% Plot 3 std uncertainty
subplot(211)
plot(t,y(:,1), t,y(:,1)+3*ysd(:,1),'k:', t,y(:,1)-3*ysd(:,1),'k:')
subplot(212)
plot(t,y(:,2), t,y(:,2)+3*ysd(:,2),'k:', t,y(:,2)-3*ysd(:,2),'k:')

Limitaciones

La respuesta al impulso de un sistema continuo con matriz D no nula es infinita en t = 0. impulse ignora esta discontinuidad y devuelve el valor de continuidad inferior Cb en t = 0.

Sugerencias

Puede cambiar las propiedades de la gráfica, por ejemplo, las unidades. Para información sobre cómo cambiar las propiedades de las gráficas, consulte Formas de personalizar gráficas.

Algoritmos

Los modelos de tiempo continuo se convierten primero en espacio de estados. La respuesta al impulso de un modelo de espacio de estados de una entrada

x˙=Ax+buy=Cx

es equivalente a la siguiente respuesta no forzada con estado inicial b.

x˙=Ax,x(0)=by=Cx

Para simular esta respuesta, el sistema se discretiza utilizando una retención de orden cero en las entradas. El tiempo de muestreo se elige automáticamente en función de la dinámica del sistema, excepto cuando se suministra un vector temporal t = 0:dt:Tf (entonces se utiliza dt como tiempo de muestreo).

Historial de versiones

Introducido antes de R2006a

Consulte también

| | |