状態空間モデルで行列内の値を固定するには?
조회 수: 3 (최근 30일)
이전 댓글 표시
状態空間モデルのパラメータ推定を行っています.
X'=AX+Bu
Y=CX+Du
において,
A=[0 1 0 0;NaN 0 NaN 0;0 0 0 1;NaN 0 NaN 0];
B=[0;NaN;0;0];
C=[1 0 0 0;0 0 1 0];
D=[0;0];
設定したモデルは上記の通りです.
NaN以外の行列の値を固定して,ssestなどを用いて値を推定したいのですが,その固定方法等がよくわかりません.
おそらくidssのstructureを使う様なのですが,例えば
m.Structure.A.Free(2,1) = false;
m.Structure.A.Value(2,2)
m.Structure.A.Free(2,3) = false;
m.Structure.A.Value(2,4)
のようにしても固定が出来ません.
どなたかご教授をお願いします.
댓글 수: 0
채택된 답변
Hiroumi Mita
2019년 12월 27일
状態空間内部の任意の箇所だけ推定するには
idgreyで設定し、pem等のシステム同定の関数を使います。
idgreyとそのサンプルをhelpで調べてみてください。
추가 답변 (1개)
Hiroumi Mita
2019년 12월 27일
例題を見ると、
サンプル時間Tsが関数LinearPendulum
の引数に必要なようです。
function [A,B,C,D] = LinearPendulum(a,b,c,d,e,Ts) %<-ココ
A=[0 1 0 0;a 0 b 0;0 0 0 1;c 0 d 0 ];
B=[0;e;0;0 ];
C=[1 0 0 0;0 0 1 0 ];
D=[0;0 ];
end
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 状態空間モデル에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!