pause() function not running in realtime

2 visualizzazioni (ultimi 30 giorni)
Victor
Victor il 3 Mar 2024
Modificato: Victor il 4 Mar 2024
I am working on a project that modelise the DC motor with the following state-space form:
Here is my code: ------------------------------------
------------------------ Result:
----------------------- My goal is that I want to plot the value of the velocity which is theta dot versus realtime, so I use the pause() function in each step to represent real time simulation. However, I notice that this the plot is way slower than the real time. I am aiming to use mfile only, not simulink. My questions: - I am new to state-space and transfer function. Can you check the result for me? :D - Why is the points on the plot slower than the real time? Can anyone explain for me? What should I do if I want to fix it. Thanks very much for any response. I am really appreciated :D
  1 Commento
VBBV
VBBV il 3 Mar 2024
Modificato: VBBV il 3 Mar 2024
% after the for loop
hold on
yyaxis right
sys = ss(A,B,C,D)
step(sys)

Accedi per commentare.

Risposte (1)

VBBV
VBBV il 3 Mar 2024
Modificato: VBBV il 3 Mar 2024
dt = 0.05
change the timestep size and try
  2 Commenti
VBBV
VBBV il 3 Mar 2024
Modificato: VBBV il 3 Mar 2024
use ss function https://in.mathworks.com/help/control/ref/ss.html to check/verify your results
Victor
Victor il 3 Mar 2024
Thank you alot! I tried 0.1 s and it is actually closed to real time.

Accedi per commentare.

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by