How can I create a vector of 10 random numbers?

184 views (last 30 days)
Ben
Ben on 22 Oct 2012
I am looking to create a vector of 20 random numbers and then use 10 othjer random numbers to replace 10 of the data points with NaN

Answers (2)

Thomas
Thomas on 22 Oct 2012
Edited: Thomas on 22 Oct 2012
IS this what you need
A=rand(20,1) % 20 random numbers use rand or randn
b=randi(20,10,1) % randomly choose 10
A(b)=NaN % replace those 10 chosen above with NaN's

Kye Taylor
Kye Taylor on 22 Oct 2012
If you use an approach like
x = rand(20,1);
idx = randi(20,10,1);
x(idx) = NaN,
you may replace less than ten numbers since there may be repeated integers in idx.
If you need to replace exactly 10 numbers every single time, try
x = rand(20,1);
idx = randperm(20);
x(idx(1:10)) = NaN;

Community Treasure Hunt

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

Start Hunting!