说"暂停"的帮助
PAUSE(n) pauses for n seconds before continuing, where n can also be a
fraction. The resolution of the clock is platform specific. Fractional
pauses of 0.01 seconds should be supported on most platforms.
但在我的情况下,暂停(0.01(根本没有任何作用(暂停,用整数n的暂停(n(有效(
有没有办法在matlab中使毫秒级延迟(50ms,100~500ms(?
Matlab版本为
MATLAB Version 7.9.0.529 (R2009b)
Windows 10 64位家庭版上的64位
我看到了两个选项。让我们将它们称为循环选项,并将其称为本机选项
%% looping
% desired time to wait
dt_des = 0.001; % 1 ms
% initialize clock
t_st = tic;
% looping
while toc(t_st) < dt_des
end
% read clock
toc(t_st)
本机选项正在使用pause
(请确保已使用pause('on')
启用过一次(。我从你的问题中假设这并不总是有效的——然而,它在我的系统(R2019b,windows 10(上确实有效。
%% use pause()
tic
pause(0.001)
toc
两者的结果都是
Elapsed time is 0.001055 seconds.
Elapsed time is 0.001197 seconds.
它不太准确,但如果你在电脑上调整数字,你可能会得到更好的结果。
您也可以使用
java.lang.Thread.sleep(10);
如果您使用的是旧版本的matlab,请参阅此处的讨论。