How can I generate random numbers

I have along data series which contains 3451 elements. From this I want to select 1/3 rd of the elements for validation purpose and the remaining for test. How can I randomly make the selection randomly? Thanks .

 Akzeptierte Antwort

Image Analyst
Image Analyst am 14 Apr. 2013
Bearbeitet: Image Analyst am 14 Apr. 2013

0 Stimmen

Use randperm(), as this demo illustrates:
% Define the number of elements to use.
numberOfElements = 3451;
oneThird = int32(floor(numberOfElements / 3));
% Get all the indexes scrambled in a random order.
randomOrder = int32(randperm(3451));
% Select a third of them for "Validation."
indexesForValidation = randomOrder(1:oneThird);
% Select the remainder of them for "testing."
indexesForTesting = randomOrder(oneThird+1:end);

4 Kommentare

Ede gerlderlands
Ede gerlderlands am 14 Apr. 2013
Thank you...
Ede gerlderlands
Ede gerlderlands am 14 Apr. 2013
Sorry I think Index for testing doesn't seems to work for me.
Image Analyst
Image Analyst am 14 Apr. 2013
Bearbeitet: Image Analyst am 14 Apr. 2013
I fixed a small bug. Try it now.
Ede gerlderlands
Ede gerlderlands am 14 Apr. 2013
yes , it works tnx.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Random Number Generation finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by