在java中,如何近似无限区间的值之和
我试图用java编写一段代码,需要按照以下方式计算范围内的值之和[-∞, +∞]在java中,如何近似无限区间的值之和,java,math,approximation,calc,Java,Math,Approximation,Calc,我试图用java编写一段代码,需要按照以下方式计算范围内的值之和[-∞, +∞] K= +∞ ∑ [ f( (2K+1)*x ) - f( (2K-1)*x ) ] K= -∞ 在生成计算上可行且高效的解决方案时,我面临两个困惑: 必须假定的价值是什么∞ 是否按上述方法近似计算 假设K也包含小数,那么在循环中增加K必须使用什么最小值 首先,为了得到一个近似值,你需要大幅减小该值。例如,-1/x。如果x增加很多,答案将接近于零 ∞以近似上述计算 for(float k=0;k++) { 和+
K= +∞
∑ [ f( (2K+1)*x ) - f( (2K-1)*x ) ]
K= -∞
在生成计算上可行且高效的解决方案时,我面临两个困惑:
首先,为了得到一个近似值,你需要大幅减小该值。例如,
-1/x
。如果x
增加很多,答案将接近于零
∞代码>以近似上述计算
for(float k=0;k++)
{
和+=((2*(k)+1)*x)-(2*(k)-1)*x));//从1到无穷大相加
和+=((2*(-k)+1)*x)-(2*(-k)-1)*x));//从-1到无穷大相加
}
但这将导致无限循环。您可以将x
替换为1/x
,并在循环中每次增加x
。代码变为
if((sum-lastsum)<0.001)
{
打破
}
lastsum=总和;
}
K
也包含分数值,则必须使用哪个最小值来增加[code]循环中的K
K
的类型。如果是double
,则最多可以有15位小数
另外,在求和时,你应该移动1,而不是小数。参见
你知道这是一个可伸缩的和,实际上是
f(2m+1)
和f(-2n-1)
的(独立)极限之差。你能告诉我们f
是什么吗?@RC f()累积分布函数你确定K可以有分数吗?求和的索引应该是一个整数,否则这将是一个整数。@realponsir