arrays - MATLAB:比较三个数组中的所有元素

标签 arrays matlab

我有三个一维数组,其中元素是一些值,我想将一个数组中的每个元素与其他两个数组中的所有元素进行比较。

例如:

a=[2,4,6,8,12]
b=[1,3,5,9,10]
c=[3,5,8,11,15]

我想知道不同数组中是否有相同的值(在本例中有 3,5,8)

最佳答案

answer given by AB是正确的,但它特定于您要比较的 3 数组的情况。还有另一种选择,可以轻松扩展到任意数量的任意大小的数组。唯一的假设是每个单独的数组都包含唯一的(即非重复的)值:

>> allValues = sort([a(:); b(:); c(:)]);  %# Collect all of the arrays
>> repeatedValues = allValues(diff(allValues) == 0)  %# Find repeated values

repeatedValues =

     3
     5
     8

如果数组包含重复值,您将需要调用 UNIQUE在使用上述解决方案之前对它们中的每一个进行测试。

关于arrays - MATLAB:比较三个数组中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2425066/

相关文章:

matlab - 递归匿名函数Matlab

c++ - 从 2d char 数组 c++ 将字符串分配给 char 数组

c - 尝试在 C 中分配结构数组的段错误

java - Android,解析 JSON 对象

matlab - 强度归一化,matlab

matlab - 访问结构数据(matlab)

javascript - 使用另一个属性值更改数组中对象的属性值

C++ 数组初学者

matlab - 如何在没有 GUI 的情况下使用 SPM 分割脑组织?

matlab - 防止 MATLAB 打开池