重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
积分中值定理,若fx连续,则必有存在一个数c,使得积分等于f(c)(上限-下限),用这个定理可以使函数积分转化
成都网络公司-成都网站建设公司创新互联建站十余年经验成就非凡,专业从事网站设计制作、成都网站设计,成都网页设计,成都网页制作,软文营销,一元广告等。十余年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:028-86922220,我们期待您的来电!
你的题目中x^(n+1)f(x)可以看成x^nf(x)*(x-0),然后为以x为上限,0为下限的积分
我这边有个例子,你可以参考一下
至于菜单,自己定义吧,我也不知道你要什么样的菜单
#include
#include
#define
pf
printf
#define
m
1000
void
main()
{
float
f1(float);
float
f2(float);
float
f3(float);
float
f4(float);
float
f5(float);
float
integral(float,float,float
(float));
float
a,b;
pf("请输入上,下限a,b:");
scanf("%f,%f",a,b);
pf("(1+x)*x在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f1));
pf("(2*x+3)*x在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f2));
pf("(1+x)*x在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f1));
pf("exp(x)+1在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f3));
pf("(1+x)*(1+x)在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f4));
pf("x*x*x在[%.2f,%.2f]的定积分为:",a,b);
pf("%.2f\n",integral(a,b,f5));
}
float
f1(float
x)
{
float
y;
y=(1+x)*x;
return
y;
}
float
f2(float
x)
{
float
y;
y=(2*x+3)*x;
return
y;
}
float
f3(float
x)
{
float
y;
y=(float)exp(x)+1;
return
y;
}
float
f4(float
x)
{
float
y;
y=(1+x)*(1+x);
return
y;
}
float
f5(float
x)
{
float
y;
y=x*x*x;
return
y;
}
float
integral(float
a,float
b,float
(*fun)(float))
{
float
n,h,s=0;
int
i;
n=(b-a)/m;
for(i=0;i
评论
加载更多
#include iostream
using namespace std;
#define min 0
#define max 1.0
inline double f(double x)
{
return x*x;
}
double Ladder(int n)//用梯形法求积分
{
double width=(max-min)/n;
double sum=0;
for (double d=min;dmax-width/2;d+=width)
{
sum+=(f(d)+f(d+width))*width/2;
}
return sum;
}
double Rectangle(int n)//用矩形法求积分
{
double width=(max-min)/n;
double sum=0;
for (double d=min;dmax-width/2;d+=width)
{
sum+=f(d)*width;
}
return sum;
}
void main()
{
int n;
cout"利用梯形法和矩形法求 x^2dx 在(0,1)上的定积分"endl;
cout"请输入划分小图形个数n(n越大,积分越准确):";
while (1)
{
cinn;
if (cin.good()n0)
break;
cout"输入错误,请重新输入:";
cin.clear();
cin.sync();
}
cout"梯形法积分为:"Ladder(n)endl
"矩形法积分为:"Rectangle(n)endl;
}
#include stdio.h
#include math.h
double f1( double x )
{
return 1 / ( 1 + 4 * x * x );
}
double f2( double x )
{
return ( log(x+1) ) / ( 1 + x*x) ;
}
double jifen( double a, double b, int n, double (*f)(double) )
{
double h = (b-a)/2;
double s = 0.0;
int i;
for( i=0; in; i++ )
s = s + 0.5 * ( f(a+i*h) + f(a+(i+1)*h) ) * h;
return s;
}
int main()
{
double a, b, s;
printf( "函数1 f(x) = 1/(1+4x^2) 区间[-1,1]定积分:%f\n", jifen( -1, 1, 1000, f1) );
printf( "函数2 f(x) = ln(1+x)/(1+x^2) 区间[0,1]定积分:%f\n", jifen( 0, 1, 1000, f2) );
}