How can I limit input into the command window?

3 vues (au cours des 30 derniers jours)
Femke R
Femke R le 25 Mar 2022
Commenté : Star Strider le 25 Mar 2022
I have written an experiment where once in a while I have to input some numbers (1 and 2) into the command window to make the experiment continue. I am currently doing this using the input() function. However, the participant also has access to an instrument which writes letters to matlab. I want to limit the characters I can write into the command window to only include the numbers, so that the instrument doesn't interfere with my input. Checking for the right input after its been given will not work, as the instrument can continuiously send letters, making it impossible for me to write in just my numbers.
I currently have these lines of code, where I manually input whether I want to continue or abort after each block of trials, after which my input is evaluated.
while 1
cont=input(sprintf("do you want to continue with block %g? (1 for yes, 2 for no and abort): ",wrun));
%%% if you want to continue, go to next iteration (end while loop)
if cont ==1
break
%%% if you want to abort, make stop variable (end while loop)
elseif cont ==2
stop=1;
break
end

Réponse acceptée

Star Strider
Star Strider le 25 Mar 2022
I generally prefer to use the inputdlg fucntion, since it does not involve the Command Window.
If MATLAB is writing to the Command Window and that is causing problems using the input function, inputdlg could be a way to avoid that.
  5 commentaires
Femke R
Femke R le 25 Mar 2022
Questdlg solves my problem, thank you!
Star Strider
Star Strider le 25 Mar 2022
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur App Building dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by