2014-02-24 33 views
0

給定N,我想創建一個x列的矩陣,每個子集的組合爲N。例如,如果N16x3那麼我應該得到一個560行的矩陣,每行將有3列,幷包含從1到16的數字的唯一組合。 可以使用函數zzz(N,x)? 我將用不同的Nx值產生很多值,因此for循環會減慢速度。倍頻程生成組合子集

+0

歡迎堆棧溢出。你有什麼嘗試?你有沒有讀過任何手冊,如果它沒有以八度音程創建(我不知道八度音),那麼你可以編寫這個功能。 – Llopis

回答

1

只需使用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 
    . . . 
    . . . 
    . . .