Borrar filtros
Borrar filtros

Nonlinear state space model representation

45 visualizaciones (últimos 30 días)
Cosmin Delea
Cosmin Delea el 17 de Abr. de 2016
Comentada: Luis Martinez el 27 de Mzo. de 2021
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 comentarios
Stefan Raab
Stefan Raab el 18 de Abr. de 2016
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 el 25 de Abr. de 2016
Editada: Cosmin Delea el 25 de Abr. de 2016
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

Iniciar sesión para comentar.

Respuestas (1)

Firas Omran
Firas Omran el 7 de Oct. de 2017
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 comentarios
Cosmin Delea
Cosmin Delea el 9 de Oct. de 2017
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 el 27 de Mzo. de 2021
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.

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by