연속시간 모델 추정을 위해 MIMO 행렬 데이터를 타임테이블로 변환하기
먼저 행렬 데이터를 타임테이블로 변환하여 연속시간 모델 함수를 추정합니다.
입력 행렬 usteam
, 출력 행렬 ysteam
, 샘플 시간 Ts
를 포함하는 데이터를 불러옵니다.
load sdatasteam.mat usteam ysteam Ts
usteam
과 ysteam
을 하나의 타임테이블 ttsteam
으로 결합합니다. 각 채널에 대한 변수를 생성하려면 각 행렬 열을 명시적으로 지정해야 합니다.
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
연속시간 상태공간 모델을 추정합니다.
nx = 3; sysc = ssest(tts,nx,'InputName',["Var1" "Var2"],'OutputName',["Var3" "Var4"]);
모델을 데이터와 비교합니다.
compare(tts,sysc)