如何在Matlab中生成N个对象的K个实例的所有可能组合?
如何在Matlab中生成N个对象的K个实例的所有可能组合 例如,如果我们有N=3个对象A、B和C,并且希望生成K=2个实例的组合,那么我们应该得到如何在Matlab中生成N个对象的K个实例的所有可能组合?,matlab,combinatorics,Matlab,Combinatorics,如何在Matlab中生成N个对象的K个实例的所有可能组合 例如,如果我们有N=3个对象A、B和C,并且希望生成K=2个实例的组合,那么我们应该得到 AA AB AC BA BB BC CA CB CC 也就是说,这是数字中的数字组合的方式。使用matlab文件交换中的allcomb: allcomb(['A','B','C'],['A','B','C']) 一种更普遍的方法: s='A':'D' k=3 e=repmat({s},1,k) allcomb(e{:}) 使用matlab文件
AA
AB
AC
BA
BB
BC
CA
CB
CC
也就是说,这是数字中的数字组合的方式。使用matlab文件交换中的
allcomb
:
allcomb(['A','B','C'],['A','B','C'])
一种更普遍的方法:
s='A':'D'
k=3
e=repmat({s},1,k)
allcomb(e{:})
使用matlab文件交换中的
allcomb
:
allcomb(['A','B','C'],['A','B','C'])
一种更普遍的方法:
s='A':'D'
k=3
e=repmat({s},1,k)
allcomb(e{:})
您可以使用
fullfact
:
fullfact([3 3])
这将生成第一行中3个元素和第二行中3个元素的所有组合,结果是:
1 1
2 1
3 1
1 2
2 2
3 2
1 3
2 3
3 3
您可以使用
fullfact
:
fullfact([3 3])
这将生成第一行中3个元素和第二行中3个元素的所有组合,结果是:
1 1
2 1
3 1
1 2
2 2
3 2
1 3
2 3
3 3
要获取字符,请使用
s='A':'C';K=2;s(fullfact(repmat(numel(s),k,1))
使用s='A':'C'获取字符;K=2;s(fullfact(repmat(numel(s),k,1)))