【发布时间】:2014-09-03 14:31:57
【问题描述】:
我想在 MATLAB 中逐个元素地比较多个数组;如果它们在任何位置相等,则增加计数。 (即整个数组不必相等,只要比较第一次发现元素相等就足够了。例如A=[1 2 3],B=[4 2 5],这里的位置2相等。)
我试过isequal(A,B):比较所有元素并返回计数1或0;
但是isequal(A[i], B[i]); 不能将数字逐个元素地进行比较。
你能建议任何解决方案吗..
【问题讨论】:
-
你的意思是:
find(A==B, 1, 'first')? -
你能举一个三个数组的例子吗?你如何拥有这些多个数组?它们是矩阵行吗?
-
例如:A=[1 2 9] B=[4 5 9] C=[7 8 9];这里所有数组的长度相同,并且在索引 3 处它们是相等的。它们是行
-
@jagan: 好的,如果你有多个数组,将它们连接为矩阵行,然后使用:
find(all(diff([A;B;C])==0), 1, 'first')(类似于 LuisMendo 在下面显示的内容)。这将返回索引3
标签: arrays matlab compare equality