How to add a time limit to response time?

10 Ansichten (letzte 30 Tage)
Takara Sumoto
Takara Sumoto am 1 Okt. 2019
Kommentiert: Takara Sumoto am 2 Okt. 2019
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 Kommentar
Aquatris
Aquatris am 1 Okt. 2019
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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Jeff Miller
Jeff Miller am 1 Okt. 2019
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.

Weitere Antworten (0)

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by