How can I get the instantaneous step size value in variable step solver at a simulink model?

22 views (last 30 days)
Hello everyone,
This is an urgent stuation. I got a proble to get the value of instantaneous step size value in variable step solver. In my simscape model there is also a runge kutta solver function that I wrote and I need a h value which is a h=step_value/10. I dont want to use fixed step solver. That is why I need to know step value for each time step. I would be appreciated if you help me.

Answers (1)

Uday Pradhan
Uday Pradhan on 6 May 2021
Hi, you can use the "Clock" block in Simulink to get the current simulation time and the "memory" block to store this value for each step. In each step, subtract the output of "Memory" block (i.e. previous time step) from the current output of "Clock" to get the current step size. Here is a sketch of the workflow:
I hope this helps!
  4 Comments
Taha Oguz Özen
Taha Oguz Özen on 9 May 2021
Now I am using fixed variable and my stepsize value is 0.001. (fixed_step_size=0.001)
My model calculates next step's X value with Runge Kutta 4 and runge needs its own step size (h).
In my current model I calculated h= fixed_step_size/10.
After RK4 is calculated X, I use X as a input of the next step. This is the loop like that.
I want to do this with variable step size but I couldn't find a way to get Present time step.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!