random number generator

3 vues (au cours des 30 derniers jours)
lhyin5277
lhyin5277 le 27 Nov 2011
hi...
Can i know how to create a vector with specific number of 1 value? Example i have 5 x 1 matrix, then i want to assign value 1 randomly, but i only want 3 numbers or less of 1's in that matrix..
such as: 1 0 1 1 0
or 0 1 1 0 0
Thanks

Réponse acceptée

Junaid
Junaid le 27 Nov 2011
Yes you can do it for non repeating randoms. One possible way is which chandra suggested above. But if you want to avoid loops then it is simple. I will generate population of 10 x 15 and. and randomly on each colum 5 values will be zero, other then 1.
population =ones(10,15); % your population
myrand=randperm(10); % random indexes
population(myrand(1:5),:) = 0; % out 10, each 5 fill be replace. This is total random.
  1 commentaire
lhyin5277
lhyin5277 le 27 Nov 2011
Thanks..

Connectez-vous pour commenter.

Plus de réponses (1)

Junaid
Junaid le 27 Nov 2011
Let say you have matrix A of 5x1. And you want three of them to be one number. So generate three number
r = round( rand(3,1) * 3 ); % r will have random number between 0-3
now
A(r) = 1; % let say you want to them to be 1
Remember that in random number you can get repeating as well.
  1 commentaire
lhyin5277
lhyin5277 le 27 Nov 2011
how about i want to create a population (10 x 15 matrix) and i want a random generate number of 1's which not more than 5 in each column? Can i make it with no repeating?
Sorry, i new in matlab..

Connectez-vous pour commenter.

Catégories

En savoir plus sur Creating and Concatenating Matrices 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