Clear Filters
Clear Filters

How to estimate the inital state with an ssest output model

2 views (last 30 days)
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!

Accepted Answer

Rajiv Singh
Rajiv Singh on 9 Jun 2020
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 Comment
Clemens Riegler
Clemens Riegler on 12 Jun 2020
Thanks that helps a lot!
Especially the second part since it helps me to do what I want! I appreciate the help!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!