System Identification model validation failure!

1 view (last 30 days)
Hello, I am using the system identification tool in Matlab R2012a. I have a data set imported in the GUI, used the State space estimation method. I got a 95% best fit on the model output window. The estimated model is now imported to the workspace to get the state variables. The problem is when I use these stat variables in simulink to observe its response to a step input, i get constant 0. What could the problem be? If the estimation gives us 95% match, why would the model always give zero?

Accepted Answer

Rajiv Singh
Rajiv Singh on 3 Oct 2012
What initial conditions did you use in Simulink block? The GUI estimates the initial states to maximize the fit to data. If you want, you can use the same initial states in the Simulink block by using the FINDSTATES command to compute the fit-maximizing values.
  2 Comments
Shadi Qunaibi
Shadi Qunaibi on 3 Oct 2012
Dear Mr.Singh, your answer is appreciated. But I tried the way you told me but didn't work! I am supposed to create a state space model in the workspace using the state variables like the following: sys=ss(a,b,c,d) Then use the Findstates?? If that is the case, it didn't work!
Please accept my apology if I didn't understand you...and thanks again for the help. But I really need your help!
Rajiv Singh
Rajiv Singh on 4 Oct 2012
If you estimated a state-space model in the GUI, the model should be an IDSS object which can be used directly:
x0 = findstates(sys,data)
where sys is the model exported from the GUI. If sys is some other type of model, such as a transfer function or process models, convert it into IDSS first:
sys = idss(sys);
x0 = findstates(sys,data);

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!