Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

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)

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%.