impulse
R2026bGráfica de respuesta al impulso del sistema dinámico; datos de la respuesta al impulso
Sintaxis
Descripción
[ simula la respuesta para los pasos de tiempo especificados por y,tOut] = impulse(sys,t)t. Para definir los pasos de tiempo, puede especificar:
El instante final de la simulación usando un valor escalar.
El instante inicial y final de la simulación usando un vector de dos elementos. (desde R2023b)
Todos los pasos de tiempo usando un vector.
[___] = impulse(___, especifica las propiedades de respuesta usando uno o varios argumentos nombre-valor. Por ejemplo, Name=Value)impulse(sys,Bias=2) establece el sesgo de entrada en 2. (desde R2026b)
Los siguientes argumentos nombre-valor sustituyen los valores especificados en otros argumentos de entrada.
impulse(___) representa la respuesta al impulso de sys con opciones de representación predeterminadas para todas las combinaciones de argumentos de entrada anteriores. Para ver más opciones de personalización de gráficas, utilice impulseplot.
Para representar respuestas para múltiples sistemas dinámicos en la misma gráfica, puede especificar
syscomo lista de modelos separada por comas. Por ejemplo,impulse(sys1,sys2,sys3)representa las respuestas para tres modelos en la misma gráfica.Para especificar un color, un estilo de línea y un marcador para cada sistema de la gráfica, especifique un valor
LineSpecpara cada sistema. Por ejemplo,impulse(sys1,LineSpec1,sys2,LineSpec2)representa dos modelos y especifica su estilo de gráfica. Para obtener más información sobre cómo especificar un valorLineSpec, consulteimpulseplot.
Ejemplos
Represente la respuesta al impulso de un sistema en tiempo continuo representado por la siguiente función de transferencia.
Para este ejemplo, cree un modelo tf que represente la función de transferencia. De forma similar, puede representar la respuesta al impulso de otros tipos de modelos de sistema dinámico, como modelos de cero-polo-ganancia (zpk) o en espacio de estados (ss).
sys = tf(4,[1 2 10]);
Represente la respuesta al impulso.
impulse(sys)

La gráfica impulse incluye automáticamente una línea de puntos horizontal que indica la respuesta de estado estacionario. En una ventana de figuras de MATLAB®, puede hacer clic con el botón secundario en la gráfica para ver otras características de respuesta al impulso, como respuesta pico y tiempo transitorio.
Represente la respuesta al impulso de un sistema en tiempo discreto. El sistema cuenta con un tiempo de muestreo de 0,2 s y está representado por las siguientes matrices de espacio de estados.
A = [1.6 -0.7;
1 0];
B = [0.5; 0];
C = [0.1 0.1];
D = 0;Cree el modelo en espacio de estados y represente su respuesta al impulso.
sys = ss(A,B,C,D,0.2); impulse(sys)

La respuesta al impulso refleja la discretización del modelo, ya que ilustra la respuesta calculada cada 0,2 segundos.
Examine la respuesta al impulso del siguiente modelo cero-polo-ganancia.
sys = zpk(-1,[-0.2+3j,-0.2-3j],1) * tf([1 1],[1 0.05])
sys =
(s+1)^2
----------------------------
(s+0.05) (s^2 + 0.4s + 9.04)
Continuous-time zero/pole/gain model.
Model Properties
impulse(sys)

De forma predeterminada, impulse elige un tiempo final que ilustra el estado estacionario al que tiende la respuesta. Para examinar la respuesta transitoria más detalladamente, limite la gráfica de impulso a t = 20 s.
impulse(sys,20)

Como alternativa, puede especificar los tiempos exactos en los que desea examinar la respuesta al impulso, siempre y cuando estén separados por un intervalo constante. Por ejemplo, examine la respuesta desde el final del transitorio hasta que el sistema alcance el estado estacionario.
t = 20:0.2:120; impulse(sys,t)

Aunque esta gráfica comienza en t = 20, impulse siempre aplica la entrada de impulso en t = 0.
Considere el siguiente modelo en espacio de estados de segundo orden:
A = [-0.5572,-0.7814;0.7814,0]; B = [1,-1;0,2]; C = [1.9691,6.4493]; sys = ss(A,B,C,0);
Este modelo tiene dos entradas y una salida, de modo que cuenta con dos canales: desde la primera entrada hasta la salida y desde la segunda entrada hasta la salida. Cada canal cuenta con su propia respuesta al impulso.
Cuando utiliza impulse, esta función calcula las respuestas de todos los canales.
impulse(sys)
La gráfica de la izquierda muestra la respuesta al impulso del primer canal de entrada, y la de la derecha, la respuesta al impulso del segundo canal. Cuando utiliza impulse para representar las respuestas de un modelo MIMO, esta función genera un arreglo de gráficas que representa todos los canales de E/S del modelo. Por ejemplo, cree un modelo en espacio de estados aleatorio con cinco estados, tres entradas y dos salidas, y represente su respuesta al impulso.
sys = rss(5,2,3); impulse(sys)


En una ventana de figuras de MATLAB, puede restringir la gráfica a un subconjunto de canales haciendo clic con el botón secundario en la gráfica y seleccionando I/O Selector.
impulse permite representar las respuestas de múltiples sistemas dinámicos en el mismo eje. Por ejemplo, compare la respuesta en lazo cerrado de un sistema con un controlador PI y un controlador PID. Cree una función de transferencia del sistema y ajuste los controladores.
H = tf(4,[1 2 10]); C1 = pidtune(H,'PI'); C2 = pidtune(H,'PID');
Forme los sistemas de lazo cerrado y represente sus respuestas al impulso.
sys1 = feedback(H*C1,1); sys2 = feedback(H*C2,1); impulse(sys1,sys2) legend('PI','PID','Location','SouthEast')

De forma predeterminada, impulse elige colores diferentes para cada sistema que se representa. Puede especificar los colores y los estilos de línea utilizando el argumento de entrada LineSpec.
impulse(sys1,'r--',sys2,'b') legend('PI','PID','Location','SouthEast')

La primera instancia de LineSpec 'r--' especifica una línea discontinua roja para la respuesta con el controlador PI. La segunda LineSpec 'b' especifica una línea continua azul para la respuesta con el controlador PID. La leyenda muestra los colores y los estilos de línea especificados. Para ver más opciones de personalización de gráficas, utilice impulseplot.
El ejemplo Comparar respuestas al impulso de múltiples sistemas muestra cómo representar respuestas de múltiples sistemas individuales en un único eje. Cuando tiene múltiples sistemas dinámicos en un arreglo de modelos, impulse representa todas sus respuestas a la vez.
Cree un arreglo de modelos. Para este ejemplo, utilice un arreglo unidimensional de funciones de transferencia de segundo orden con diferentes frecuencias naturales. Primero, asigne previamente memoria para el arreglo de modelos. El siguiente comando crea una fila de 1 por 5 de funciones de transferencia SISO de ganancia cero. Las primeras dos dimensiones representan las salidas y entradas del modelo. Las dimensiones restantes son las dimensiones del arreglo.
sys = tf(zeros(1,1,1,5));
Rellene el arreglo.
w0 = 1.5:1:5.5; % natural frequencies zeta = 0.5; % damping constant for i = 1:length(w0) sys(:,:,1,i) = tf(w0(i)^2,[1 2*zeta*w0(i) w0(i)^2]); end
(Para más información sobre los arreglos de modelos y cómo crearlos, consulte Model Arrays). Represente las respuestas al impulso de todos los modelos del arreglo.
impulse(sys)

impulse utiliza el mismo estilo de línea para las respuestas de todas las entradas del arreglo. Una manera de distinguir entre las entradas es utilizar la propiedad SamplingGrid de los modelos de sistemas dinámicos para asociar cada entrada del arreglo con el valor w0 correspondiente.
sys.SamplingGrid = struct('frequency',w0);Cuando represente las respuestas en una ventana de figuras de MATLAB, puede hacer clic en una traza para ver a qué valor de frecuencia corresponde.
Cuando indica un argumento de salida, impulse devuelve un arreglo de datos de respuesta. En un sistema SISO, los datos de respuesta se devuelven como un vector columna de longitud igual al número de puntos de tiempo en los que se muestrea la respuesta. Puede proporcionar el vector t de puntos de tiempo o permitir que impulse seleccione los puntos de tiempo en función de la dinámica del sistema. Por ejemplo, extraiga la respuesta al impulso de un sistema SISO en 101 puntos de tiempo entre t = 0 y t = 5 s.
sys = tf(4,[1 2 10]); t = 0:0.05:5; y = impulse(sys,t); size(y)
ans = 1×2
101 1
En un sistema MIMO, los datos de respuesta se devuelven en un arreglo de dimensiones N por Ny por Nu, donde Ny y Nu son el número de salidas y entradas del sistema dinámico. Por ejemplo, considere el siguiente modelo en espacio de estados, que representa un sistema de dos entradas y una salida.
A = [-0.5572,-0.7814;0.7814,0]; B = [1,-1;0,2]; C = [1.9691,6.4493]; sys = ss(A,B,C,0);
Extraiga la respuesta al impulso de este sistema en 200 puntos de tiempo entre t = 0 y t = 20 s.
t = linspace(0,20,200); y = impulse(sys,t); size(y)
ans = 1×3
200 1 2
y(:,i,j) es un vector columna que contiene la respuesta al impulso desde la j-ésima entrada hasta la i-ésima salida en los tiempos t. Por ejemplo, extraiga la respuesta al impulso desde la segunda entrada hasta la salida.
y12 = y(:,1,2); plot(t,y12)

Compare la respuesta al impulso de un modelo paramétrico identificado con la de un modelo (empírico) no paramétrico. Vea también sus 3 regiones de confianza .
Cargue los datos.
load iddata1 z1
Realice la estimación de un modelo paramétrico.
sys1 = ssest(z1,4);
Realice la estimación de un modelo no paramétrico.
sys2 = impulseest(z1);
Represente las respuestas al impulso para compararlas.
t = (0:0.1:10)'; [y1, ~, ~, ysd1] = impulse(sys1,t); [y2, ~, ~, ysd2] = impulse(sys2,t); plot(t, y1, 'b', t, y1+3*ysd1, 'b:', t, y1-3*ysd1, 'b:') hold on plot(t, y2, 'g', t, y2+3*ysd2, 'g:', t, y2-3*ysd2, 'g:')

Calcule la respuesta al impulso de un modelo de series temporales identificado.
Un modelo de series temporales, también denominado modelo de señales, es un modelo sin señales de entrada medidas. La gráfica de impulso de este modelo utiliza su canal de ruido (no medido) como canal de entrada al que se aplica la señal de impulso.
Cargue los datos.
load iddata9;Realice la estimación de un modelo de series temporales.
sys = ar(z9, 4);
sys es un modelo con el formato A y(t) = e(t), donde e(t) representa el canal de ruido. Para calcular la respuesta al impulso, e(t) se trata como un canal de entrada y se denomina e@y1.
Represente la respuesta al impulso.
impulse(sys)

Cree un modelo en espacio de estados.
A = [-0.8429,-0.2134;-0.5162,-1.2139]; B = [0.7254,0.7147;0,-0.2050]; C = [-0.1241,1.4090;1.4897,1.4172]; D = [0.6715,0.7172;-1.2075,0]; sys = ss(A,B,C,D);
Calcule la respuesta al impulso y especifique las opciones de respuesta con argumentos nombre-valor.
t = 0:0.1:20; impulse(sys,t, ... Bias=[-2,3], ... Amplitude=[2,-0.5], ... InitialCondition=[0.1,-0.1], ... Delay=5)

Este ejemplo muestra cómo simular la respuesta al impulso de un modelo LPV. Este ejemplo simula la respuesta en lazo cerrado de un modelo de bola levitante definido en fcnMaglev.m a una perturbación .

Debe establecer la referencia en para inicializar correctamente el sistema y mantenerlo alrededor de = .
Cree y discretice el modelo.
hmin = 0.05; hmax = 0.25; h0 = (hmin+hmax)/2; Ts = 0.01; Glpv = lpvss("h",@fcnMaglev,0,0,h0); Glpvd = c2d(Glpv,Ts,"tustin");
Realice muestreo del modelo LPV para tres valores de altura y ajuste un controlador PID.
hpid = linspace(hmin,hmax,3);
[Ga,Goffset] = sample(Glpvd,[],hpid);
wc = 50;
Ka = pidtune(Ga,"pidf",wc);
Ka.Tf = 0.01;Cree el controlador PID con planificación de ganancia.
Ka.SamplingGrid = struct("h",hpid); Koffset = struct("y",{Goffset.u}); Clpv = ssInterpolant(ss(Ka),Koffset);
Cree el modelo de lazo cerrado.
CL = feedback(Glpvd*[1,Clpv],1,2,1);
CL.InputName = {'du';'href'};
CL.OutputName = "h";Obtenga la corriente de estado estacionario para = para dimensionar la perturbación.
[~,~,~,~,~,~,~,u0] = Glpv.DataFunction(0,h0);
Respuesta al cambio de impulso en y .
t = 0:Ts:2; pFcn = @(k,x,u) x(1); IC = findop(CL,t(1),h0,u=[u0;h0]); impulseplot(CL,t,pFcn, ... Amplitude=0.2*[u0;h0]*Ts, ... Delay=0.5, ... InitialCondition=IC) title("Current Impulse Disturbance and Height Impulse Change")

Cree un modelo en espacio de estados con coeficientes complejos.
A = [-2-2i -2;1 0]; B = [2;0]; C = [0 0.5+2.5i]; D = 0; sys = ss(A,B,C,D);
Calcule la respuesta al impulso del sistema.
[y,t] = impulse(sys);
Los datos de respuesta resultantes contienen valores de salida complejos.
y
Argumentos de entrada
Sistema dinámico, especificado como un modelo de sistema dinámico SISO o MIMO, o bien un arreglo de modelos de sistemas dinámicos. Puede utilizar los siguientes tipos de sistemas dinámicos:
Modelos LTI numéricos en tiempo continuo o en tiempo discreto, como modelos
tf,zpkoss.Modelos LTI generalizados o con incertidumbre, como modelos
genssouss. El uso de modelos con incertidumbre requiere Robust Control Toolbox™.En el caso de los bloques de diseño de control ajustables, la función evalúa el modelo con su valor actual tanto para representar como para devolver los datos de respuesta.
En el caso de los bloques de diseño de control con incertidumbre, la función representa el valor nominal y muestras aleatorias del modelo. Cuando utiliza argumentos de salida, la función devuelve únicamente datos de respuesta para el modelo nominal.
Modelos dispersos en espacio de estados, como modelos
sparssymechss.Modelos LTI identificados, como modelos
idtf,idssoidproc. En el caso de estos modelos, la función también puede representar intervalos de confianza y devolver desviaciones estándar de la respuesta en frecuencia. Consulte Respuestas al escalón de modelos identificados con regiones de confianza. El uso de modelos identificados requiere System Identification Toolbox.Modelos lineales variantes en el tiempo (
ltvss) y modelos lineales de parámetros variantes (lpvss).
Esta función no admite modelos de datos de respuesta en frecuencia, como modelos frd, genfrd o idfrd.
Si sys es un arreglo de modelos, la función representa las respuestas de todos los modelos del arreglo en los mismos ejes. Consulte Respuesta al escalón de sistemas en un arreglo de modelos.
Pasos de tiempo en los que se calcula la respuesta, especificados como uno de los siguientes valores:
Escalar positivo
tFinal: calcula la respuesta desdet = 0hastat = tFinal.Vector de dos elementos
[t0 tFinal]: calcula la respuesta desdet = t0hastat = tFinal. (desde R2023b)Vector
Ti:dt:Tf: calcula la respuesta para los puntos de tiempo especificados ent.Para sistemas en tiempo continuo,
dtes el tiempo de muestreo de una aproximación discreta al sistema continuo.Para sistemas en tiempo discreto con un tiempo de muestreo especificado,
dtdebe coincidir con la propiedad de tiempo de muestreoTsdesys.Para sistemas en tiempo discreto con un tiempo de muestreo indefinido (
Ts = -1),dtdebe ser1.
[]: selecciona automáticamente los valores de tiempo en función de la dinámica del sistema.
Cuando especifica un intervalo de tiempo con tFinal o [t0 tFinal]:
Para sistemas en tiempo continuo, la función determina automáticamente el tamaño del paso de tiempo y el número de puntos en función de la dinámica del sistema.
Para sistemas en tiempo discreto con un tiempo de muestreo especificado, la función usa el tiempo de muestreo de
syscomo tamaño de paso.Para sistemas en tiempo discreto con tiempo de muestreo indefinido (
Ts = -1), la función interpretatFinalcomo el número de periodos de muestreo que se va a simular con un tiempo de muestreo de 1 segundo.
Exprese t con las unidades de tiempo especificadas en la propiedad TimeUnit de sys.
Antes de R2026a: Especifique valores de tiempo usando la propiedad Responses.SourceData.TimeSpec.
Antes de R2026b: Esta propiedad se denomina TimeSpec.
Trayectoria de parámetros del modelo LPV, especificada como una matriz o un identificador de función.
Para trayectorias exógenas o explícitas, especifique
pcomo una matriz con dimensiones N por Np, donde N es el número de muestras de tiempo y Np es el número de parámetros.Así, el vector fila
p(i,:)contiene los valores de parámetros en el i-ésimo paso de tiempo.Para trayectorias endógenas o implícitas, especifique
pcomo un identificador de función con el formato p = F(k,x,u), que genera parámetros como una función de muestra de tiempo k, estado x y entrada u.impulsesolo admite esta opción para modelos LPV en tiempo discreto.Esta opción resulta útil cuando se desea simular modelos cuasi-LPV.
Argumentos de par nombre-valor
Especifique pares de argumentos opcionales como Name1=Value1,...,NameN=ValueN, donde Name es el nombre del argumento y Value es el valor correspondiente. Los argumentos nombre-valor deben aparecer después de los otros argumentos, aunque el orden de los pares no es importante.
Ejemplo: impulse(sys,Bias=2) establece el sesgo de entrada en 2.
Desde R2026b
Pasos de tiempo en los que se calcula la respuesta, especificadas como uno de los siguientes valores. Si se especifican valores de tiempo usando un argumento nombre-valor, se anulan los valores de tiempo especificados usando t.
Escalar positivo
tFinal: calcula la respuesta desdet = 0hastat = tFinal.Vector de dos elementos
[t0 tFinal]: calcula la respuesta desdet = t0hastat = tFinal.Vector
Ti:dt:Tf: calcula la respuesta para los puntos de tiempo especificados ent.Para sistemas en tiempo continuo,
dtes el tiempo de muestreo de una aproximación discreta al sistema continuo.Para sistemas en tiempo discreto con un tiempo de muestreo especificado,
dtdebe coincidir con la propiedad de tiempo de muestreoTsdesys.Para sistemas en tiempo discreto con un tiempo de muestreo indefinido (
Ts = -1),dtdebe ser1.
[]: selecciona automáticamente los valores de tiempo en función de la dinámica del sistema.
Cuando especifica un intervalo de tiempo con tFinal o [t0 tFinal]:
Para sistemas en tiempo continuo, la función determina automáticamente el tamaño del paso de tiempo y el número de puntos en función de la dinámica del sistema.
Para sistemas en tiempo discreto con un tiempo de muestreo especificado, la función usa el tiempo de muestreo de
syscomo tamaño de paso.Para sistemas en tiempo discreto con tiempo de muestreo indefinido (
Ts = -1), la función interpretatFinalcomo el número de periodos de muestreo que se va a simular con un tiempo de muestreo de 1 segundo.
Exprese Time con las unidades de tiempo especificadas en la propiedad TimeUnit de sys.
Desde R2026b
Trayectoria de parámetros del modelo LPV, especificada como una matriz o un identificador de función. Si se especifican valores de parámetros usando un argumento nombre-valor, se anulan los valores de parámetros especificados usando p.
Para trayectorias exógenas o explícitas, especifique
Parametercomo una matriz con dimensiones N por Np, donde N es el número de muestras de tiempo y Np es el número de parámetros.Así, el vector fila
p(i,:)contiene los valores de parámetros en el i-ésimo paso de tiempo.Para trayectorias endógenas o implícitas, especifique
Parametercomo un identificador de función con el formato p = F(t,x,u) en tiempo continuo y p = F(k,x,u) en tiempo discreto, que genera parámetros como una función de tiempo t o muestra de tiempo k, estado x y entrada u. Para trayectorias implícitas, debe especificar una condición inicial para la simulación.Esta opción resulta útil cuando se desea simular modelos cuasi-LPV.
Desde R2026b
Cambio de nivel de entrada en relación con el sesgo de la señal de entrada, especificado como escalar o vector.
En sistemas de una entrada,
Amplitudees un valor escalar.En sistemas multientrada,
Amplitudees un vector de longitud Nu, donde Nu es el número de canales de entrada. Cada valor de vector se corresponde con la amplitud del cambio de nivel de ese canal de entrada. Las funciones calculan las respuestas de una en una para cada canal de entrada.
Soporte de números complejos: Sí
Desde R2026b
Valor base de señal de entrada, especificado como escalar o vector.
En sistemas de una entrada,
Biases un valor escalar.En sistemas multientrada,
Biases un vector de longitud Nu, donde Nu es el número de canales de entrada. Cada valor de vector se corresponde con el valor de señal de ese canal de entrada. Las funciones calculan las respuestas de una en una para cada canal de entrada.En modelos en espacio de estados con desplazamiento, establezca
Bias="u0"para aplicar el cambio en escalón o de impulso en relación con los desplazamientos de modelo u0, u0(t) del modelo LTV o u0(t,p) del modelo LPV. Para modelos LTV y LPV, esta es la salidau0de la función de datos. La señal de entrada total es u0 + u(t).
Desde R2026b
Retardo de señal de entrada, especificado como valor escalar no negativo. Este valor especifica cuándo ocurre el cambio en relación con el tiempo de inicio T0 de la simulación.
Desde R2026b
Condición inicial, especificada como uno de los siguientes valores:
[]: iniciar la simulación desde la condición de estado estacionario para el valor de entrada especificado enBias. En modelos en espacio de estados sin retardos internos, el estado inicial xinit es la solución de las siguientes ecuaciones, donde U es el valorBias:Tiempo continuo: 0 = A xinit + B U
Tiempo discreto: xinit = A xinit + B U
Vector de valores del estado inicial con longitud igual al número de estados del modelo: iniciar la simulación desde el estado inicial especificado y utilizar
Biascomo valor de entrada inicial."x0": utilizarBiascomo valor de entrada inicial y evaluar el valor de desplazamiento de estado x0 para modelos en espacio de estados, x0(T0) para modelos LTV o x0(T0,p(T0)) para modelos LPV. En modelos LTV y LPV, el valor de desplazamiento de estado es la salidax0de la función de datos evaluada en t = T0.Objeto
initialCondition(System Identification Toolbox) para modelos identificados (requiere el software System Identification Toolbox): iniciar la simulación desde el estado inicial especificado y utilizarBiascomo valor de entrada inicial.Condición de operación creada con
findop: un objeto de punto de operación permite iniciar la simulación desde una condición de operación de estado estacionario con valores u, w e y pasados distintos de cero. Cuando especifica un objeto de punto de operación, el valor deBiasse ignora.
Argumentos de salida
Datos de respuesta al impulso, devueltos como un arreglo.
En los sistemas SISO,
yes un vector columna de la misma longitud quet(si se indica) otOut(si no se indicat).En sistemas con única entrada y múltiples salidas,
yes una matriz con tantas filas como muestras de tiempo y tantas columnas como salidas. Así, la j-ésima columna dey, oy(:,j), contiene la respuesta al impulso desde la entrada hasta la j-ésima salida.En los sistemas MIMO, las respuestas al impulso de cada canal de entrada se apilan a lo largo de la tercera dimensión de
y. Entonces, las dimensiones deyson N por Ny por Nu, donde:N es el número de muestras de tiempo.
Ny es el número de salidas del sistema.
Nu es el número de entradas del sistema.
Así,
y(:,i,j)es un vector columna que contiene la respuesta al impulso desde la j-ésima entrada hasta la i-ésima salida en los tiempos especificados entotOut.Para sistemas con coeficientes complejos,
yes un arreglo de valores complejos. (desde R2025a)
Trayectorias de estado, devueltas como un arreglo. Cuando sys es un modelo en espacio de estados, x contiene la evolución de los estados de sys en cada tiempo de t o tOut. Las dimensiones de x son N por Nx por Nu, donde:
N es el número de muestras de tiempo.
Nx es el número de estados.
Nu es el número de entradas del sistema.
Así, la evolución de los estados en respuesta a un impulso inyectado en la k-ésima entrada está dada por medio del arreglo x(:,:,k). El vector fila x(i,:,k) contiene los valores de estado en el i-ésimo paso de tiempo.
Para sistemas con coeficientes complejos, x es un arreglo de valores complejos. (desde R2025a)
Trayectorias de parámetros, devueltas como un arreglo. Cuando sys es un modelo lineal de parámetros variantes, pOut contiene la evolución de los parámetros de sys en cada tiempo de t o tOut. Las dimensiones de pOut son N por Np por Nu, donde:
N es el número de muestras de tiempo.
Np es el número de parámetros.
Nu es el número de entradas del sistema.
Así, la evolución de los parámetros en respuesta a una señal inyectada en la k-ésima entrada está dada por el arreglo pOut(:,:,k). El vector fila pOut(i,:,k) contiene los valores de parámetros en el i-ésimo paso de tiempo.
Limitaciones
La respuesta al impulso de un sistema continuo con matriz D distinta de cero es infinita en t = 0.
impulseignora esta discontinuidad y devuelve el valor de continuidad inferior Cb en t = 0.El comando
impulseno funciona con modelos en tiempo continuo con retardos internos. Para esos modelos, utilicepadepara aproximar el retardo de tiempo antes de calcular la respuesta al impulso.El comando
impulseno admite la simulación a lo largo de una trayectoria de parámetros implícita para modelos LPV en tiempo continuo.
Sugerencias
Para simular respuestas del sistema a señales de entrada arbitrarias, utilice
lsim.Cuando necesite opciones de personalización de gráficas adicionales, utilice en su lugar
impulseplot.Las gráficas creadas con
impulseno admiten títulos ni etiquetas multilínea especificados como arreglos de cadenas o arreglos de celdas de vectores de caracteres. Para especificar títulos y etiquetas multilínea, utilice una cadena única con un carácternewline.impulse(sys) title("first line" + newline + "second line");
Algoritmos
Los modelos LTI en tiempo continuo se convierten primero a la forma de espacio de estados. La respuesta al impulso de un modelo en espacio de estados de una entrada
es equivalente a la siguiente respuesta no forzada con estado inicial b.
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 proporciona un vector temporal t = T0:dt:Tf. Por tanto, dt se utiliza como tiempo de muestreo.
Historial de versiones
Introducido antes de R2006aAhora puede especificar opciones de respuesta con estos argumentos nombre-valor:
Time: valores de tiempoBias: valor base de señal de entradaAmplitude: cambio de nivel de entradaDelay: retardo de señal de entradaInitialCondition: condición inicial del sistemaParameter: trayectoria de parámetros del modelo LPV
Estas opciones sustituyen a la configuración de respuesta usando un objeto RespConfig. Para obtener más información, consulte No se recomienda establecer opciones de respuesta con el objeto RespConfig.
No se recomienda establecer opciones de respuesta con el objeto RespConfig. Utilice en su lugar los argumentos nombre-valor Bias, Amplitude, Delay e InitialCondition.
Esta tabla muestra algunos usos de RespConfig y cómo actualizar el código para utilizar los nuevos argumentos nombre-valor. En este caso, sysLPV es un modelo lineal de parámetros variantes.
| No recomendado | Recomendado |
|---|---|
config = RespConfig( ... Amplitude=0.5, ... Bias=1, ... Delay=2, ... InitialState=[1 2 3]); [y,t] = impulse(sys,config) | [y,t] = impulse(sys, ... Amplitude=0.5, ... Bias=1, ... Delay=2, ... InitialCondition=[1 2 3]) |
config = RespConfig( ... Bias=-1, ... InitialParameter=pinit); [y,t] = impulse(sysLPV,t,pFcn,config) | IC = findop(sysLPV,t(1),pinit,u=-1); [y,t] = impulse(sysLPV,t,pFcn,InitialCondition=IC) |
Para sistemas LPV con desplazamientos de estados: config = RespConfig( ... InitialState="x0", ... InitialParameter=pinit) [y,t] = impulse(sysLPV,t,pFcn,config) | [~,~,~,~,~,~,x0] = sysLPV.DataFunction(t(1),pinit); [y,t] = impulse(sysLPV,t,pFcn,InitialCondition=x0) |
Para sistemas LPV con desplazamientos de entrada: config = RespConfig( ... Bias="u0", ... InitialParameter=pinit) [y,t] = impulse(sysLPV,t,pFcn,config) | [~,~,~,~,~,~,~,u0] = sysLPV.DataFunction(t(1),pinit); IC = findop(sysLPV,tinit,pinit,u=u0); [y,t] = impulse(sysLPV,t,pFcn,InitialCondition=IC) |
A partir de la versión R2026a, la función impulse admite DAE de índice 2.
A partir de la versión R2025a, la función impulse admite sistemas dinámicos con coeficientes complejos.
En el caso de gráficas creadas con impulse, la función gca ahora devuelve un objeto de gráfico impulseplot en lugar de un eje dentro de la gráfica.
El cálculo de algunas características de respuesta ha cambiado cuando se utiliza una configuración no predeterminada creada con RespConfig.
La característica Peak Response muestra ahora la desviación máxima respecto al valor de salida inicial. Es decir, el valor pico de |y(t) – yinit| cuando t ≥ t0 + td, donde yinit es el valor de salida justo antes del impulso.
En consecuencia, en la sugerencia sobre datos Peak Response, Peak amplitude ahora se denomina Peak deviation.
El tiempo de establecimiento y el tiempo transitorio se calculan ahora en relación con la unidad de tiempo en que se produce el impulso (t = t0 + td). Esto garantiza que estas características no se vean afectadas por el retardo.
En general, el software calcula las características de respuesta a partir de la unidad de tiempo del impulso, con el valor de salida inicial yinit como valor justo antes del impulso.
Utilice la nueva sintaxis [y,tOut] = impulse(sys,[t0,tFinal]) para calcular la respuesta al impulso desde la unidad de tiempo t0 hasta tFinal. Para configuraciones con un retardo td, la función aplica el impulso en el instante t = t0 + td.
Ahora, puede especificar un tiempo de inicio distinto de cero para el comando impulse con una entrada de vector de tiempo con el formato Ti:dt:Tf. Anteriormente, el comando siempre aplicaba la entrada en el instante t = 0, independientemente de Ti.
Consulte también
Linear System Analyzer | step | initial | lsim | pade | impulseplot
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)