If you have an input argument v that is a row-vector and another input a, that is a scalar. How do you have a function that moves every element of v that is equal to a to the end of the vector?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Alexandra Huff
le 9 Août 2016
Modifié(e) : Stephen23
le 6 Mai 2017
For example,
x= move ([1 2 3 4], 2), i want x to equal to [1 3 4 2]
thanks an advance
0 commentaires
Réponse acceptée
Fangjun Jiang
le 9 Août 2016
Modifié(e) : Stephen23
le 6 Mai 2017
Even more generic
a=[1 2 3 4 3 2 1]
idx=a==2
b=[a(~idx),a(idx)]
1 commentaire
Stephen23
le 6 Mai 2017
I accepted this answer as it obviously solves the problem, and does so in a very neat way.
Plus de réponses (1)
Azzi Abdelmalek
le 9 Août 2016
Modifié(e) : Azzi Abdelmalek
le 9 Août 2016
x= [1 2 3 4]
idx=2
move=@(x,ii)[x(setdiff(1:numel(x),ii)) x(ii)]
If you want to move the second number of x
out=move(x,2)
0 commentaires
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!