How to randomly select variable from the range of numbers ?
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Azzi Abdelmalek
2012-10-26
a=[1:1:100]
out=a(randi(100,1,5))
5 个评论
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))
更多回答(2 个)
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));
0 个评论
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)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!