Filter löschen
Filter löschen

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?

1 Ansicht (letzte 30 Tage)
For example,
x= move ([1 2 3 4], 2), i want x to equal to [1 3 4 2]
thanks an advance

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 9 Aug. 2016
Bearbeitet: Stephen23 am 6 Mai 2017
Even more generic
a=[1 2 3 4 3 2 1]
idx=a==2
b=[a(~idx),a(idx)]

Weitere Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 9 Aug. 2016
Bearbeitet: Azzi Abdelmalek am 9 Aug. 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)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by