Move element to the end of the vector.
Show older comments
Hi there.
I am trying to create a function that moves every element of 'v' that is equal to 'a' to the end of the vector. Argument 'v' is the first input and it is a row-vector, while 'a' is a scalar. For example, the command
>> x = move_me([1 2 3 4],2);
makes x equal to [1 3 4 2]
So my function so far looks like this:
function w=moveme(v,a)
for ii=1:length(v)
if v(ii)==a
w=[v(v~=a) v(v==a)];
end
end
and seems to work fine. But when I add an extra component to account for the scenario in which no element equals 'a' then my function doesn't work:
for ii=1:length(v)
if v(ii)==a
w=[v(v~=a) v(v==a)];
else
w=v;
end
end
What am I missing here?
Accepted Answer
More Answers (0)
Categories
Find more on Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!