필터 지우기
필터 지우기

How to randomly select variable from the range of numbers ?

조회 수: 3 (최근 30일)
Karthik KJ
Karthik KJ 2012년 10월 26일
Hi,
I have a variable
a=[1:1:100]
I would like to select from the variable a , 5 values randomnly every time. Eg 10 15 67 89 99.
Is there any way to do it in simple rather than using a for loop.
Appreciate the help

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2012년 10월 26일
a=[1:1:100]
out=a(randi(100,1,5))
  댓글 수: 5
Azzi Abdelmalek
Azzi Abdelmalek 2012년 10월 26일
편집: Azzi Abdelmalek 2012년 10월 26일
in case it can't be repeated
[~,idx]=sort(rand(1,100))
out=a(idx(1:5))
Karthik KJ
Karthik KJ 2012년 10월 26일
Thank you

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

추가 답변 (2개)

Andrei Bobrov
Andrei Bobrov 2012년 10월 26일
편집: Andrei Bobrov 2012년 10월 26일
a = 1:100;
ii = randperm(numel(a));
out = a(ii(1:5));
or
[ii,ii] = sort(rand(1,numel(a)));
out = a(ii(1:5));
or
out = a(randperm(numel(a),5));

Wayne King
Wayne King 2012년 10월 26일
편집: Wayne King 2012년 10월 26일
idx = randperm(length(a));
idx = idx(1:5);
a(idx)
or if you have the newest version of MATLAB
idx = randperm(length(a),5);
a(idx)

카테고리

Help CenterFile Exchange에서 Mathematics에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by