how can I remove similar numbers that FOLLOW ?

2 次查看(过去 30 天)
Hello everybody,
I need your help about a small problem : I try to remove repetitions of a vector (only repetitions that follow!). There is a lot of help on the web in relation to this kind of problem, especially with the unique function but unfortunately it does not respond to my request.
I explain:
I have for example a vector x = [2 2 2 1 1 4 4 4 4 4 3 3 3 3 2 2 2 2 1 1 2 1 1 1] I want to get: y = [2 1 4 3 2 1 2 1] and not y = [2 1 4 3] as the unique function gives me (sorted or not). I want to remove only the repetitions that are follow and not all the duplicates ...
Do you have an idea without necessarily a function?
Thank you very much for your help,
DK

回答(3 个)

Miroslav Balda
Miroslav Balda 2013-2-26
This code works:
y=x([x(2:end),0]~=x(1:end));

MichMichel
MichMichel 2013-2-26
thanks a lot ;)

MichMichel
MichMichel 2013-2-26
it's not work but i found that :
rep=diff(find(diff([-Inf x Inf])));
val=x(cumsum(rep));

类别

Help CenterFile Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by