How can I create a vector of 10 random numbers?

93 vues (au cours des 30 derniers jours)
Ben
Ben le 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

Réponses (2)

Thomas
Thomas le 22 Oct 2012
Modifié(e) : Thomas le 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 le 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;

Catégories

En savoir plus sur Random Number Generation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by