2017-06-05 74 views
1

我有一個表格,其中包含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布爾矩陣。我怎樣才能把它變成一列?

如果它是&,我想我可以使用產品(tb.subn == [3 10 12 19],2),但我不知道or

謝謝。

回答

1

您可以使用ismember(tb.subn, [3, 10, 12, 19])

+0

就是這樣!謝謝你的幫助。我忘了這個功能。 – teepee

1
i = all(tb.subn==[3 10 12 19], 2); 

請注意,這隻適用於非常晚的matlab,而你的解決方案將適用於所有版本。

+0

感謝您的幫助。這適用於「AND」,但「OR」又如何? – teepee

+0

對於OR,您將使用任何而非全部。 –