choose some random number from the given number matlab

2 次查看(过去 30 天)
a=[0.1,0.1,0.1,0.2,0.3];
from this i want to choose some random number
Note: answer may be like "a=0.1,0.2"

采纳的回答

Patrik Ek
Patrik Ek 2014-7-28
编辑:Patrik Ek 2014-7-28
Ok, I assume that the example "a=[1 1 2 4 5 1 1 1]; than the answer should be b= 1 3 1" had a typo and that you want to randomly select a number of samples from a vector a. This is how I normally do it.
a=[0.1,0.1,0.1,0.2,0.3];
nSamples = 3;
tmp = rand(size(a));
[~,idx] = sort(tmp);
idx = idx(1:nSamples);
b = a(idx);
clear tmp;
This creates a vector of randomly generated numbers, from an uniform distribution and when sorted, the random numbers will be linearly increasing and the original indices will be uniformly distributed.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Random Number Generation 的更多信息

标签

尚未输入任何标签。

Community Treasure Hunt

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

Start Hunting!

Translated by