MATLAB: Change order of a row vector

baseslinear optimization

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

Best Answer

ix = setdiff(1:numel(vector), B);
Wanted = [vector(B), vector(ix)]
Related Question