//求定积分的模板
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
double functions(double x)//该处是放置函数模板的
{
return pow(sin(x),2)-x;//对(sinx)^2-x的积分
}
double caltual(double x0,double xn,double deta_x)
{
double y0=functions(x0);//此处
while(x0<xn)//下范围不断地靠近上范围
{
y0=y0+(deta_x* functions(x0)+deta_x* functions(x0+deta_x))*1.0/2.0;//二分思想求中值
x0=x0+deta_x;//进入下一个小长方形区域
}
return y0;//y0用于累积总的累加高度 就为总面积
}
int main()
{
double x0,deta_x,xn;//x0,xn是积分的上下线deta_x是△x
while(scanf("%lf %lf %lf",&x0,&xn,&deta_x)!=EOF)
printf("ans=%.7lf\n",caltual(x0,xn,deta_x));
return 0;
}
求定积分的算法模板
最新推荐文章于 2019-04-04 11:24:06 发布