PDA

查看完整版本 : Matlab分区问题


poster
2019-12-10, 20:48
我的头被困在寻找解决我的问题的算法。

假设我有N数字(说4),并且我想拥有所有X分区(X = N / 2)

例:

{1,2,3,4}的2个分区为:(1,2)(1,3)(1,4)(2,3)(2,4)(3,4)[简单来说:所有组合]

我不知道如何生成这些组合。如果你们中的某个人有个主意(我不在乎什么语言。伪代码完全够用。我不在乎它是迭代式的还是显式的)。

最好的问候,Bigbohne



回答:

Matlab为此提供了一个功能:

http://www.mathworks.com/help/techdoc/ref/nchoosek.html

>> x = [1,2,3,4] x = 1 2 3 4 >> nchoosek(x, 2) ans = 1 2 1 3 1 4 2 3 2 4 3 4 像maxwellb这样的循环构造在MATLAB中非常慢...



更多&回答... (https://stackoverflow.com/questions/3660179)