矩形法 C++
我从此处复制了一个示例项目,但我不明白其中的一部分:(i - 0.5)
。为什么要计算(i - 0.5)
?
double rectangle_integrate(double a, double b, int subintervals, double (*function)(double))
{
double result;
double interval;
int i;
interval=(b-a)/subintervals;
result=0;
for(i=1;i<=subintervals;i++){
result+=function(a+interval*(i-0.5));
}
result*=interval;
return result;
}
I copied an example project from here, but I don't understand part of it: (i - 0.5)
. Why is (i - 0.5)
being computed?
double rectangle_integrate(double a, double b, int subintervals, double (*function)(double))
{
double result;
double interval;
int i;
interval=(b-a)/subintervals;
result=0;
for(i=1;i<=subintervals;i++){
result+=function(a+interval*(i-0.5));
}
result*=interval;
return result;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它代表区间的中间。当i为1时,区间为0到1,0.5为中间。 ETC。
It represents the middle of the interval. When i is 1 the interval is 0 to 1, and 0.5 is the middle of it. Etc.