Random numbers from array

13 Ansichten (letzte 30 Tage)
Mohammad
Mohammad am 7 Nov. 2015
Kommentiert: Walter Roberson am 14 Jul. 2024
Suppose I have the following array A=[2,1,5,6,20,55,6,9,100,1000,325,2301] which contains distinct numbers I want to select for example four elements from the array randomly and then delete them from the original array. For example if the selected numbers were 20,2,9,325 so the new array R=[20,2,9,325] and A=the remaining elements.

Akzeptierte Antwort

Geoff Hayes
Geoff Hayes am 7 Nov. 2015
Bearbeitet: Geoff Hayes am 7 Nov. 2015
Mohammed - just use randperm to generate four random numbers that you can use as indices into your array. Try the following
% generate the four random indices
randIdcs = randperm(length(A),4);
% initialize R to be the four numbers of A
R = A(randIdcs);
% remove those four numbers from A
A(randIdcs) = [];
If order is important, then just sort the output of randperm
randIdcs = sort(randperm(length(A),4));
  2 Kommentare
Yasir Khan
Yasir Khan am 14 Jul. 2024
will these indices be unique?
Walter Roberson
Walter Roberson am 14 Jul. 2024
The output of randperm() will be unique values.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help 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