# Generating random numbers within a range determined by elements in another array

2 Ansichten (letzte 30 Tage)
Ray am 21 Mai 2013
Hello,
I was wondering if there is an efficient way to generate a random integer within a range depending on an element in another array. Perhaps a small example will explain better:
1 must generate a random number in [3 7];
2 must generate a random number in [1 3];
3 must generate a random number in [44 66]
So for the vector [3 1 2] I would want to get another vector [59 4 2], for example.
I was thinking of using arrayfun to do this but I don't know if there is a more efficient way?
Any help/advice would be greatly appreciated.
Thanks
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Iain am 21 Mai 2013
Bearbeitet: Andrei Bobrov am 22 Mai 2013
Array = [3 7; 1 3; 44 66];
NewRandom = roundingfunctionofchoice(rand(size(i)).*(Array(i,2)-Array(i,1)) + Array(i,1));
If you set i = [3 1 2], you'll get what you want.
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Ray am 22 Mai 2013
Thanks! I tested this on a huge example and it was very efficient, better than my use of for-loops/while-loops.

Melden Sie sich an, um zu kommentieren.

### Weitere Antworten (1)

Image Analyst am 21 Mai 2013
Did you look at the help for rand() and notice the first example? Here it is:
Example 1
Generate values from the uniform distribution on the interval [a, b]:
r = a + (b-a).*rand(100,1);
Basically it all comes down to that. Do that 3 times with different a and b depending on what the 3 numbers are. Is this homework?
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Ray am 22 Mai 2013
I am familiar with the rand function. I was looking more for a compact/efficient approach to achieving the random number generation based on differing ranges, unique to each element in the first array (see accepted answer above).

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Noncentral t Distribution finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by