Matlab 从两个向量的所有可能排列创建向量对列表

Matlab 从两个向量的所有可能排列创建向量对列表,matlab,vector,combinations,cartesian-product,Matlab,Vector,Combinations,Cartesian Product,我试图在MATLAB中实现一个相对简单的矩阵操作 从两个向量,我想生成所有可能产生的两个元素对。例如,给定以下两个向量: a = [1 2 3] b = [4 5 6] 。。。我希望能够制作以下内容: c = 1 1 1 2 2 2 3 3 3 4 5 6 4 5 6 4 5 6 我知道我可以使用显式循环(例如多个repmat()操作)生成上述

我试图在MATLAB中实现一个相对简单的矩阵操作

从两个向量,我想生成所有可能产生的两个元素对。例如,给定以下两个向量:

a = [1 2 3]
b = [4 5 6]
。。。我希望能够制作以下内容:

c =

     1     1     1     2     2     2     3     3     3
     4     5     6     4     5     6     4     5     6
我知道我可以使用显式循环(例如多个
repmat()
操作)生成上述内容,但我以前的MATLAB经验表明,可能有一个内置函数可以更快地实现这一点

有什么建议吗

a = [1 2 3]

a =

     1     2     3

>> b = [4 5 6]

b =

     4     5     6

>> c=allcomb(a,b)'

c =

     1     1     1     2     2     2     3     3     3
     4     5     6     4     5     6     4     5     6
您可以找到allcomb函数