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

Ely*_*Ely 3 arrays matlab duplicates

我有这个数组

Y=[618 1 631 618 631 618 631 631 631 618 631 627 631 631]
Run Code Online (Sandbox Code Playgroud)

我想把它变成:

[618 1 631 618 631 618 631 618 631 627 631]
Run Code Online (Sandbox Code Playgroud)

我用过这段代码

[~,index] = unique(Y,'first');       
Y(sort(index))
Run Code Online (Sandbox Code Playgroud)

但答案是这样的,它与我想要的结果不同.ans = 618 1 631 627

你能帮助我吗?

Gam*_*ows 5

这个怎么样?(我真的认为这是重复的,但我没有找到一个有类似标题的 - 我确定内容出现在某个地方)

NewY = Y([1,diff(Y)]~=0)

NewY =  
618 1 631 618 631 618 631 618 631 627 631
Run Code Online (Sandbox Code Playgroud)

您还可以通过执行以下操作在表示法中保存一个字节:

NewY = Y(~~[1,diff(Y)])
Run Code Online (Sandbox Code Playgroud)

正如@AndrasDeak所说:D