matlab中的一维数组,有没有函数能够判断数组中是否含有相同的元素?

如题所述

呵呵,我也不知道有没有这个函数,但我认为用这种方法可以判断:
x1=[1 1 2 2 2 3 6 6 7 8]
x1 =
1 1 2 2 2 3 6 6 7 8
>> length(x1)-length(unique(x1))
ans =
4

如果结果为0则没有相同的元素。
其中的unique函数是用来去除数组里重复元素的函数。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-21
这个还真有,ismember,matlab中help的例子如下:
a=[1
2
3
4
5];
set
=
[5
2
4
2
8
10
12
2
16
18
20
3];
[tf,
index]
=
ismember(a,
set);
index返回a中的元素在set中出现的位置,若为0表示未找到,这个例子的结果为:
index=[0
8
12
3
1];
第2个回答  2010-11-12
我个人不知道有没直接的函数,但这样也应该可行,就是先排序,在判断差异,有差异为0的就是有相同元素
a=[1 3 4 6 8 0 3 2];
b=sort(a);
c=diff(b);
d=find(c==0);
if (length(d))
第3个回答  2010-11-12
a=[1 2 3 4 5];
b=[3 1 4 9 8];
intersect(a,b)

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网