How to select two matrices randomly from a set of N matrices and then randomly select a few rows from first selected matrix and then exchange with corresponding rows of other selected matrix.
1 view (last 30 days)
Show older comments
For example we have 10 matrices A,B,C,D,E,F,G,h,I,J and we select randomly two matrices C and H. And then Randomly select any two rows from C and exchange with corresponding rows of H.
0 Comments
Answers (2)
Andrei Bobrov
on 25 Oct 2016
For the case where the matrices have the same size:
Q = cat(3,A,B,C,D,E,F,G,H,I,J);
ii = [3,8] % C and H
n = size(Q,1);
z = 1:n;
jj = z(randperm(n,2));
M = Q(:,:,ii);
M(jj,:,:) = M(jj,:,end:-1:1);
Q(:,:,ii) = M;
2 Comments
Thorsten
on 25 Oct 2016
z = 1:n;
jj = z(randperm(n,2));
is the same as
jj = randperm(n,2);
And you don't need the temporarily variable M but can work directly on Q.
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!