永发信息网

用C语言求定积分

答案:2  悬赏:80  手机版
解决时间 2021-02-10 16:12
用C语言求定积分
最佳答案
实际问题描述:
求定积分近似值

程序代码如下:
#include
#include
void main()
{
    int i,n=1000;
    float a,b,h,t1,t2,s1,s2,x;
    printf("请输入积分限a,b:");
    scanf("%f,%f",&a,&b);
    h=(b-a)/n;
    for(s1=0,s2=0,i=1;i<=n;i++)
    {
        x=a+(i-1)*h;
        t1=(float)exp(-x*x/2);t2(float)=exp(-(x+h)*(x+h)/2);
        s1=s1+t1*h;       
        s2=s2+(t1+t2)*h/2;       
    }
    printf("矩形法算得积分值:%f.
",s1);
    printf("梯形法算得积分值:%f.
",s2);
}
程序运行结果如下:
    矩形法算得积分值:0.855821
    梯形法算得积分值:0.855624
    由上面的比较可知,梯形法的精度要高于矩形法。

全部回答
您好,这是辛普森积分法。
给你写了fun_1( ),fun_2(),请自己添加另外几个被积函数。
调用方法 t=fsimp(a,b,eps,fun_i);
a,b --上下限,eps -- 迭代精度要求。
#include
#include
#include
double fun_1(double x)
{
return 1.0 + x ;
}
double fun_2(double x)
{
return 2.0 * x + 3.0 ;
}
double fsimp(double a,double b,double eps, double (*P)(double))
{
int n,k;
double h,t1,t2,s1,s2,ep,p,x;
n=1; h=b-a;
t1=h*(P(a)+P(b))/2.0;
s1=t1;
ep=eps+1.0;
while (ep>=eps)
{
p=0.0;
for (k=0;k<=n-1;k++)
{
x=a+(k+0.5)*h;
p=p+P(x);
}
t2=(t1+h*p)/2.0;
s2=(4.0*t2-t1)/3.0;
ep=fabs(s2-s1);
t1=t2; s1=s2; n=n+n; h=h/2.0;
}
return(s2);
}
void main()
{
double a,b,eps,t;
a=0.0; b=3.141592653589793238; eps=0.0000001;
// a definite integral by Simpson Method.
t=fsimp(a,b,eps,fun_1);
printf("%g\n",t);
t=fsimp(a,b,eps,fun_2);
printf("%g\n",t);
// ...
printf("\n Press any key to quit...");
getch();
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
巴中烽垣汽贸南江直营店地址在什么地方,想过
南京幸福天地老年公寓地址有知道的么?有点事
安达小汽车维修厂地址有知道的么?有点事想过
为什么我在百度贴吧的签名档不显示?
如何区别真假ESP吉他?
富顺汽贸地址有知道的么?有点事想过去
医药大厦同泰店地址在哪,我要去那里办事
特异质反应的决定因素是A.单基因遗传B.双基因
南方测绘仪NTS-310怎么传输数据
15102240883是天津移动还是联通
宏腾汽贸地址有知道的么?有点事想过去
奇鱼夫(北环路店)在什么地方啊,我要过去处理
南江顺安车业有限公司地址在什么地方,我要处
JPanel怎么用呀?
解不等式:(1)x-42x+5≤1,(2)|2x+1|+|x-2|>4
推荐资讯
建设银行信用卡资料提交,审核期间能取消吗,
无源低音炮怎么接上只有S‘WOUT同轴接口端子
亚太三宝中药减肥药包多少钱
府东街小学怎么去啊,我要去那办事
世界上最早的海上机场时()
根据爱因斯坦的相对论,我们可以得出的正确认
长安马自达cx5机油滤芯在什么位置
我在江苏我先知道711便利店加盟电话
加运美速递地址有知道的么?有点事想过去
泸州琼浆酱酒厂在什么地方啊,我要过去处理事
园岭村地址好找么,我有些事要过去
腾飞眼镜(民主中路店)地址在哪,我要去那里办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?