Hauptinhalt

Konvertieren der MIMO-Matrixdaten in einen Zeitplan für eine zeitkontinuierliche Modellschätzung

Sie können eine zeitkontinuierliche Modellfunktion schätzen, indem Sie die matrixbasierten Daten zunächst in einen Zeitplan konvertieren.

Laden Sie die Daten, darunter Eingabematrix usteam, Ausgabematrix ysteam und Abtastzeit Ts.

load sdatasteam.mat usteam ysteam Ts

Kombinieren Sie usteam und ysteam in einen einzigen Zeitplan ttsteam. Um eine Variable für jeden Kanal zu erstellen, müssen Sie jede Matrixspalte explizit angeben.

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

Schätzen Sie ein zeitkontinuierliches Zustandsraummodell.

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

Vergleichen Sie das Modell mit den Daten.

compare(tts,sysc)

MATLAB figure