Swap 3 random elements in an array
Ältere Kommentare anzeigen
How do I randomly swap three elements in an array? The element at selected position one will be moved to selected position two, the previous element at selected position two will be moved to position three, and the element at position three will be moved to selected position one.
For example: a=[4 2 3 1 5 7 6] would become anew=[4 2 6 1 3 7 5]
Thank you
Akzeptierte Antwort
Weitere Antworten (1)
KALYAN ACHARJYA
am 20 Aug. 2018
Bearbeitet: KALYAN ACHARJYA
am 20 Aug. 2018
% I have tried this only swap two elements or even numbers, definite swap with each other is only possible in even numbers.
a=randperm(7)
idx=randperm(3);
a(idx)=a(fliplr(idx))
I have tried in another way, you can do that
a=randperm(7)
n=randi(5);
new_array=a(:,:);
new_array([n n+1 n+2])=a([n+2 n n+1])
4 Kommentare
Amine Ne
am 20 Aug. 2018
KALYAN ACHARJYA
am 20 Aug. 2018
Wait I am doing, there is little an issue.
KALYAN ACHARJYA
am 20 Aug. 2018
I have added (Edited answer) another way, pls try, if OK pls confirm it
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!