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)
