我有一个数学范围[a,b],我试图将范围分成'n'等份。 数字,a和b可以是任何东西,但是例如,我们假设范围是[0,1]。
基本上我要做的就是让我们说如果n = 4
且范围是[0, 1]
,那么我希望将该范围的断点计算为[.25, .5, .75]
,因为这些除以[0, 1]
1}}到4个相等的点。同样,如果范围是[0, 1]
和n = 2
,我希望断点为[.5]。
在java中计算这些断点的最快方法是什么?是否有内置函数来执行此类操作?
答案 0 :(得分:4)
假设您有数字[x,y]
,并且您想要n
个部分。然后你可以计算出这个差异:
diff = (y-x)/n
现在创建一个等于d
的变量0
,并从1
循环到n
。在您循环播放时,将diff
添加到d
并打印d
。一些伪代码:
diff = (y-x)/n;
d = 0;
for(1 to n)
d = d + diff
print(d)
注意:使用double
。
答案 1 :(得分:1)
如果范围是[a,b]
并且必须将其划分为n
个分区,则可以采用以下方法: -
public class Range
{
public static void main(String[] args)
{
double lowLimit = a;
double highLimit = b;
double difference = (b-a);
double partition = difference/n; // n is the number partitions of the range [a,b]
System.out.println("The partitions are:");
for(int i = 1;i<=n; i++)
{
lowlimit += difference;
System.out.print(lowlimit+"\t");
}
System.out.println();
}
}
答案 2 :(得分:0)
不确定这是否是你需要的(打印断点,或者那些breakPoints上的系统断点),无论如何,两者都在这里
double division += (maxRange - minRange)/n;
for(int i=0; i<=n; i++){
double minRange = 0;
double maxRange = 1;
double breaks[i] = division;
//System.out.println(breaks[i]); ----------------------USE THIS ONE IF PRINTING BREAKPOINT IS NEEDED
//new java.util.Scanner(System.in).nextLine(); --------THIS LINE STOPS THE PROGRAM UNTIL YOU PRESS A KEY
}
答案 3 :(得分:0)
代码只是为了让您知道从哪里开始:
int a = 0;
int b = 1;
int n = 4;
double fraction = (b - a) / (double) n;
for (int i = 0; i < n; ++i) {
System.out.println("Lower bound: " + i * fraction + "; Upper bound: " + (i + 1) * fraction);
}
答案 4 :(得分:0)
double dx = ((upper_bound - lower_bound)/n)
这将计算范围内每个点之间的空间。
如果你想将这些点放在一个数组中,你可以这样做:
double value = lower_bound;
for (int i = 0; i < n; i++) {
double value += dx;
double_array[i] = value;
}
您尚未指定使用何种数据结构,因此除了这个简单的数组实现之外,如果没有进一步说明,我无法帮助您。
答案 5 :(得分:0)
以下是while循环的方法:
public class Breakpoint
{
public Breakpoint()
{
double start = 0;
double end = 1;
double n = 4;
double difference = (end - start) / n;
double value = start;
while (value < end)
{
value += difference;
System.out.println(value);
}
}
public static void main(String[] args)
{
new Breakpoint();
}
}