I would like a function to remove the duplicate values, but one that removes the duplicate value as well.

3 visualizaciones (últimos 30 días)
I would like a function to remove the duplicate values, but one that removes the duplicate value as well.
That is, if I have a vector A = [ 1 2 3 4 5 6 6 6 7], I would like to get an output equal to B = [1 2 3 4 5 7].
Note that I want to get the same order as the original vector, I don't want it to organize.
That is, if I have a vector A = [7 8 9 6 5 2 2 2 1], in the end I would like to get a vector equal to B = [7 8 9 6 5 1].

Respuesta aceptada

Matt J
Matt J el 23 de Sept. de 2021
Editada: Matt J el 23 de Sept. de 2021
USing the functions in
A = [7 8 9 6 5 2 2 2 1];
G=groupConsec(A);
[~,~,len]=groupLims(G,1);
L=len==1;
B=A(L(G))
B =
7 8 9 6 5 1
  2 comentarios
Matt J
Matt J el 24 de Sept. de 2021
Even easier:
A = [7 2 8 9 6 5 2 1 2];
G=findgroups(A);
L=accumarray(G(:),1)==1;
B=A(L(G))
B = 1×6
7 8 9 6 5 1

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by