我想要取点集并将它们分成更小的集合。约束条件是每个维度都有一些最小值和一些最大值。我想要生成这些集合的所有可能组合(我们称之为一组集合)。完成后,每个集合中的每个集合恰好出现在一个集合中。生成一组n维点
作为一个例子,假设我只有数据点有两个独立变量,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)
我能在整组的分裂的,而无需通过每个点(个不同的数字)手动迭代!次?
这不是家庭作业,只是一个程序,我试图将其作为数据拟合者的一部分编写。
您的示例仅显示每个维度中的一个分隔点。情况总是如此,或者你是否有时想将点分为j <2的点,2 <= j <3的点和3 <= j的那些点? – 2012-08-05 17:28:43
@EricPostpischil不,必须为每个维度生成多个分割点。你的例子j <2,2 <= j <3和3 <= j对我而言是有效的。 – Jeremy 2012-08-07 01:48:57