Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

combination of numbers which is not in matrix form

Asked by raj singh

raj singh (view profile)

on 19 Apr 2013

A=[1 6]; B=[2 3 4]; C=[8 9];

i want:

comb=1 2 8, 1 2 9, 1 3 8, 1 3 9, ........., 6 4 8,6 4 9

i m using for loop for this program but i increase more number of element then my program does not work, its go went to infinity. pls help me for generlise program or any command for this types of problem.

1 Comment

Jan Simon

Jan Simon (view profile)

on 19 Apr 2013

We cannot generalize your program, we we do not see it. So please post your code, when you want us to help.

raj singh

raj singh (view profile)

Products

No products are associated with this question.

2 Answers

Answer by Jan Simon

Jan Simon (view profile)

on 19 Apr 2013
Accepted answer

Did you search in the FileExchange already? This would be a good idea before asking the forum. What about http://www.mathworks.com/matlabcentral/fileexchange/10064-allcomb?

1 Comment

raj singh

raj singh (view profile)

on 19 Apr 2013

superb, thank you very very much....its working fast

Jan Simon

Jan Simon (view profile)

Answer by Andrei Bobrov

Andrei Bobrov (view profile)

on 19 Apr 2013
Edited by Andrei Bobrov

Andrei Bobrov (view profile)

on 19 Apr 2013
A=[1 6]; B=[2 3 4]; C=[8 9];

Use function fullfact from Statistics Toolbox.

for your case:

t = {A,B,C};
k = cellfun(@numel,t);
ii = fullfact(k);
idx = bsxfun(@plus,ii,cumsum(k) - k);
s = [t{:}];
comb =  s(idx);
comb = reshape(sortrows(comb)',1,[]);  % ADD

4 Comments

raj singh

raj singh (view profile)

on 19 Apr 2013

but its combine all row in single row, its nt my prob, my prob is

A=[1 6]; B=[2 3 4]; C=[8 9];

and i want:

comb=1 2 8, 1 2 9, 1 3 8, 1 3 9, ........., 6 4 8,6 4 9

but now i solved my prob with "allcomb" its working superb

Andrei Bobrov

Andrei Bobrov (view profile)

on 19 Apr 2013

see the code before % ADD :)

raj singh

raj singh (view profile)

on 20 Apr 2013

sorry, its also working for comb, thanks

Andrei Bobrov

Andrei Bobrov (view profile)

Contact us