Info
This question is closed. Reopen it to edit or answer.
randomly picking from a series of elements
1 view (last 30 days)
Show older comments
Hello everybody, need help to pick random elements from a series of data. Please help!
In fact I have a Matrix with three column containing 7000 lines and I want to pick only 500 lines randomly what function should I use? Thank you.
1 Comment
Answers (2)
Roger Stafford
on 11 Dec 2014
To avoid repetitions you can do the following. Let M be the array with 7000 rows from which you wish to select 500 at random.
M2 = M(randperm(7000,500),:);
If you want the rows to still be in the same order as they were in M, do this instead:
M2 = M(sort(randperm(7000,500)),:);
0 Comments
Guillaume
on 11 Dec 2014
m = repmat((1:7000)', 1, 3); %matrix with 7000 lines, 3 columns for demo
rows = randi(size(m, 1), 1, 500); %select 500 random integers between 1 and the number of lines in m
randrows = m(rows, :); %get these rows
2 Comments
Image Analyst
on 11 Dec 2014
Wajdi's 'Answert" moved here:
Many thanks I will try this command lines. I'd like to ask if possible to read the data from excel work sheet or how can I get my data from excel?
Wajdi, unless you're giving and answer to your original question, just add a "Comment" to the person you are replying to.
Guillaume
on 11 Dec 2014
Actually, Roger is right, my answer can repeat some rows, so use (and accept) his answer.
As for the bit about excel, start a new question as it has nothing to do with the original question.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!