【发布时间】:2012-01-19 12:10:21
【问题描述】:
MATLAB 中是否有命令或单行策略将返回 n 单元数组的所有组件组合,一次采用 n?
我想要完成的一个例子:
A = {'a1','a2'};
B = {'b1','b2','b3'};
C = combinations(A,B)
C = {'a1','b1' ;
'a1','b2' ;
'a1','b3' ;
'a2','b1' ;
'a2','b2' ;
... }
该命令将能够接受任意数量的参数,并且示例中的结果将具有与函数参数一样多的列。 (当然,上面的语法只是为了说明和任何可以生成结果的方法,无论格式是否符合要求)
编辑:针对矩阵而不是单元格提出了类似的问题,例如link。许多解决方案都指向 FEX 提交 allcomb,但所有这些解决方案都只是 ndgrid 的包装,它只适用于双精度数。对非数字集有什么建议吗?
【问题讨论】:
-
您可以使用适用于整数集的解决方案,然后将结果(组合)视为元胞数组的索引。
标签: matlab combinations