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

 我来答
Solomon博士
推荐于2017-11-23 · 回首三燕追故事,不问佛禅问三思
Solomon博士
采纳数:146 获赞数:585

向TA提问 私信TA
展开全部
呵呵,我也不知道有没有这个函数,但我认为用这种方法可以判断:
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函数是用来去除数组里重复元素的函数。
创作者Gm4zVxpWjZ
2020-04-21 · TA获得超过3万个赞
知道小有建树答主
回答量:1.3万
采纳率:28%
帮助的人:847万
展开全部
这个还真有,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];
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友303b813
2010-11-12 · TA获得超过1749个赞
知道小有建树答主
回答量:438
采纳率:0%
帮助的人:564万
展开全部
我个人不知道有没直接的函数,但这样也应该可行,就是先排序,在判断差异,有差异为0的就是有相同元素
a=[1 3 4 6 8 0 3 2];
b=sort(a);
c=diff(b);
d=find(c==0);
if (length(d))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
书宬
2010-11-12 · TA获得超过7859个赞
知道大有可为答主
回答量:2125
采纳率:75%
帮助的人:3548万
展开全部
a=[1 2 3 4 5];
b=[3 1 4 9 8];
intersect(a,b)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式