C语言,用梯形法编程求定积分x^3+x/2+1的值 100

用梯形法编程求定积分x^3+x/2+1从0积到10的值,要求使用指针h=(b-a)/2,函数f在(a,b)区间的定积分的公式为s=h/2(f(a)+f(b))+h(i=1... 用梯形法编程求定积分x^3+x/2+1从0积到10的值,要求使用指针
h=(b-a)/2,函数f在(a,b)区间的定积分的公式为s=h/2(f(a)+f(b))+h(i=1,n-1)f(xi)求和,取n为1000,a为0,b为10
展开
 我来答
DoramiHe
2018-06-07 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25334 获赞数:59536
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
这个其实很简单,给你做了一个很简单的通用的积分函数,
已经做过优化,自己一调用就可以了,效率很高。

#include <stdio.h>

double f(double x) //返回函数的值
{ double y;
y=x*x+x*2+1.0;
return y;
}

double Integrate(double (*f)(double),double a,double b,int n) //计算函数的定积分
{ double dx,y,sy,x;
if(n<=1)return 0.0;
dx=(b-a)/n;
x=a;
sy=0.0;
for(int i=0;i<=n;i++,x+=dx)
sy+=f(x);
sy-=f(a)/2.0;
sy-=f(b)/2.0;
return sy*dx;
}

void main()
{ double s;
s=Integrate(f, 1, 3, 100000);
printf("s=%lf\n",s);
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式