MATLAB: Swap only 2 elements in an array arrayrandom 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 ….] Best Answer This works:a=[4 1 9 13 5 20 19]a([1 7]) = a([7 1])a = 4 1 9 13 5 20 19a = 19 1 9 13 5 20 4 Related SolutionsMATLAB: Created random sequence based on predefined vector v = repelem(SP,Y);W = v(randperm(numel(v))) % numel(W) MATLAB: Swapping 2 random array elements and picking subsequent array pairs pair = randperm(length(a), 2);anew = a;anew(pair) = anew(fliplr(pair));Msum = sum( M(sub2ind([27, 27], anew(1:end-1), anew(2:end))) ); Related QuestionHow to get the maximum of repetitive elements in certain portions of a matrixRandom selection of n values from a vector – which function should I useI have a vector which contain 23 elements.i wanna choose 20 elements among this 23 elements randomly.how can i do thisHi , i have a matrix and need to extract the column in this way , thank youHow to randomly swap 2 elements in an arrayPermutation of only x elements of a vector
Best Answer