How to change the positions of elements in a vector?

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

Thanks but then how can I move them to end? It is a long vector I can not do this one by one..
The answer by Guillaume works. I would not have done it As elegantly as that answer

Iniciar sesión para comentar.

Categorías

Etiquetas

Preguntada:

el 15 de Mayo de 2017

Comentada:

el 15 de Mayo de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by