1
我需要在Matlab中比較兩個不同的數組。它將用於Yahtzee遊戲。如果我有一個包含[1 2 3 4]的數組和一個包含[1 2 3 4 5]的數組,我該如何檢查第一個數組是否包含在第二個數組中。我只需要知道一個T/F結果,而不是關於哪些元素丟失等。在Matlab中比較不同大小的數組
我需要在Matlab中比較兩個不同的數組。它將用於Yahtzee遊戲。如果我有一個包含[1 2 3 4]的數組和一個包含[1 2 3 4 5]的數組,我該如何檢查第一個數組是否包含在第二個數組中。我只需要知道一個T/F結果,而不是關於哪些元素丟失等。在Matlab中比較不同大小的數組
ismember
會做到這一點。例如:
x = [1 2 3 4]
y = [1 2 3 4 5]
all(ismember(x,y))
您也可以使用setdiff
。例如:
isempty(setdiff(x,y))
另一種選擇,
all(intersect(x,y)==x)
但ismember
可能是更有效....
感謝您的幫助! – Seldom 2013-03-18 15:59:16
謝謝... idk爲什麼你不得不採取這種模糊的路線來檢查嚴格的平等,但。 :-( – 2013-11-07 21:04:59
對於嚴格的等式,使用'isequal'或'isequalwithequalnans'。這個問題是檢查set子集。 – Pursuit 2013-11-07 23:17:44