Nonlinear state space model representation

45 次查看(过去 30 天)
Hello everyone,
I would like to compute a continous-time nonlinear model using the state-space related blocks in Simulink (and NOT by using integrator blocks). The difficulties I've encountered were regarding setting up the state matrices: the state matrices (A,B,C) contained functions of the state variables, which I cannot define in the state space Simulink block, but are generated automatically.
I would appreciate very much any suggestions. Thanks.
Best regards, Cosmin
  2 个评论
Stefan Raab
Stefan Raab 2016-4-18
Hello,
I'm afraid that the "State-Space" block does not support nonlinear matrix functions as the help says "Implement linear state-space system". So most likely you have to implement the nonlinear functions manually. Could you tell me why you don't want to use Integrator blocks? Maybe I can help you then.
Kind regards, Stefan
Cosmin Delea
Cosmin Delea 2016-4-25
编辑:Cosmin Delea 2016-4-25
Hey Stefan,
Thank you for your answer. You are right, state space models have to be linear in Simulink. I also got an official answer from Mathworks saying:
"State Space block in Simulink is designed to implement linear state space systems. It does have A, B, C and D matrices as explicit parameters. Most non-linear systems cannot be expressed in State Space representation (with A,B,C,D matrices) without linearisation. I would suggest to implement the non-linear system with an "integrator" block."
To answer your question, I wanted to implement the non-linear system via SS, instead of integrator blocks, because of the more intelligible and compact aspect. Of course, one can make subsystems to overcome this aspect, but working in Matlab in background, I find working with state matrices more convenientely.
With respect, Cosmin

请先登录,再进行评论。

回答(1 个)

Firas Omran
Firas Omran 2017-10-7
Hello, Can you please tell me how you solved your problem because i am trying to build a nonlinear state space model with some random state space (rss command) and I cannot combine them together in one system.
Thanks Firas
  2 个评论
Cosmin Delea
Cosmin Delea 2017-10-9
Hey,
The way I implemented the non-linear state-space in Simulink is, as mentioned in my response, the way Mathworks suggested: design it using classical integrator blocks, so that you basically express the equations of motion of your system in the Simulink workspace. If the system is very complicated, then use 'MATLAB function' and insert the scheduling parameters through its inputs.
Then, after the synthesis (done either using Jacobian linearisation or quasi-LPV approach on the plant model) you need to bring your dynamic controller in the Simulink workspace. The best way is by using a look-up table.
Luis Martinez
Luis Martinez 2021-3-27
Ok so my system is reasonably complex (w/o linearizing it) , so my plan was to express my matrix A (in state space) as the jacobian matrix without evaluating at the operating point, since my feedback control desing will be in ss so basically i will design in linear and then add the feedback gain to the nonlinear simulink model , thats why i think the jaccobian is the right approach because i need to have a matrix A with the same dimensions as my feedback design. I am think of using "MATLAB function" to implement my A nonlinar jacobian matrix but im not sure on how to do this.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Classical Control Design 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by