How to add a time limit to response time?

10 visualizaciones (últimos 30 días)
Takara Sumoto
Takara Sumoto el 1 de Oct. de 2019
Comentada: Takara Sumoto el 2 de Oct. de 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 comentario
Aquatris
Aquatris el 1 de Oct. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Timing and presenting 2D and 3D stimuli en Help Center y File Exchange.

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by