How to verify input only contains certain numbers?

3 次查看(过去 30 天)
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?

采纳的回答

per isakson
per isakson 2017-7-12
编辑:per isakson 2017-7-12
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 个评论
Ibro Tutic
Ibro Tutic 2017-7-12
编辑:Ibro Tutic 2017-7-12
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?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by