generating random values from another matrix with a random value in rows only

1 view (last 30 days)
HASAN AL-KAF
HASAN AL-KAF on 12 Sep 2017
Edited: James Tursa on 12 Sep 2017
Hi I have this code
X = rand(113,401); % sample matrix
% generate random indices and use them to pull values from A
B = X(round(rand(11300,401)*(numel(X)-1))+1);
but i want only exchange randomly in the row so value in row 1 in X can go randomly in any rows in B matrix only not in any column of B matrix

Accepted Answer

James Tursa
James Tursa on 12 Sep 2017
Edited: James Tursa on 12 Sep 2017
Is something like this what you want? Randomly distributed values from X but staying in same column?
X = whatever
rows = desired number of rows of the result B
[M,N] = size(X);
B = X(bsxfun(@plus,randi(M,rows,N),M*(0:N-1)));

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!