Execute a command after a delay

26 次查看(过去 30 天)
Based on this thread I'm not optimistic, but thought I'd give it a try. I'd really like to be able to execute a command after a delay, e.g., run a script that says
pause(10); disp('Hullo')
but have the program continue during the pause time, so that code lines can be executed before the disp command. In linux, one could do this by "backgrounding" the command string. Maybe there's some fancy undocumented way of doing this in matlab? If not it would be a great addition.

采纳的回答

Sean de Wolski
Sean de Wolski 2016-6-1
Use a timer with a start delay.
T = timer('StartDelay',10,'TimerFcn',@(src,evt)disp('Hello World'));
start(T)
surf(peaks) % something running while timer waiting
And for more info:
doc timer
  2 个评论
Leo Simon
Leo Simon 2016-6-1
Fabulous thanks, that will be tremendously useful
Antonio Del Negro
Antonio Del Negro 2018-10-10
what if I'm running the same command inside a MATLAB function block of Simulink? I'm saying this because I tried doing so and the following appears:
"The Timer class does not support code generation"
Any alternative for the case of a matlab function block from simulink? I've been looking all day. Thanks!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Simulink Functions 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by