algorithm - Matlab分区问题

标签 algorithm matlab set data-partitioning

我的头脑一直在寻找解决问题的算法。

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

示例:

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

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

最诚挚的问候, 比格博恩

最佳答案

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 中非常慢......

关于algorithm - Matlab分区问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3660179/

相关文章:

java - Java中如何List复制Set?

java - 在java中构建一组动态长度对象的最佳方法是什么?

arrays - 生成剩余号码列表

从 4 2 位创建一个字节(8 位)

matlab - 比较两组向量

matlab - 保存图形不会保存其标题位置

c++ - 优化代码: fibonacci algorithm

algorithm - 计算机总是一次计算两个数字吗?

matlab - 使用 K-NN 进行回归,使用 matlab 进行预测?

python - 如何将文本小部件内容设置为 Python/Tkinter 中的变量值?