How to add a time limit to response time?

16 vues (au cours des 30 derniers jours)
Takara Sumoto
Takara Sumoto le 1 Oct 2019
Commenté : Takara Sumoto le 2 Oct 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 commentaire
Aquatris
Aquatris le 1 Oct 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.

Connectez-vous pour commenter.

Réponse acceptée

Jeff Miller
Jeff Miller le 1 Oct 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.
  1 commentaire
Takara Sumoto
Takara Sumoto le 2 Oct 2019
Dear Mr. Miller,
Thank you! It worked perfectly.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Timing and presenting 2D and 3D stimuli dans Help Center et File Exchange

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by