MATLAB Answers

RAVI
0

how to get the all possible combination between two range of numbers

Asked by RAVI
on 29 Jun 2018
Latest activity Commented on by Steven Lord
on 29 Jun 2018
Accepted Answer by KL
every time this code iterate random number between 1 to 4. for 1st iteration c=2 and g=2. for second iteration c=1 and g=2; i need never the combination repeated once it comes
xx=4
c= randi(length(xx))
g= randi(length(xx))

  2 Comments

xx=4
c= randi(length(xx))
g= randi(length(xx))
xx is scalar, so length(xx) is 1, which means both randi calls will always produce the same output:
>> xx = 4;
>> randi(length(xx))
ans = 1
>> randi(length(xx))
ans = 1
>> randi(length(xx))
ans = 1
>> randi(length(xx))
ans = 1
>> randi(length(xx))
ans = 1
>> randi(length(xx))
ans = 1
>> randi(length(xx))
ans = 1
... etc
Is this the intended behavior?

Sign in to comment.

1 Answer

Answer by KL
on 29 Jun 2018
 Accepted Answer

The example and description is a but confusing but if you ask how to get the all possible combination between two range of numbers, use perms
my_range = 1:4; %or even [1 3 5]...
c = perms(my_range)

  4 Comments

Show 1 older comment
Hmmm.. I'm still not very sure but is this what you want,
c = repmat(1:4,4,1);
g = repmat(1:4,1,4);
x = [c(:) g(:)]
thanks.....this works....but i need to know is there any function in matlab to do so as our number of variable(c,g,etc) increases....
How many variables are you planning to use and how many values will each variable be able to take on? If you want to solve with too many variables or with variables that can take on too many different values, you may need to consider a new approach for solving your problem that avoids combinatorial explosion.

Sign in to comment.