状態空間モデルで行列内の値を固定するには?
Show older comments
状態空間モデルのパラメータ推定を行っています.
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)
のようにしても固定が出来ません.
どなたかご教授をお願いします.
Accepted Answer
More Answers (1)
Hiroumi Mita
on 27 Dec 2019
0 votes
例題を見ると、
サンプル時間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
Categories
Find more on 状態空間モデル in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!