MATLAB:比较所有元素三个数组 [英] MATLAB: comparing all elements in three arrays

查看:549
本文介绍了MATLAB:比较所有元素三个数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有三个一维数组元素的地方都是一些价值观,我想每一个环节都在一个阵列中比较两个其他所有元素。

I have three 1-d arrays where elements are some values and I want to compare every element in one array to all elements in other two.

例如:

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

我想知道是否有不同的阵列(在此情况下,有3,5,8)

I want to know if there are same values in different arrays (in this case there are 3,5,8)

推荐答案

的<一个href=\"http://stackoverflow.com/questions/2425066/matlabcomparing-all-elements-in-three-arrays/2425911#2425911\">answer由AB 给出是正确的,但它是针对特定的情况下,当你有 3 阵列您要比较。还有另外一种选择,可以轻松扩展到任意数量的任意大小的阵列。唯一的假设是,每个单独的阵列包含唯一的(即非重复的)值:

The answer given by AB is correct, but it is specific for the case when you have 3 arrays that you are comparing. There is another alternative that will easily scale to any number of arrays of arbitrary size. The only assumption is that each individual array contains unique (i.e. non-repeated) values:

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

repeatedValues =

     3
     5
     8

如果数组包含重复的值,你就需要调用 UNIQUE 他们每个人之前,使用上述溶液。

If the arrays contains repeated values, you will need to call UNIQUE on each of them before using the above solution.

这篇关于MATLAB:比较所有元素三个数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆