提示用户输入,时间为4秒并再次提示

时间:2016-10-04 12:34:39

标签: matlab

我有一个矩阵testNumbers = [1, 3, 8, 6, 9, 7]

我现在要做的是让用户提示输入并检查输入是否等于testNumbers(1),如果它是做某事(以后,%做某事),并在4秒后继续让用户再次输入一个数字,但这次检查testNumbers(2)是否等于用户提示。这将继续,直到length(testNumbers)结束。

可以这样做吗?我假设必须使用for循环,但我是全新的,因此一个例子会很棒。然后我可以继续构建它。

一个例子:

testNumbers = [1, 3, 8, 6, 9, 7]
  1. 计时器启动(4秒)
  2. 用户输入1在t <= 4秒
  3. 执行类似disp('Correct')
  4. 的操作
  5. 用户输入3在t <= 4秒
  6. 执行类似disp('Correct')
  7. 的操作
  8. 用户应输入8但时间耗尽
  9. 执行像disp('time out out')
  10. 之类的事情
  11. 用户输入5在t <= 4秒内但是错误,应为6
  12. 做像disp('错误')
  13. 之类的事情
  14. 继续这样,直到矩阵结束......

1 个答案:

答案 0 :(得分:3)

您可以使用tictoc来衡量两点之间的经过时间。您可以在用户输入之前放置tic(以启动计时器),然后在任何位置使用toc来检查自该点以来经过的时间。您可以使用多个toc&#39; s,它们都会引用最接近的tic

% Start the timer
tic

% Prompt the user for input
value = input('Enter a number:');

elapsed_time = toc;

% If the response took more than 4 seconds
if elapsed_time > 4
    disp('took too long')
end

如果您想要等待4秒钟(如标题所示),您可以使用pause暂停执行您的程序一段时间

input('Enter a number:');

pause(4)    % Pause for 4 seconds

% Do something else