Contenido principal

Convertir datos de matrices MIMO en un horario para la estimación de un modelo en tiempo continuo

Realice la estimación de una función de modelo en tiempo continuo convirtiendo en primer lugar datos de matrices en un horario.

Cargue los datos, que incluyen la matriz de entrada usteam, la matriz de salida ysteam y el tiempo de muestreo Ts.

load sdatasteam.mat usteam ysteam Ts

Combine usteam e ysteam en el horario único ttsteam. Para crear una variable para cada canal, debe especificar cada columna de matriz explícitamente.

tts = timetable(usteam(:,1),usteam(:,2),ysteam(:,1),ysteam(:,2),...
    'rowtimes',seconds(Ts*(1:size(usteam,1))));
head(tts,4)
      Time       Var1       Var2        Var3        Var4   
    ________    _______    _______    ________    _________

    0.05 sec    -1.5283     2.0584     0.57733     -0.12274
    0.1 sec      1.4412     -2.005     0.75804    -0.086114
    0.15 sec     1.4314     2.0584    -0.76577     -0.19845
    0.2 sec      1.4412    -1.9806     0.47721     -0.20577

Realice la estimación de un modelo de espacio de estados en tiempo continuo.

nx = 3;
sysc = ssest(tts,nx,'InputName',["Var1" "Var2"],'OutputName',["Var3" "Var4"]);

Compare el modelo con los datos.

compare(tts,sysc)

Figure contains 2 axes objects. Axes object 1 with ylabel Var3 contains 2 objects of type line. These objects represent Validation data (Var3), sysc: 90.8%. Axes object 2 with ylabel Var4 contains 2 objects of type line. These objects represent Validation data (Var4), sysc: 62.29%.