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

 採用された回答

Walter Roberson
Walter Roberson 2023 年 11 月 5 日

1 投票

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 件のコメント

Dyuman Joshi
Dyuman Joshi 2023 年 11 月 5 日
How about using a while loop which checks the time and executes the function accordingly?
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 件)

カテゴリ

製品

リリース

R2023b

質問済み:

2023 年 11 月 5 日

移動済み:

2023 年 11 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by