我有一个包含1到20之间值的列的表。我想过滤表,这样我只能显示某些离散值,即3,10,12和19.问题是写这是很麻烦,特别是因为我也想写其他过滤标准。:
i = tb.subn==3 | tb.subn==10 | tb.subn==12 | tb.subn==19
如果我使用i = tb.subn==[3 10 12 19]
,那么我得到一个:x4布尔矩阵。我怎样才能把它变成一列?
如果是&
,我想我可以使用prod(tb.subn == [3 10 12 19],2)但我无法弄明白or
。
感谢。
答案 0 :(得分:1)
i = all(tb.subn==[3 10 12 19], 2);
请注意,这仅适用于非常晚的matlab,而您的解决方案可以更好地适用于所有版本。
答案 1 :(得分:1)
您可以使用ismember(tb.subn, [3, 10, 12, 19])