Dynamics change depending on whether simulation is run in Simulink or Simulink Real-Time (normal run button)

1 vue (au cours des 30 derniers jours)
I'm doing a state-space simulation in Simulink. The results are as expected, until I change to Simulink Real-Time. All of the sudden, the results depend on the configured 'Stop Time'. I'm using the standard Run button in the Simulation tab, not the 'Run on Target' button. For a large enough Stop Time, the system goes unstable. Obviously, the dynamics of a system should not change because of this. What could have caused this behaviour?
  2 commentaires
Benjamin Thompson
Benjamin Thompson le 6 Juil 2022
Can you post the model? Maybe you use small sized integers somewhere that can be overrun if time gets too big?
Ama Nesciri
Ama Nesciri le 6 Juil 2022
Modifié(e) : Ama Nesciri le 6 Juil 2022
A = [0 0 -2; 0 0 2; 1 -1 0];
B = [0.25 0; 0 0.25; 0 0];
C = eye(3);
D = zeros(3,2);
K = -place(A,B,[-0.1 -0.2 -0.3]);

Connectez-vous pour commenter.

Réponses (1)

Poorna
Poorna le 6 Déc 2023
Hi Ama Nesciri,
I understand that you are getting different results when run using Simulink Real-Time compared to the normal Simulink simulation.
Simulink Real-Time involves generating code from the Simulink model and executing it on real-time target. So, one of the reasons the results differ might be with the solver settings. Code generation requires a fixed step solver while the normal simulation might be using a variable step solver.
So, try to ensure the solver settings are same for both the simulations and then compare the results.
Please refer to the following documentation to know different steps in performing a real time simulation including changing solver settings.
Hope this Helps!
Best regards,
Poorna

Catégories

En savoir plus sur Block Libraries dans Help Center et File Exchange

Produits


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by