what should I do with rand() so that the sum of each row should not be greater than one??..

1 view (last 30 days)
I generated the random numbers from 0 to 1 as follows:
Population = rand(20,3)
now I wants that the sum of each individual row should not be greater than zero
s = sum(Population,2)
how should I restrict each row, generated with rand(), so that the its sum should be b/w 0 and 1??...
The values in each row should come as if I add them up they should not exceed one
plZ answer it.....

Answers (2)

Walter Roberson
Walter Roberson on 18 Jul 2012
  3 Comments
sani ars
sani ars on 21 Jul 2012
Edited: sani ars on 21 Jul 2012
I have tried this one i.e. randfixedsum(20,3,1,0,1)
but this is not giving me sum==1 for each individual row..
Although, the 3rd parameter of the function is set to 1 but it is not giving me the the sum exactly equal to 1 for each individual row..
Plz help me out....

Sign in to comment.


Daniel Shub
Daniel Shub on 18 Jul 2012
What about
N = 3;
Population = rand(20,N)/N
  2 Comments
Image Analyst
Image Analyst on 21 Jul 2012
Why do you say that? Just look at
theRowSums = sum(Population, 2)
and you'll see that none of the 20 rows has a sum greater than 1.
But you know, we really don't know what you want because you've said three different things!:
  1. "sum of each individual row should not be greater than zero"
  2. "sum should be b/w 0 and 1"
  3. "the sum exactly equal to 1 for each individual row."
There are three totally different things. Please, which one is it? Pick one and stick with it - don't give us a fourth definition.

Sign in to comment.

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!