0
給定N
,我想創建一個x
列的矩陣,每個子集的組合爲N
。例如,如果N
是16
和x
是3
那麼我應該得到一個560行的矩陣,每行將有3列,幷包含從1到16的數字的唯一組合。 可以使用函數zzz(N,x)
? 我將用不同的N
和x
值產生很多值,因此for循環會減慢速度。倍頻程生成組合子集
給定N
,我想創建一個x
列的矩陣,每個子集的組合爲N
。例如,如果N
是16
和x
是3
那麼我應該得到一個560行的矩陣,每行將有3列,幷包含從1到16的數字的唯一組合。 可以使用函數zzz(N,x)
? 我將用不同的N
和x
值產生很多值,因此for循環會減慢速度。倍頻程生成組合子集
只需使用nchoosek
功能:
N = 16;
x = 3;
nchoosek(1:N, x)
返回560行這樣的:
. . .
. . .
. . .
1 2 13
1 2 14
1 2 15
1 2 16
1 3 4
1 3 5
1 3 6
1 3 7
. . .
. . .
. . .
歡迎堆棧溢出。你有什麼嘗試?你有沒有讀過任何手冊,如果它沒有以八度音程創建(我不知道八度音),那麼你可以編寫這個功能。 – Llopis