연속시간 모델 추정을 위해 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)
