How to add a time limit to response time?

15 次查看(过去 30 天)
I want to add time limit to the response time. I have a code for "wait for response", but I don't know where and what code I should add. (I refered several codes but didn't work) I'm using Psychtoolbox,
%Wait for response
while keyOn == 0
[keyIsDown,secs,keycode] = KbCheck;
if keycode(spaceKey) || keycode(num1Key) || keycode(num2Key) || keycode(num3Key) ...
|| keycode(num4Key) || keycode(num5Key) || keycode(num6Key) ...
|| keycode(num7Key) || keycode(num8Key) || keycode(num9Key)
keyOn = 1;
end
end
Thank you!
  1 个评论
Aquatris
Aquatris 2019-10-1
Can you add tic toc to your code?
You can start a tic and if toc gives you higher than the time limit you break the loop.

请先登录,再进行评论。

采纳的回答

Jeff Miller
Jeff Miller 2019-10-1
One way is to use GetSecs, which returns the current time. For example,
MaxWait = 1.5; % As an example, suppose you want a maximum RT of 1.5 seconds
StopTime = GetSecs + MaxWait; % This computes the time at which you want to stop (max RT)
while (keyOn==0) && (GetSecs<StopTime) % add the time check to your while loop
% The rest of your while loop goes here
end
% You will reach this point if a key is pressed or if MaxWait elapses with no key press.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Timing and presenting 2D and 3D stimuli 的更多信息

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by