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.

initial

Respuesta del sistema al modelo de espacio de estados inicial

    Descripción

    Para los modelos de espacio de estados y los modelos dispersos de espacio de estados, initial calcula la respuesta no forzada del sistema y a los estados iniciales xinit.

    • Tiempo continuo:

      x˙=dx0+A(xx0),x(t0)=xinity=y0+C(xx0)

    • Tiempo discreto:

      x[k+1]=dx0+A(x[k]x0)x[k0]=xinity=y0+C(x[k]x0)

    Para los modelos de espacio de estados lineales de tiempo variante o lineales de parámetros variantes, initial calcula la respuesta con el estado inicial xinit, el parámetro inicial pinit (modelos LPV) y la entrada mantenida en el valor de compensación (u(t) = u0(t) o u(t) = u0(t,p). Esto corresponde a la respuesta a la condición inicial de la dinámica lineal local.

    [y,tOut] = initial(sys,xinit) calcula la respuesta inicial no forzada y desde el estado inicial xinit. El vector de tiempo tOut está en las unidades de tiempo de sys. initial determina automáticamente las unidades de tiempo y la duración de la simulación en función de la dinámica del sistema.

    [y,tOut] = initial(sys,xinit,tFinal) simuló la respuesta desde t = 0 hasta la unidad de tiempo final t = tFinal. La función utiliza la dinámica del sistema para determinar las unidades de tiempo que intervienen.

    [y,tOut] = initial(sys,xinit,[t0,tFinal]) simula la respuesta desde t0 hasta tFinal. (desde R2023b)

    [y,tOut] = initial(sys,xinit,t) devuelve la respuesta inicial de sys en los tiempos especificados en el vector t.

    [y,tOut] = initial(sys,xinit,t,p) también especifica la trayectoria de parámetros p para modelos LPV. (desde R2023a)

    [y,tOut] = initial(sys,{xinit,pinit},t,p) también especifica el valor inicial del parámetro y de la trayectoria de parámetros p para modelos LPV. Se necesita pinit para las trayectorias de los parámetros implícitas. (desde R2023a)

    ejemplo

    [y,tOut,x] = initial(sys,xinit) devuelve la respuesta de salida y, el vector de tiempo tOut y las trayectorias de estado x. El arreglo y tiene tantas filas como muestras de tiempo (longitud de tOut) y tantas columnas como salidas. Del mismo modo, x tiene length(tOut) filas y tantas columnas como estados.

    ejemplo

    [y,tOut,x,pOut] = initial(sys,xinit,t,p) también devuelve trayectorias de los parámetros pOut, cuando sys es un modelo lpvss. (desde R2023a)

    initial(sys,xinit,___) representa la respuesta inicial de sys. Esta sintaxis equivale a initialplot(sys,__). Cuando necesite opciones de personalización de gráficas adicionales, utilice en su lugar initialplot.

    Ejemplos

    contraer todo

    Para este ejemplo, genere un modelo de espacio de estados aleatorio con 5 estados y cree la gráfica para la respuesta del sistema a los estados iniciales.

    rng("default")
    sys = rss(5);
    x0 = [1,2,3,4,5];
    initial(sys,x0)

    Figure contains an axes object. The axes object contains an object of type line. These objects represent Driving inputs, sys.

    Represente la respuesta del siguiente modelo de espacio de estados:

    [x˙1x˙2]=[-0.5572-0.78140.78140][x1x2]y=[1.96916.4493][x1x2].

    Utilice la siguiente condición inicial:

    x(0)=[10].

    a = [-0.5572, -0.7814; 0.7814, 0];
    c = [1.9691  6.4493];
    x0 = [1 ; 0];
    
    sys = ss(a,[],c,[]);
    initial(sys,x0)

    Figure contains an axes object. The axes object contains an object of type line. These objects represent Driving inputs, sys.

    Considere el siguiente sistema dinámico de dos entradas y dos salidas.

    sys(s)=[03ss2+s+10s+1s+52s+6].MIMO system

    Convierta el modelo sys al formato de espacio de estados dado que las gráficas de respuesta a la condición inicial se admiten únicamente para modelos de espacio de estados.

    sys = ss([0, tf([3 0],[1 1 10]) ; tf([1 1],[1 5]), tf(2,[1 6])]);
    size(sys)
    State-space model with 2 outputs, 2 inputs, and 4 states.
    

    El modelo de espacio de estados resultante tiene cuatro estados. Por tanto, proporcione un vector de la condición inicial con cuatro elementos.

    x0 = [0.3,0.25,1,4];

    Cree la gráfica de respuesta a la condición inicial.

    initial(sys,x0);

    Figure contains 2 axes objects. Axes object 1 with ylabel To: Out(1) contains an object of type line. These objects represent Driving inputs, sys. Axes object 2 with ylabel To: Out(2) contains an object of type line. These objects represent Driving inputs, sys.

    La gráfica resultante contiene dos subgráficas, una para cada salida de sys.

    Para este ejemplo, examine la respuesta a la condición inicial del siguiente modelo cero-polo-ganancia y limite la gráfica a tFinal = 15 s.

    En primer lugar, convierta el modelo zpk a un modelo ss, dado que initial solo admite modelos de espacio de estados.

    sys = ss(zpk(-1,[-0.2+3j,-0.2-3j],1)*tf([1 1],[1 0.05]));
    tFinal = 15;
    x0 = [4,2,3];

    Ahora, cree la gráfica de respuesta a las condiciones iniciales.

    initial(sys,x0,tFinal);

    Figure contains an axes object. The axes object contains an object of type line. These objects represent Driving inputs, sys.

    Para este ejemplo, represente las respuestas a la condición inicial de los tres sistemas dinámicos.

    En primer lugar, cree los tres modelos y proporcione las condiciones iniciales. Todos los sistemas deberían contar con el mismo número de estados.

    rng('default');
    sys1 = rss(4); 
    sys2 = rss(4);
    sys3 = rss(4);
    x0 = [1,1,1,1];

    Represente las respuestas a la condición inicial de los tres modelos con el vector de tiempo t que abarca 5 segundos.

    t = 0:0.1:5;
    initial(sys1,'r--',sys2,'b',sys3,'g-.',x0,t)

    Figure contains an axes object. The axes object contains 3 objects of type line. These objects represent Driving inputs, sys1, sys2, sys3.

    Extraiga los datos de respuesta a la condición inicial del siguiente modelo de espacio de estados con dos estados:

    [x˙1x˙2]=[-0.5572-0.78140.78140][x1x2]y=[1.96916.4493][x1x2].

    Utilice las siguientes condiciones iniciales:

    x(0)=[10].

    a = [-0.5572, -0.7814; 0.7814, 0];
    c = [1.9691  6.4493];
    x0 = [1 ; 0];
    sys = ss(a,[],c,[]);
    [y,tOut,x] = initial(sys,x0);

    El arreglo y tiene tantas filas como muestras de tiempo (longitud de tOut) y tantas columnas como salidas. Del mismo modo, x tiene tantas filas como muestras de tiempo (longitud de tOut) y tantas columnas como estados.

    Para este ejemplo, extraiga los datos de respuesta a la condición inicial de un modelo de espacio de estados con 6 estados, 3 salidas y 2 entradas.

    En primer lugar, cree el modelo y proporcione las condiciones iniciales.

    rng('default');
    sys = rss(6,3,2); 
    x0 = [0.1,0.3,0.05,0.4,0.75,1];

    Extraiga las respuestas a la condición inicial del modelo con el vector de tiempo t que abarca 15 segundos.

    t = 0:0.1:15;
    [y,tOut,x] = initial(sys,x0,t);

    El arreglo y tiene tantas filas como muestras de tiempo (longitud de tOut) y tantas columnas como salidas. Del mismo modo, x tiene tantas filas como muestras de tiempo (longitud de tOut) y tantas columnas como estados.

    Para este ejemplo, throttleLPV.m define la dinámica de un acelerador de motor no lineal que se comporta linealmente en el rango de apertura de 15 grados a 90 grados.

    Utilice lpvss para crear el modelo. Este modelo está parametrizado por el ángulo del acelerador, que es el primer estado del modelo.

    c0 = 50;
    k0 = 120;
    K0 = 1e4;
    b0 = 4e4;
    yf = 15*K0/(k0+K0);
    Ts = 0;
    sys = lpvss("x1",@(t,p) throttleLPV(p,c0,k0,b0,K0),Ts,0,15);

    Puede calcular la respuesta inicial de este modelo a lo largo de una trayectoria p(t).

    Calcule la respuesta cuando comience en el extremo inferior del rango lineal con una velocidad angular pequeña.

    pFcn = @(t,x,u)x(1);
    x0 = [15;10]; 
    p0 = x0(1);
    t = linspace(0,0.6,500);
    initial(sys,{x0,p0},t,pFcn)

    Figure contains an axes object. The axes object contains an object of type line. These objects represent Driving inputs, sys.

    Calcule la respuesta cuando comience en el extremo inferior del rango lineal con suficiente velocidad angular para alcanzar el extremo superior de este rango.

    x0 = [15;5e3]; 
    p0 = x0(1);
    t = linspace(0,1,1000);
    initial(sys,{x0,p0},t,pFcn)

    Figure contains an axes object. The axes object contains an object of type line. These objects represent Driving inputs, sys.

    Vea la función de datos.

    type throttleLPV.m
    function [A,B,C,D,E,dx0,x0,u0,y0,Delays] = throttleLPV(x1,c,k,b,K)
    % LPV representation of engine throttle dynamics.
    % Ref: https://www.mathworks.com/help/sldo/ug/estimate-model-parameter-values-gui.html
    % x1: scheduling parameter (throttle angle; first state of the model)
    % c,k,b,K: physical parameters
    
    A = [0 1; -k -c];
    B = [0; b];
    C = [1 0];
    D = 0;
    E = [];
    Delays = [];
    x0 = [];
    u0 = [];
    y0 = [];
    
    % Nonlinear displacement value
    NLx = max(90,x1(1))-90+min(x1(1),15)-15;
    % Capture the nonlinear contribution as a state-derivative offset
    dx0 = [0;-K*NLx]; 
    

    Argumentos de entrada

    contraer todo

    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 únicamente modelos de espacio de estados de los siguientes tipos:

    • Modelos numéricos en tiempo continuo o en tiempo discreto ss.

    • Modelos LTI generalizados o con incertidumbre, como modelos genss o uss. 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 de espacio de estados, como modelos sparss y mechss. Debe especificar la unidad de tiempo final tFinal para los modelos dispersos de espacio de estados.

    • Modelos lineales de tiempo variante (ltvss) y modelos lineales de parámetros variantes (lpvss).

    Si sys es un arreglo de modelos, la función representa las respuestas de todos los modelos del arreglo en los mismos ejes.

    Tiempo final para calcular la respuesta, especificado como un valor escalar positivo. initial simula la respuesta desde t = 0 hasta t = tFinal.

    • En el caso de los sistemas de tiempo continuo, la función determina automáticamente el tamaño de escalón y el número de puntos a partir de la dinámica del sistema. Exprese tFinal en las unidades de tiempo del sistema, especificadas en la propiedad TimeUnit de sys.

    • En el caso de los sistemas de tiempo discreto, la función utiliza el tiempo de muestreo de sys como tamaño de escalón. 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), initial interpreta tFinal como el número de periodos de muestreo que va a simular.

    Desde R2023b

    Intervalo de tiempo, especificado como un vector de dos elementos de valores escalares positivos. initial simula la respuesta desde t = t0 hasta t = tFinal.

    Vector de tiempo en el que se desea calcular la respuesta, especificado como un vector de valores escalares positivos. Exprese t en las unidades de tiempo del sistema, especificadas en la propiedad TimeUnit de sys.

    • En el caso de modelos de tiempo continuo, especifique t en formato Ti:dt:Tf. Para obtener la respuesta en cada unidad de tiempo, la función utiliza dt como tiempo de muestreo de una aproximación discreta al sistema continuo.

    • En el caso de modelos de tiempo discreto, especifique t en formato Ti:Ts:Tf, donde Ts es el tiempo de muestreo de sys.

    Condición inicial de los estados, especificada como un vector. xinit debe tener la misma longitud que el número de estados en sys.

    Desde R2023a

    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 p como 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 la i-ésima unidad de tiempo.

    • Para trayectorias endógenas o implícitas, especifique p como 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. El valor inicial del parámetro pinit es necesario para este método de entrada.

    Desde R2023a

    Valor inicial de los parámetros del modelo LPV, especificado como vector. pinit debe tener la misma longitud que el número de parámetros en sys.

    Argumentos de salida

    contraer todo

    Datos de respuesta, devueltos como un arreglo.

    • En los sistemas SISO, y es un vector columna de la misma longitud que t (si se indica) o tOut (si no se indica t).

    • En los sistemas de una entrada y varias salidas, y es una matriz con tantas filas como muestras de tiempo y tantas columnas como salidas. Así, la j-ésima columna de y, o y(:,j), contiene la respuesta desde la entrada hasta la j-ésima salida.

    • En los sistemas MIMO, las dimensiones de y son N por Ny, donde:

      • N es el número de muestras de tiempo.

      • Ny es el número de salidas del sistema.

    Tiempos en los que se calcula la respuesta, devueltos como un vector. Cuando no proporciona un vector específico t de tiempos, initial elige este vector de tiempo en función de la dinámica del sistema. Los tiempos se expresan en las unidades de tiempo de sys.

    Trayectorias de estado, devueltas como un arreglo. 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, donde:

    • N es el número de muestras de tiempo.

    • Nx es el número de estados.

    Trayectorias de parámetros, devueltas como un arreglo. Cuando sys es un modelo lineal de parámetros variantes (lpvss), pOut contiene la evolución de los parámetros de sys. Las dimensiones de pOut son N por Np, donde:

    • N es el número de muestras de tiempo.

    • Np es el número de parámetros.

    Historial de versiones

    Introducido antes de R2006a

    expandir todo