2016-03-13 129 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

相關問題