如何提取矩阵或数组的不同值/元素而不重复?

时间:2017-02-08 07:37:47

标签: arrays matlab matrix vector

我有一个矢量/或者它可能是数组:

A = [1,2,3,4,5,1,2,3,4,5,1,2,3]

我想从这个向量中提取现有的不同值/元素而不重复:

1,2,3,4,5
B= [1,2,3,4,5]

如何提取它?

如果您有任何帮助,我将不胜感激

2 个答案:

答案 0 :(得分:2)

试试这个,

A = [1,2,3,4,5,1,2,3,4,5,1,2,3]
y = unique(A)

B = unique(A)返回与a中相同但没有重复的值。生成的矢量按升序排序。 A可以是字符串的单元格数组。

B = unique(A,'stable')与上面的内容相同,但没有排序。

B = unique(A,'rows') returns the unique rows of A`。

[B,i,j] = unique(...)还会返回索引向量ij,以便B = A(i)A = B(j)(或B = A(i,:)A = B(j,:)

参考:http://cens.ioc.ee/local/man/matlab/techdoc/ref/unique.html

文档:https://uk.mathworks.com/help/matlab/ref/unique.html

答案 1 :(得分:0)

以下答案是正确的,但如果用户不想对数据进行排序,您可以将unique与参数stable

一起使用
A = [1,2,3,4,5,1,2,3,4,5,1,2,3]
B = unique(A,'stable')