How to Shuffle some arrays of a matrix? (permutataion matrix considered)
1 view (last 30 days)
Show older comments
alexaa1989
on 12 Aug 2014
Commented: omar A.alghafoor
on 10 Oct 2020
for shuffling I have this codes so far
nVar=length(x);
cc=randsample(nVar,2);
c1=min(cc)
c2=max(cc)
now I need to shuffle arrays between C1 and C2 without having a number twice. each number has to appear only once
2 Comments
Adam
on 12 Aug 2014
What do you expect to happen to the data outside of the C1 to C2 range? Are the arrays in question ordered so that data between C1 and C2 will always be contiguous and everything else in the array stays where it is?
The 'unique' function will get rid of duplicates for you.
Accepted Answer
Andrei Bobrov
on 12 Aug 2014
n = numel(x);
c = sort(randsample(nVar,2));
r = c(1)+1:c(2)-1;
z = x(r);
x(r) = z(randperm(diff(c)-1));
2 Comments
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!