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

# combination of numbers which is not in matrix form

Asked by raj singh 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 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.

## Products

No products are associated with this question.

Answer by Jan Simon on 19 Apr 2013

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 on 19 Apr 2013

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

Answer by Andrei Bobrov on 19 Apr 2013
Edited by Andrei Bobrov on 19 Apr 2013
```A=[1 6]; B=[2 3 4]; C=[8 9];
```

Use function fullfact from Statistics Toolbox.

```t = {A,B,C};
k = cellfun(@numel,t);
ii = fullfact(k);
idx = bsxfun(@plus,ii,cumsum(k) - k);
s = [t{:}];
comb =  s(idx);
```

raj singh 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 on 19 Apr 2013

see the code before % ADD :)

raj singh on 20 Apr 2013

sorry, its also working for comb, thanks