# Making combinations using random number generators

17 views (last 30 days)
hamzah khan on 28 Aug 2020
Hello,
I have this vector
x0 = [1;88;88;2;2;2;2;2;-88;2]
Right now I change the values in this vector manually making combinations, I am looking for a random number generator which will generate combinations of numbers on these 10 slots, like a combination of 10 numbers from 0 till infinity, numbers can be decimals or integers as well or a combination of both
x0 = [x1;x2;x3;x4;x5;x6;x7;x8;x9;x10]
Does anyone knows how it can be done?
I have to use this vector elsewhere in the code...

Rafael Hernandez-Walls on 28 Aug 2020
In general, you can generate N random numbers in the interval (a,b) with the formula:
r = a + (b-a).*rand(N,1)
hamzah khan on 28 Aug 2020
Hi, how can i make it run in a loop, so at each iteration I get a new combination

Rafael Hernandez-Walls on 29 Aug 2020
N=input('give me number of random elements:');
a=input('lower limit of the numbers to generate:');
b=input('upper limit of the numbers to generate:');
M=input('How many arrangements do you want to generate ?:');
r=zeros(N,M);
for k=1:M
r(:,k)=a+(b-a)*rand(N,1);
end

#### 1 Comment

Rafael Hernandez-Walls on 30 Aug 2020
oops!!!!
N=input('give me number of random elements:');
a=input('lower limit of the numbers to generate:');
b=input('upper limit of the numbers to generate:');
M=input('How many arrangements do you want to generate ?:');
r=zeros(N,M);
r(:,1)=a+(b-a)*rand(N,1);
for k=2:M
a=randperm(N);
r(:,k)=r(a,1);
end

Steven Lord on 28 Aug 2020
If you want to draw with replacement use randi to generate numbers between 1 and the numel of the array you want to sample. Use those as linear indices into the array.
If you want to draw without replacement use randperm to generate the linear indices.

R2019a

### Community Treasure Hunt

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

Start Hunting!