
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函数是用来去除数组里重复元素的函数。
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函数是用来去除数组里重复元素的函数。
展开全部
这个还真有,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];
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];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我个人不知道有没直接的函数,但这样也应该可行,就是先排序,在判断差异,有差异为0的就是有相同元素
a=[1 3 4 6 8 0 3 2];
b=sort(a);
c=diff(b);
d=find(c==0);
if (length(d))
a=[1 3 4 6 8 0 3 2];
b=sort(a);
c=diff(b);
d=find(c==0);
if (length(d))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=[1 2 3 4 5];
b=[3 1 4 9 8];
intersect(a,b)
b=[3 1 4 9 8];
intersect(a,b)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询