Generate random integer
6 views (last 30 days)
Show older comments
Hi,
Can anyone help me to generate several strings of random integer ? In each string, there must be 5 integers generated which the number are in between 1 and 484. let say i wanna have 5 strings of the number. below is the example of the matrix that i need.
random number = [ 4 56 32 75 103; 47 84 302 400 27; 96 187 255 33 14; 387 293 135 34 73; 165 243 93 142 65 ]
Thanks in advanced.
nurul
0 Comments
Accepted Answer
Walter Roberson
on 22 Mar 2011
ceil(484 * rand(5,5))
Note that this has the possibility of generating the same number multiple times. There are slightly different techniques if you require them to be unique along rows or columns.
2 Comments
Walter Roberson
on 22 Mar 2011
The technique that is often used to satisfy uniqueness is to use randperm() to select the elements. Roger Stafford has a much more efficient technique, though; unfortunately I don't understand his algorithm. See for example http://www.mathworks.com/matlabcentral/newsreader/view_thread/149228
I do not recall at the moment the techniques for ensuring that values are unique in both their row and column and yet allowing the value to occur in a different place in the matrix. If the value has to be unique throughout the entire matrix then you just do it like the row or column case and then reshape the result.
More Answers (1)
Sahan
on 19 Mar 2013
you can use randint function
test = randint(5,5,[1 484])
1 Comment
Walter Roberson
on 19 Mar 2013
Note that randint() is part of the Communications Toolbox, and will be removed in the future; randi() is the recommended replacement.
See Also
Categories
Find more on Characters and Strings 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!