我正在尝试获取点集并将它们分成较小的集。约束是每个集合的每个维度都有一些最小值和一些最大值。我想生成这些集合的所有可能组合(我们称之为一组集合。)当我完成后,每个点都出现在每个集合中的一个集合中。
例如,假设我只有具有两个自变量 i 和 j 的数据点。他们是:
(1,1) (1,2) (2,2) (3,1),(2,1),(2,3)
这些分裂中的任何一个都很好:
(1,1)(1,2) and (2,2)(3,2)(2,1)(2,3)
First set has i < 2, second set has i >= 2.
(1,1)(3,1)(2,1) and (1,2)(2,2)(2,3)
First set has j < 2, second set has j >= 2.
(1,1)(1,2) and (2,2)(3,1)(2,1) and empty and (2,3)
First set has (i < 2, j < 3), second set has (i >= 2, j < 3)
Third set has (i < 2, j >= 3), fourth set has (i >= 2, j >= 3)
如何在不手动迭代每个点(不同的数字)的情况下生成整组拆分!次?
这不是家庭作业,只是我试图作为数据拟合器的一部分编写的程序。