How to randomly select sub-sets from an array?
이전 댓글 표시
Hi everyone,
May someone help me ..
I have data in text file (51360 enteries) attached here. How can I select 1000 random sub-sets consists of 48 consectuive enteries.
답변 (1개)
Rik
2020년 12월 18일
0 개 추천
- Read your data to a Matlab variable (even load might work here).
- Generate a vector of 1000 integers between 1 and 51360-48. The randi function should work for you.
- Create a vector in the opposite direction of the one in step 2 with the values 0 to 48-1. The colon operator is enough. Mind the parentheses and use .' to flip the direction if needed.
- Add the two vectors together, using implicit expansion (older Matlab releases will require bsxfun(@plus,__,__) to do this).
- Use the resulting array to index into your loaded data. Depending on what you did in step 2 and 3, either each row or each column will be a sample.
댓글 수: 5
aa
2020년 12월 18일
Rik
2020년 12월 18일
Why would this not work? The values in the array itself don't matter at all if you just want to sample from them.
"48 points before and after", so you actually want 87 consecutive values from the list?
If you follow these steps you will get a 48 by 1000 array with values from your original file. Try it. If you have issues implementing one of these steps, show the code you tried and explain why it didn't do what you needed it to do.
aa
2020년 12월 18일
Rik
2020년 12월 18일
Try it. If you have issues implementing one of these steps, show the code you tried. It is not hard. You can do it. Just follow the steps I showed you. Is there any step you don't understand?
aa
2020년 12월 24일
카테고리
도움말 센터 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!