How can I select randomly?
1 回表示 (過去 30 日間)
古いコメントを表示
Hello, I have an 10000 rows and 10 columns matrix. I want to select randomly 500 rows from this matrix. I want to ask you, randperm function is true for this purpose. How can I select 500 rows randomly from this matrix?
0 件のコメント
採用された回答
Jos (10584)
2012 年 12 月 12 日
Random can be defined in two ways:
% A is your original matrix
Nrows = size(A,1) ; % number of rows
% Option 1: randomly select 500 UNIQUE(!) rows
idx = randperm(Nrows) ;
idx = idx(1:500) ;
% Option 2: randomly select 500 rows
idx = randi(Nrows,[Nrows 1]) ;
% and then ...
B = A(idx,:) ;
2 件のコメント
その他の回答 (1 件)
Jan
2012 年 12 月 12 日
編集済み: Jan
2012 年 12 月 12 日
M = rand(10000, 10);
index = randperm(10000, 500); % In modern Matlab versions
R = M(index, :);
In older Matlab versions randperm does not accept a 2nd input. Then:
index = randperm(10000);
index = index(1:500);
index = Shuffle(10000, 'index', 500)
7 件のコメント
Matt Fig
2012 年 12 月 14 日
Apparently saying, "M is your original matrix" would have made all the difference ;-).
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!