1
我有一個關於Matlab中矩陣行的所有組合的問題。 我現在有一個具有以下結構的矩陣:新矩陣中的矩陣與矩陣的所有行組合
1 2
1 3
1 4
2 3
2 4
3 4
現在我想要得到的這些「對」所有可能的組合,而無需在同一行中使用數量的兩倍:
1 2 3 4
1 3 2 4
1 4 2 3
而且必須有可能使它成爲n-「雙列」。這意味着,當我對矩陣無二例如,直到「5 6」,我想這些doublecolumns 3創建矩陣:
1 2 3 4 5 6
1 2 3 5 4 6
1 2 3 6 4 5
1 3 2 4 5 6
1 3 2 5 4 6
....
我希望你明白我的意思:) 以任何想法如何解決這個?
感謝和最好的方面 喬納斯
謝謝您的回答。其實這正是我想要的。我現在的問題是現在的規模。有沒有可能創建這個矩陣,而不使用nchoosek命令?因爲我目前正在編寫一個優化算法,該算法將輸入的長度大於15的矢量作爲輸入。因此,nchoosek-command會生成一個巨大的矩陣,這將與最後一行縮短。那麼你有沒有想法如何編程它而不產生第一個這個休組合矩陣?預先感謝您... – Krus
@Krus也許使用[像這樣的東西](http://stackoverflow.com/q/21895335/2586922)(使用相同的向量'n'次作爲輸入),然後刪除不同的行只有他們的順序('sort'和'unique')。無論如何,這可能是值得一個問題 –