# choose some random number from the given number matlab

1 view (last 30 days)
Matlab111 on 28 Jul 2014
Edited: Patrik Ek on 28 Jul 2014
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 on 28 Jul 2014
Edited: Patrik Ek on 28 Jul 2014
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.
Matlab111 on 28 Jul 2014
wow nice thank you

### Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

### Tags

No tags entered yet.

### Community Treasure Hunt

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

Start Hunting!