MATLAB: How to change the elements’s position of a vector by N consecutive times

MATLABpermute in matlab

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

Best Answer

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)));