how to generate floating points randomly????

Hello! i am new in matlab and need help, as em writing code for generating matrix of size 20-by-4. rowsize=20, colsize=4 and need to generate between [0 1], suppose i want matrix having random values like [0.25 0.5 0.05 0.20] and so on.... but when i run my code then it returns me 20-by-4 matrix of 0's and 1's.....which function i should use to get required results...please help and thanks in advance..
{ matrix_rand=randint(rowsize, colsize, [0 1]); it returns
1 0 0 0
1 1 1 0
1 1 0 1
0 0 0 0
0 1 0 0
1 1 1 1
0 1 0 0
1 1 0 0
1 1 1 0
0 0 0 1
1 1 0 1
1 0 1 1
1 0 0 1
1 0 0 0
1 1 1 0
0 1 0 1
1 0 0 1
0 0 0 1
1 1 0 0
but when i write rand(), then it returns nothing

 Accepted Answer

matrix_rand = rand(rowsize, colsize);

5 Comments

Sory, i should elaborate my problem clearly.... i also want that sum of each row should be "1" suppose[0.25 0.5 0.05 0.20], if add these values then i get '1'... plz help me how should i give the limits also.....
hello David, plz help me to resolve problem..... thanx
You can make the sum of each row add to 1 like this:
matrix_rand_normalised = bsxfun(@rdivide, matrix_rand, sum(matrix_rand,2))
Please do *not* use the normalization method! It leads to bias in the generated numbers! Use Roger Stafford's method instead.
Yes! I have done my work with Roger Stafford's method ... and got results...Thanx both of you guys for suggestions....

Sign in to comment.

More Answers (1)

Roger Stafford has a MATLAB File Exchange contribution for generating random numbers with a fixed sum. See http://www.mathworks.com/matlabcentral/fileexchange/9700-random-vectors-with-fixed-sum

1 Comment

Thanks sooooo much... i got it... it will help me for sure

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!