Matlab:删除数组中重复的连续值

3

我有一个数组

Y=[618 1 631 618 631 618 631 631 631 618 631 627 631 631]

我想将其转换为:

[618 1 631 618 631 618 631 618 631 627 631]

我已经使用过这段代码。
[~,index] = unique(Y,'first');       
Y(sort(index))

但是答案是不同于我想要的结果。

ans = 618 1 631 627

你能帮我吗?


1
你能解释一下这是什么编程语言吗? - Louen
抱歉,这是Matlab相关的内容:我已经添加了标签。 - Ely
1个回答

5
这个怎么样?(我真的认为这是一个重复的问题,但我没有找到一个标题类似的问题-我相信内容在某处出现过)
NewY = Y([1,diff(Y)]~=0)

NewY =  
618 1 631 618 631 618 631 618 631 627 631

您可以通过以下方式在表示法中节省一个字节:
NewY = Y(~~[1,diff(Y)])

如@AndrasDeak所建议的:D


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接