How to change the positions of elements in a vector?

8 visualizaciones (últimos 30 días)
federico moro
federico moro el 15 de Mayo de 2017
Comentada: kowshik Thopalli el 15 de Mayo de 2017
Hi all, I need to find all the components of a vector that are equal to 3 and move them at the end of the vector. Any suggestion? Thanks

Respuestas (2)

Guillaume
Guillaume el 15 de Mayo de 2017
v = [v(v ~= 3), v(v == 3)]; %assuming a row vector. If column vector replace , by ;

kowshik Thopalli
kowshik Thopalli el 15 de Mayo de 2017
Using the find() function you can do this very easily.
[R,c]= find(myVector==3)
This gives you the positions of the elements which are equal to 3. Once you have this you can easily reorder. Hope this helps
  2 comentarios
federico moro
federico moro el 15 de Mayo de 2017
Thanks but then how can I move them to end? It is a long vector I can not do this one by one..
kowshik Thopalli
kowshik Thopalli el 15 de Mayo de 2017
The answer by Guillaume works. I would not have done it As elegantly as that answer

Iniciar sesión para comentar.

Categorías

Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by