How to estimate the inital state with an ssest output model

2 次查看(过去 30 天)
Hi everyone,
I am trying to linearize a model arround a certain operating point, the model is highly non linear so things like small angle approximation or Taylor-Series dont really work.
For this is used ssest. The model has a total of 5 states but ssest suggests to linearize with 8 states, so it is creating transitional states. This concept is not completely new to me but i have never worked with it. The compare function shows a very good fit, but I dont know how the inital state is created since in the iddata the original inital state has 5 values and the linearized model demands 8. Compare outputs an Initial state which I tried to recreate but couldnt.
Can anybody explain to me how to translate the original nonlinear state to the new states of the estimatete SS-Model?
Thank you!

采纳的回答

Rajiv Singh
Rajiv Singh 2020-6-9
In short, you cannot. SSEST is a black-box identification function (unless you pass in a full initialized @idss model as input), which means that the state vector used by the identified model are arbitrary.
Note:
  • If you need to check if you really need 8 states, you can reduce an identified model using BALRED and then refine
sys = ssest(data, 8);
sys2 = balred(sys, 5);
sys3 = ssest(data, sys2)
  • You can linearize your original model at the given operating point. Let's say that that linearized model is called LinSys. LinSys should be state-consistent with the original model (states of LinSys are deviations from the equilibrium values of those of the nonlinear system), as long as block reduction did not remove any states. Then, you can pass LinSys as initial model to SSEST, along with the deviation experiment data. This was you can update the matrices of LinSys to better fit the data.
sys = ssest(data, LinSys)
  1 个评论
Clemens Riegler
Clemens Riegler 2020-6-12
Thanks that helps a lot!
Especially the second part since it helps me to do what I want! I appreciate the help!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Linear Model Identification 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by