How can I use "datasample" to get multiple samples without a loop?

13 views (last 30 days)
How can I create "n" samples of size "k" using "datasample" without needing a "for" loop?
To access detailed documentation on the "datasample" function, execute the following command in MATLAB R2020b:
>> web(fullfile(docroot, 'stats/datasample.html'))
For example, if I want to sample from a 500 element vector in samples of 20, but do that 30 times, I've got to create a loop from i=1:30 with "datasample" inside that loop.

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 24 Jan 2025
Edited: MathWorks Support Team on 4 Feb 2025
To create multiple samples of a certain size, you can use the "reshape" command after generating all the values needed. For example:
>> x = rand([500,1]); >> sampleSize = 20; >> numSamples = 30; >> y = datasample(x, sampleSize * numSamples); >> z = reshape(y, [numSamples, sampleSize]);
To access the documentation for "reshape," execute the following command in MATLAB R2020b:
>> web(fullfile(docroot, 'matlab/ref/reshape.html'))
Please follow the link below to search for the required information regarding the current release:

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Tags

No tags entered yet.

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!