File Exchange

image thumbnail

CARTPROD: Cartesian product of multiple sets

version 1.0 (1.47 KB) by

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



No License

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.

Comments and Ratings (7)


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'.
What i have to do please help me.


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?!!


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

Jadran Dobric

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 Release
MATLAB 6.5 (R13)

Inspired: SETPROD

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today