永发信息网

奇异点的高斯积分c++程序

答案:1  悬赏:50  手机版
解决时间 2021-03-10 17:27
奇异点的高斯积分c++程序
最佳答案
#include
#include
#define N 3
float gauss(float(*)(float), float, float, int);
void main( )
{
float function_name(float);
float a, b;
printf ("请输入积分上限b\n");
scanf("%f", &b);
printf("请输入积分下限a\n");
scanf("%f", &a);
float ans;
ans=gauss(function_name, a, b, N);
printf("ans=%f", ans);
}

float gauss(float(*func)(float x), float a, float b, int n )
{

float x1[1]={0.0};
float A1[1]={2};
float x2[2]={-0.5573503, 0.5573503};
float A2[2]={1, 1};
float x3[3]={-0.7745967, 0.0, 0.7745967};
float A3[3]={0.555556, 0.888889, 0.555556};
float x4[4]={0.3399810, -0.3399810, 0.8611363, -0.8611363};
float A4[4]={0.6521452, 0.6521452, 0.3478548, 0.3478548};
float x5[5]={0.0, 0.5384693, -0.5384693, 0.9061799, -0.9061799};
float A5[5]={0.5688889, 0.4786287, 0.4786287, 0.2369269, 0.2369269};
float *p, *t;
switch (n)
{
case 1:
p=x1;
t=A1;
break;
case 2:
p=x2;
t=A2;
break;
case 3:
p=x3;
t=A3;
break;
case 4:
p=x4;
t=A4;
break;
case 5:
p=x5;
t=A5;
break;
default:
printf ("intput wrong!");
}
float g;
int i;
for (i=0,g=0; ig+=(*func)((b-a)*p[i]/2+(a+b)/2)*t[i];
}
g*=(b-a)/2;
return g;
}
float function_name(float x)
{
return (sqrt(4-x*x));
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
最近深圳大小很多店都关了,他们一般是缺少什
企业交的职工医保在乡镇医院可以作报
关于英语的一个简单语法问题:everything mak
函数f(x)=|x2-1|的单调递减区间为
女主穿越到御书房门口,并且皇上正确一个皇后
青露馒头南京陶茂路店怎么去啊,有知道地址的
进门见匾好吗一开大门就见匾好吗
奔驰15款e200导航怎样退出
给加点字注音什么意思
新梦想教育(咸宁赤壁)地址在什么地方,想过去
我和一个比我大十四岁的女人相爱,我们会有幸
贷款重组可以采取的措施有()。A.减少贷款额度
藏红花泡水喝对身体有什么好处呢?
明途公考怎么样,我同学推荐说那里申论面试都
减二后期非姐妹染色单体的组合是基因重组吗?
推荐资讯
鱼坝在哪里啊,我有事要去这个地方
什么悠悠球可以装爆旋外壳
常州优胜教育怎么样呀???
同一化学键断裂需要吸收的能量等于形成该化学
我的牙齿边上长了一个包,怎么办?我都不知道
那里可以免费听Taylor Swift的歌
1*600mw的发电厂一年能出多少粉煤灰
大众调料批发部地址在什么地方,想过去办事
临淄区教体局在哪,教体局是教育局吗啊
生气胃痛吃什么药
奇记小龙虾海鲜烧烤地址有知道的么?有点事想
南阳油田二中简介
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?