Execute a command after a delay

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.

 采纳的回答

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 个评论

Fabulous thanks, that will be tremendously useful
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 个)

类别

帮助中心File Exchange 中查找有关 Startup and Shutdown 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by