matlab 可能的组合-顺序很重要

btxsgosb  于 2023-05-07  发布在  Matlab
关注(0)|答案(2)|浏览(178)

我想创建一个表,其中包含所有可能的组合,顺序重要的,N个数字的集合k使用matlab。
我试过Combinations = combntns(set,subset)Combinations = perms(v)Combinations = combnk(v,k),但顺序并不重要。
举个例子:
nchoosek(1:5,3)
安=
同时还应包括
可能的组合的数量由以下函数给出:
N!/(N-k)!
source: Mathisfun.com
有没有一种方法可以使用matlab函数来做到这一点?

dfty9e19

dfty9e191#

试试这个高效的解决方案:

n = 5; k = 3;
nk = nchoosek(1:n,k);
p=zeros(0,k);
for i=1:size(nk,1),
    pi = perms(nk(i,:));
    p = unique([p; pi],'rows');
end

p * 应该 * 包含您所描述的内容。本例中至少为size(p,1) == factorial(n)/factorial(n-k)60

s4n0splo

s4n0splo2#

如果k = 3:

combvec(1:N,1:N,1:N)'

相关问题