MATLAB Answers

0

How to change the elements's position of a vector by N consecutive times?

I want a loop that executes at one time only several combinations.
x = [1 2 3 4 5];
xp = randperm(numel(x), 2);
x(xp) = x(fliplr(xp))
>> test
x =
1 2 4 3 5
>> test
x =
1 3 2 4 5

  0 Comments

Sign in to comment.

Products

1 Answer

回答者: Image Analyst
2017 年 12 月 7 日
 採用された回答

Can't you simply use a for loop???
for k = 1 : N
test
end
or you can use deal to do the swapping of indexes:
[x(xp(1)), x(xp(2))] = deal(x(xp(2)), x(xp(1)));

  1 Comment

vinicius lanziotti 2017 年 12 月 7 日
ok. Thanks very much!

Sign in to comment.