MATLAB Answers

change order of a row vector

3 views (last 30 days)
I am trying to change the order of a vector [ 1 2 3 4 5 6] into [ 3 4 5 1 2 6] while using a determinative vector B=[ 3 4 5],
but when I run the code I get a vector [3 4 5 2 1 6];
x == num
for i = 1:length(B)
if isequal(B(i),num(i)) == 0
tmp = num(i);
num(i) = num(B(i));
num(B(i)) = tmp;
end
end

  2 Comments

madhan ravi
madhan ravi on 30 May 2020
Is B a subset of the vector always?
Ismail Güclü
Ismail Güclü on 30 May 2020
B shall show you the position from x

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 30 May 2020
Edited: madhan ravi on 30 May 2020
ix = setdiff(1:numel(vector), B);
Wanted = [vector(B), vector(ix)]

  2 Comments

madhan ravi
madhan ravi on 30 May 2020
Wow just realised sir Walter answered it after reading the activity feed. I acknowledged the generosity sir Walter. Thank you!
Ismail Güclü
Ismail Güclü on 30 May 2020
I dont know why but his comment disappeared ...

Sign in to comment.

More Answers (0)


Translated by