stackoverflow的Hello社区,
我有一个单元阵列Q,5520x1单元阵列,由例如这样的数组组成:
K>> Q {1}
ans =
0 3 1 84
等等。
我真的很想知道,怎么可能检查单元格数组的元素,如上所述,是否已经存在于Q中?因为如果它确实存在,我不会添加任何内容,但如果是,我必须将此元素添加到Q的末尾。如何才能正确完成此检查?如果可能的话,简短的解决方案当然会更受欢迎。
提前感谢您的时间, 尼克
答案 0 :(得分:4)
我假设"元素"你的意思是整个矢量。例如,给定
Q = {[1 2 3], [4 5]}
应添加新的向量[2 4 3]
,但不应添加[4 5]
。
要进行检查:按new
表示新向量,请使用
alreadyExists = any(cellfun(@(x) isequal(x, new), Q));
示例:
>> Q = {[1 2 3], [4 5]};
>> alreadyExists = any(cellfun(@(x) isequal(x, [2 4 3]), Q))
alreadyExists =
0
>> alreadyExists = any(cellfun(@(x) isequal(x, [4 5]), Q))
alreadyExists =
1