Check if cell contains only certain combination of variables
1 次查看(过去 30 天)
显示 更早的评论
I have a 4x1 cell filled with 4 possible string values: 'A', 'B', 'C', or 'D'
I would like to ensure that the values in there either:
any combination of: 'A' and/or 'B'
OR
any combination of 'C' and/or 'C'
But I want to raise an error if there is any mix between say A and C, or A and D, and so forth
采纳的回答
Turlough Hughes
2022-1-31
编辑:Turlough Hughes
2022-1-31
You can do this with an "exclusive or" (see xor) where you check that you have exlusively either 'A' or 'B' xor 'C' or 'D', but not a mix of A and C or A and D, etc. See the following:
x = {'A','B','C','D'}.';
% conditions
condA = any(matches(x,"A"|"B"));
condB = any(matches(x,"C"|"D"));
assert(xor(condA,condB),'Error: ...')
更多回答(1 个)
Benjamin Thompson
2022-1-31
So something like this? I am sure you can add more detail to deal with all possible cases.
myCellArray{1} = 'A';
myCellArray{2} = 'B';
myCellArray{3} = 'C';
myCellArray{4} = 'D';
if (myCellArray{1} == 'A')
for (i = 2:4)
if ((myCellArray{i} == 'C') || (myCellArray{i} == 'D'))
disp('Not Good')
end
end
end
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!