Matlab function in Simulink exhibiting slow reaction time

2 views (last 30 days)
I have a function block within my simulink file. It reads a "current" value, and compares it to a reference value.
If the value is higher than ref is turns off one input, and the next time the function block is called the expected behavior is that it should turn off a additional input if the value is still higher than reference.
For some reason it only turns off additional inputs every ~1700 seconds or so. Simulation time is 24h. I do not really see what could cause this. It behaves as expected, but as if it is only called every 1700 seconds.
There is a delay block at the output of the funciton, that then feeds back - giving the current status of all inputs. It is set to a delay of 1.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 6 Mar 2025
Edited: Fangjun Jiang on 6 Mar 2025
I must know this. 1700 seconds is roughly 1/50 of the simulation time (24 hours). It is the default setting. It must mean that you didn't specify the simulation step size. One step of simulation of your model is about 1700 seconds. That is the reason.
Specify a reasonable step size and you will see the effect.

More Answers (0)

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!