c语言求函数的定积分,C语言求定积分

用C语言求定积分

实际问题描述:

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比民勤网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式民勤网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖民勤地区。费用合理售后完善,10年实体公司更值得信赖。

求定积分近似值

程序代码如下:

#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.\n",s1);

printf("梯形法算得积分值:%f.\n",s2);

}

程序运行结果如下:

矩形法算得积分值:0.855821

梯形法算得积分值:0.855624

由上面的比较可知,梯形法的精度要高于矩形法。

用c语言求定积分

#include

#include

double integral(double(*fun)(double x),double a,double b,int,n){

double s,h,y;

int i;

s=(fun(a)+fun(b))/2;

h=(b-a)/n; /*积分步长*/

for(i=1;in;i++)

s=s+fun(a+i*h);

y=s*h;

return y;/*返回积分值*/

}

double f(double x){

return(x*sinx) /*修改此处可以改变被积函数*/

}

int main(){

double y;

y=integral(f,1.0,2.0,150);/*修改此处可以改变积分上下限和步数,步长=(上限-下限)/步数*/

printf("y=%f\n",y);

return 0;

}

int main()

用C语言编写一个求定积分的程序,用它分别求以下5个函数的定积分:

#includestdio.h

#includemath.h

float f1(float x)

{

return(1.0+x);

}

float f2(float x)

{

return(2.0*x+3.0);

}

float f3(float x)

{

return(exp(x)+1);

}

float f4(float x)

{

return(pow(1+x,2));

}

float f5(float x)

{

return(pow(x,3));

}

float fsimp(float a,float b,float (*p)(float))

{

float c,s;

c=(a+b)/2;

s=(b-a)/6*(p(a)+4*p(c)+p(b));

return s;

}

int main()

{

float a,b;

printf("请输入积分下限a的值:");

scanf("%f",a);

printf("请输入积分上限b的值:");

scanf("%f",b);

printf("%f\n",fsimp(a,b,f1));

printf("%f\n",fsimp(a,b,f2));

printf("%f\n",fsimp(a,b,f3));

printf("%f\n",fsimp(a,b,f4));

printf("%f\n",fsimp(a,b,f5));

}


网站标题:c语言求函数的定积分,C语言求定积分
网站链接:http://azwzsj.com/article/dsiopeo.html