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)
-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.
David Fass (2021). CARTPROD: Cartesian product of multiple sets (https://www.mathworks.com/matlabcentral/fileexchange/5475-cartprod-cartesian-product-of-multiple-sets), MATLAB Central File Exchange. Retrieved .
The program automatically sorts input sets, which is probably not a good idea -- users can do this themselves.
hello, very nice function that is doing almost what I need excepted that cartprod does not respect the order of the list of data. For example, A is [-1 -3 -5] but the results starts from -5 rather than -1.
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.
Thanks for the m file, it was exact that for what i was searching
This m file work well on my problem in Communication toolbox to generate random noise. Thanks so much David Fass
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!