Contenu principal

Convertir des données matricielles MIMO en une timetable en vue de l'estimation de modèles en temps continu

Estimez une fonction de modèle en temps continu en commençant par convertir les données matricielles en une timetable.

Chargez les données, parmi lesquelles la matrice d'entrée usteam, la matrice de sortie ysteam et le pas d'échantillonnage Ts.

load sdatasteam.mat usteam ysteam Ts

Combinez usteam et ysteam au sein de la même timetable ttsteam. Pour créer une variable pour chaque canal, vous devez spécifier explicitement chaque colonne de la matrice.

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

Estimez un modèle de représentation d'état à temps continu.

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

Comparez le modèle aux données.

compare(tts,sysc)

MATLAB figure