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

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Image Analyst
Image Analyst il 7 Dic 2017
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)));

Più risposte (0)

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by