我有兩個不同尺寸的矩陣共同的元素,例如:尋找在不同尺寸的矩陣
A = [10 12 15 16 17 43 77];
B = [10 11 15 20 43 55 222 90 86];
我想比較這兩個矩陣,找出相同的價值觀,並將其存儲在一個新的變量。結果應該是這樣的:
C = [10 15 43];
因爲我是MATLAB的新用戶,如果有人給我關於這個問題的想法,這將是很好的。提前致謝。
我有兩個不同尺寸的矩陣共同的元素,例如:尋找在不同尺寸的矩陣
A = [10 12 15 16 17 43 77];
B = [10 11 15 20 43 55 222 90 86];
我想比較這兩個矩陣,找出相同的價值觀,並將其存儲在一個新的變量。結果應該是這樣的:
C = [10 15 43];
因爲我是MATLAB的新用戶,如果有人給我關於這個問題的想法,這將是很好的。提前致謝。
如果2個數組的大小是相同的,只是做:
C = find(A==B);
它發現滿足測試A==B
所有元素;該測試是以元素方式執行的:輸出是與輸入數組的大小相同的掩碼,其中每個元素如果是A(i)==B(i)
則爲真。
對於非同等大小的數組,一個解決方法是調用該函數intersect
:
C = intersect(A,B);
這不正是你想要的東西,得到在A和B的共同價值觀注意輸出值進行排序。正如評論由excaza說,這是可能得到的共同價值觀以相同的順序按它們出現在參數(A
在這個例子中)通過了第一個數組中,通過添加選項'stable'
的號召:
C = intersect(A,B,'stable');
你想要的是類似的值是在B. A的值也在相同的位置或類似的價值? – excaza