Run a function in given time moments.

4 次查看(过去 30 天)
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

采纳的回答

Walter Roberson
Walter Roberson 2023-11-5
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 个评论
Walter Roberson
Walter Roberson 2023-11-5
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.
Valeriy
Valeriy 2023-11-7
移动:Dyuman Joshi 2023-11-7
@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 个)

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by