2013-03-15 128 views
1

我需要在Matlab中比較兩個不同的數組。它將用於Yahtzee遊戲。如果我有一個包含[1 2 3 4]的數組和一個包含[1 2 3 4 5]的數組,我該如何檢查第一個數組是否包含在第二個數組中。我只需要知道一個T/F結果,而不是關於哪些元素丟失等。在Matlab中比較不同大小的數組

回答

4

ismember會做到這一點。例如:

x = [1 2 3 4] 
y = [1 2 3 4 5] 
all(ismember(x,y)) 

您也可以使用setdiff。例如:

isempty(setdiff(x,y)) 
+0

感謝您的幫助! – Seldom 2013-03-18 15:59:16

+0

謝謝... idk爲什麼你不得不採取這種模糊的路線來檢查嚴格的平等,但。 :-( – 2013-11-07 21:04:59

+0

對於嚴格的等式,使用'isequal'或'isequalwithequalnans'。這個問題是檢查set子集。 – Pursuit 2013-11-07 23:17:44

0

另一種選擇,

all(intersect(x,y)==x) 

ismember可能是更有效....