我有这个数组

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))

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

你能帮助我吗?

最佳答案

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

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

关于arrays - Matlab:删除数组中重复的连续值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36089330/

10-12 19:53