random number generator

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

 采纳的回答

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 个)

Junaid
Junaid 2011-11-27

1 个投票

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 个评论

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..

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Random Number Generation 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by