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

时间:2014-12-25 23:36:30

标签: 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经验表明,可能有一个内置函数可以更快地实现这一点。 ..

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

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函数here