File Exchange

## CARTPROD: Cartesian product of multiple sets

version 1.0 (1.47 KB) by

Returns a matrix containing the cartesian product of multiple input sets.

Updated

CARTPROD Cartesian product of multiple sets. (The cartesian product of multiple input sets is a larger set containing every ordered combination of the input set elements. See example below.)

X = CARTPROD(A,B,C,...) returns the cartesian product of the sets A,B,C, etc, where A,B,C, are numerical vectors.

Example: A = [-1 -3 -5];
B = [10 11];
C = [0 1];

X = cartprod(A,B,C)
X =

-5 10 0
-3 10 0
-1 10 0
-5 11 0
-3 11 0
-1 11 0
-5 10 1
-3 10 1
-1 10 1
-5 11 1
-3 11 1
-1 11 1

This function requires IND2SUBVECT, also available (I hope) on the MathWorks File Exchange site.

Wissem

### Wissem (view profile)

Hi, the file does not work Matlab gives me the following error message :
Undefined function or method 'ind2subVect' for input
arguments of type 'double'.

Michael

### Michael (view profile)

I need to use the cartesian product

I need to make a cartesian roduct of a vector for variable dimension but i cant find a code for this purpose. can somebody help me please?!!

Kshanti

### Kshanti (view profile)

I made a slight change to this file. I replaced your varargin with a cell array, in which each row is a vector. This might also be useful for other people when they don't know how many vectors need to be combined.

Norbert Zbroniec

Thanks for the m file, it was exact that for what i was searching

Nguyen Tat Duc Chinh

This m file work well on my problem in Communication toolbox to generate random noise. Thanks so much David Fass

MATLAB 6.5 (R13)