Matlab:如何验证矩阵的所有值是否都是值列表的一部分

Matlab:如何验证矩阵的所有值是否都是值列表的一部分,matlab,compare,Matlab,Compare,我有一个2D矩阵(“我的输入”),我想检查它的所有值是否都存在于给定的值列表中(在我的例子中,我只接受0和1)。 有什么方便的方法吗?以下是我目前的“残酷”解决方案: % exclude cases where values are not only 0 and 1 if ~all(all(ismember(my_input,[0 1]))) return; end % rest of the code 这不是很容易阅读的。有什么想法吗?提出了迄今为止最好的建议(在评论中): 虽然这个

我有一个2D矩阵(“我的输入”),我想检查它的所有值是否都存在于给定的值列表中(在我的例子中,我只接受0和1)。 有什么方便的方法吗?以下是我目前的“残酷”解决方案:

% exclude cases where values are not only 0 and 1
if ~all(all(ismember(my_input,[0 1])))
    return;
end
% rest of the code
这不是很容易阅读的。有什么想法吗?

提出了迄今为止最好的建议(在评论中):


虽然这个问题很愚蠢,因为我几乎已经找到了答案,但我希望它将来能帮助其他人。

你能举个例子。
~all(我的输入(:)==0;我的输入(:)==1)
?~all(我的输入(:),[01])为了可读性:
all(任何(bsxfun(@eq,我的输入(:),[01]))
。。。开个玩笑:-)谢谢大家,似乎没有matlab函数能完成我想要的工作。因此,我将使用ASantosRibeiro的解决方案(这是一个更通用的解决方案,因为您可以轻松地获得几个“可接受”的值),为什么我忘记了代码中的“(:)”??我应该让他去吗
~all(ismember(my_input(:),[0 1]))