Run a function in given time moments.

Hi all
I need to run MyFunction.m tomorrow starting from 14:20:00 and repeat it 10 times with periodicity of 5 minutes. How to proceed?
Thanks for help

 采纳的回答

MATLAB does not support that.
The closest to that is that timer supports a start delay -- so you could calculate the time difference between now and 14:20 tomorrow and use that as the delay. But that is going to not going to start exactly on time -- and if you exit MATLAB in the meantime then the timer will not run, and will not start up again if you go back into MATLAB.

3 个评论

How about using a while loop which checks the time and executes the function accordingly?
I would suggest writing a control table to a file indicating the date/time when each event is to start.
Then, periodically:
  1. read the file
  2. schedule a timer object (using relative time) for any event that is due to start within the next two refresh cycles; if there is already a timer for the event, check to see whether the start time delay needs to be updated
This scheduling should also be done upon starting MATLAB
Creation of a new event should be accompanied by writing the event to the control file and then running the check cycle again.
@Walter Roberson and @Dyuman Joshi, thank a lot for your ideas and proposals. Now it is clearer for me how to realize this task, appreciate your help

请先登录,再进行评论。

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 MATLAB 的更多信息

产品

版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by