我有一个看起来像
的数组test = {1,2,3};
我想确定整数是否属于数组。我尝试使用ismember()和any(),但它们都返回:
二元运算符'=='未通过'标量'运算实现'单元'
我将如何做到这一点?提前致谢
答案 0 :(得分:5)
如果要检查矩阵中是否存在整数:
test = [1, 2, 3];
any (test == 2)
ans = 1
但在您的问题中,您使用的是单元格数组。在这种情况下,我首先将其转换为矩阵,然后执行相同的操作:
b = {1,2,3};
any (cell2mat (b) == 2)
ans = 1
答案 1 :(得分:0)
您问的是检查数组是否具有给定的整数,但您使用的是单元格。他们是完全不同的。
如果你想坚持细胞,你可以像这样迭代它
test = {1, 2, 3};
number = 2;
hasNumber = false;
for i = 1:size(test,2)
if(test{i} == number)
hasNumber = true;
break;
end
end
另一方面,对于数组,你可以这样做,例如
test = [1, 2, 3];
number = 2;
hasNumber = ~isempty(test(test == number));