Making combinations using random number generators
7 views (last 30 days)
Show older comments
Chris Dan
on 28 Aug 2020
Commented: Rafael Hernandez-Walls
on 30 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...
2 Comments
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)
Accepted Answer
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
More Answers (1)
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.
0 Comments
See Also
Categories
Find more on Random Number Generation 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!