如何提取具有多个条目的数组中的元素?

Pet*_*ete 10 arrays matlab

我有一个包含单调增加数据或重复的大向量,看起来像这样:

data = [0 1.1 2.2 3.3 4.4 4.4 4.4 4.4 5.5 6.6 6.6 6.6 7.7];
Run Code Online (Sandbox Code Playgroud)

在这个数据集中,我对重复的条目感兴趣(在这种情况下,4.46.6).我有一个笨重的解决方案来提取这些值,但我觉得MATLAB应该有一个单行解决方案来提取结果,如

result = [4.4 6.6];
Run Code Online (Sandbox Code Playgroud)

the*_*alk 13

实际上没有必要组合uniquediff足够find.

out = unique(data(~diff(data)))
Run Code Online (Sandbox Code Playgroud)


gno*_*ice 6

这是使用just hist和indexing 的另一个选项:

result = data(hist(data, data) > 1);
Run Code Online (Sandbox Code Playgroud)