状態空間モデルで行列内の値を固定するには?
1 view (last 30 days)
Show older comments
Haruto Yamazaki
on 27 Dec 2019
Answered: Hiroumi Mita
on 27 Dec 2019
状態空間モデルのパラメータ推定を行っています.
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 Comments
Accepted Answer
Hiroumi Mita
on 27 Dec 2019
状態空間内部の任意の箇所だけ推定するには
idgreyで設定し、pem等のシステム同定の関数を使います。
idgreyとそのサンプルをhelpで調べてみてください。
More Answers (1)
Hiroumi Mita
on 27 Dec 2019
例題を見ると、
サンプル時間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 Comments
See Also
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!