2016-03-13 106 views
0

我有6个重复的数字:1,2,2,3,3,4。我想要使​​用任何4个数字的所有可能的组合。我将如何在MATLAB中得到这个结果?在MATLAB中有重复的向量中所有可能的元素组合

如果没有重复,通常使用'nchoosek'函数。

实施例:A = 1:6; combinations = nchoosek(A,4);

+0

你能提供的示例中的预期结果?它是独一无二的(nchoosek(A,4),'rows')'? – Arpi

+0

@Arpi我认为'nchoosek(独特(A),4)'会更有效。 – Adiel

+0

您可以在阵列的索引中使用'nchoosek'。 – buzjwa

回答

1

nchoosek足以用于此任务,并且包括重复。

A = [1 2 2 3 3 4]; 
combinations = nchoosek(A, 4); 

如果你本来想不包含任何重复,你会做:

combinations = nchoosek(unique(A), 4); 
+0

也许我错过了一些东西,但这会产生与'nchoosek(A,4)'相同的输出。 – Arpi

+0

确实!我假设没有检查,这不会是因为这个问题的行为,但似乎'nchoosek(A,4)'就足够了。我会编辑答案。 – buzjwa

相关问题