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')。无论如何,这可能是值得一个问题 –