Random numbers from array

조회 수: 13 (최근 30일)
Mohammad
Mohammad 2015년 11월 7일
댓글: Walter Roberson 2024년 7월 14일
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.

채택된 답변

Geoff Hayes
Geoff Hayes 2015년 11월 7일
편집: Geoff Hayes 2015년 11월 7일
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
Yasir Khan
Yasir Khan 2024년 7월 14일
will these indices be unique?
Walter Roberson
Walter Roberson 2024년 7월 14일
The output of randperm() will be unique values.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by