How can I create a vector of 10 random numbers?

167 visualizzazioni (ultimi 30 giorni)
Ben
Ben il 22 Ott 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

Risposte (2)

Thomas
Thomas il 22 Ott 2012
Modificato: Thomas il 22 Ott 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 il 22 Ott 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;

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by