c语言定义定积分求解函数 c语言积分函数库
用c语言求定积分
#include
迁西网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联公司2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
#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语言求给定函数给定定义域的定积分
#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) );
}
用C语言编写一个求定积分的程序
这是辛普森积分法。
给你写了fun_1( ),fun_2(),请自己添加另外几个被积函肆神罩数。
调用方法 t=fsimp(a,b,eps,fun_i);
a,b --上下限,eps -- 迭代精度要瞎禅求。
#includestdio.h
#includestdlib.h
#include math.h
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();
}
分享名称:c语言定义定积分求解函数 c语言积分函数库
网站地址:http://ybzwz.com/article/ddpogig.html