随着深度的增加生成四分位数位置
Generation of Interquartile Positions With Increasing Depth
我想以编程方式生成四分位数 (IQR) 位置,以便我可以将它们用作获取最小 - 最大范围内的值的基础,并增加粒度。
我有一段时间卡在这个问题上了。令人惊讶的是,当我在寻找想法时,我在 Stack Overflow 上一无所获。因此,我将 post 我想出的解决方案,以便将来在需要时帮助人们。
这是我想出的解决方案:
final int DEPTH = 32 //2^n where n is the depth of the quartile tree
for(int j = 1; j < DEPTH; j *= 2){
double quotient = 1.0 / j; //How many quartiles to generate
for(int i = 1; i < j; ++i)
if(i % 2 != 0)
System.out.println((i * quotient));
System.out.println("-------");
}
这样做会产生以下输出:
-------
0.5
-------
0.25
0.75
-------
0.125
0.375
0.625
0.875
-------
0.0625
0.1875
0.3125
0.4375
0.5625
0.6875
0.8125
0.9375
-------
我想以编程方式生成四分位数 (IQR) 位置,以便我可以将它们用作获取最小 - 最大范围内的值的基础,并增加粒度。
我有一段时间卡在这个问题上了。令人惊讶的是,当我在寻找想法时,我在 Stack Overflow 上一无所获。因此,我将 post 我想出的解决方案,以便将来在需要时帮助人们。
这是我想出的解决方案:
final int DEPTH = 32 //2^n where n is the depth of the quartile tree
for(int j = 1; j < DEPTH; j *= 2){
double quotient = 1.0 / j; //How many quartiles to generate
for(int i = 1; i < j; ++i)
if(i % 2 != 0)
System.out.println((i * quotient));
System.out.println("-------");
}
这样做会产生以下输出:
-------
0.5
-------
0.25
0.75
-------
0.125
0.375
0.625
0.875
-------
0.0625
0.1875
0.3125
0.4375
0.5625
0.6875
0.8125
0.9375
-------