swap only 2 elements in an array
41 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Erik Lee
am 13 Okt. 2015
Beantwortet: Mohammed
am 27 Mai 2023
I'm try to come up with a function that can randomly swap 2 elements (and only 2 at a time) from an array of 20 unique numbers.
Say a=randperm(20) a=[4 1 9 13 5 20 19 ....] would become anew=[19 1 9 13 5 20 4 ....]
0 Kommentare
Akzeptierte Antwort
Star Strider
am 13 Okt. 2015
This works:
a=[4 1 9 13 5 20 19]
a([1 7]) = a([7 1])
a =
4 1 9 13 5 20 19
a =
19 1 9 13 5 20 4
6 Kommentare
Weitere Antworten (2)
Guillaume
am 13 Okt. 2015
a = randperm(20)
swapidx = randperm(numel(a), 2);
a(swapidx) = a(fliplr(swapidx))
0 Kommentare
Mohammed
am 27 Mai 2023
if the array is 2D ( two dimantion ) you can use this and get it how it work
a=[10 20
30 40 ]
%For swapping number in Array 2D
%[10 is a 1] & [30 is 2] & [20 is a 3] & 40 is a 4
a([2 3])=a([3 2])
OUTPUT:
a =
10 20
30 40
a =
10 30
20 40
0 Kommentare
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!