Effacer les filtres
Effacer les filtres

How to verify input only contains certain numbers?

3 vues (au cours des 30 derniers jours)
Ibro Tutic
Ibro Tutic le 12 Juil 2017
Modifié(e) : Ibro Tutic le 12 Juil 2017
Lets say that users are required to enter the numbers: 35, 36, 37 in some order (b={'35', '36', '37'}). How would I go about verifying that these numbers were entered and not some other numbers and that each number was only entered once? So if the user entered 30,36,37 or 36,36,37 the program would error. The only acceptable input would be one where 35, 36, and 37 occur only once, in any order. Any ideas?

Réponse acceptée

per isakson
per isakson le 12 Juil 2017
Modifié(e) : per isakson le 12 Juil 2017
An idea
>> b={'37', '36', '35'};
>> all( strcmp( unique( b ), {'35','36','37'} ) )
ans =
1
However, you have to check that length(unique(b))==3 before applying strcmp
  2 commentaires
Ibro Tutic
Ibro Tutic le 12 Juil 2017
Perfect, thanks!
Ibro Tutic
Ibro Tutic le 12 Juil 2017
Modifié(e) : Ibro Tutic le 12 Juil 2017
Now I'm having some issues. I have two cell arrays, 'runs' and 'z7prtests'.
runs = {'27' '28' '108' '109'};
z7prtests = {'27' '28' '108' '109'};
all( strcmp( unique( runs ), z7prtests ) )
ans =
0
This doesn't seem to be working, any ideas?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by