How to estimate state space model and designate matrix C=1 or [1, 0]?

1 ビュー (過去 30 日間)
Jianning Cui
Jianning Cui 2021 年 4 月 20 日
コメント済み: Jianning Cui 2021 年 4 月 23 日
I want to use some data to estimate a state space model of a dynamical system. I know I can use ssest command. Yet when I am using it, it returns model with very extrange C matrix very far from 1 or [1 0] (like C=15.6438 or C=[18.72 7.32], etc.). Yet I know from its characteristic that the dynamical system I want to identify has a trivial C matrix C=1 or C=[1 0]. Is there a way to designate the C matrix to be 1 or [1 0] when using ssest command to estimate the dynamical system? Or are there methods other than ssest to estimate the state space model of a dynamical system?


Clayton Gotberg
Clayton Gotberg 2021 年 4 月 20 日
You are able to tell ssest which canonical form you expect the output to be in using the 'Form' option.
ssest(data,order,'Form','companion') % sets to companion canonical form
You can also convert the system later using the canon function.
The documentation for canon explains what waht each canonical form is called in MATLAB.
  1 件のコメント
Jianning Cui
Jianning Cui 2021 年 4 月 23 日
It works! Thank you very much!


その他の回答 (0 件)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by