怎么用C语言表示积分源代码如下c语言实现积分的函数:
#include#includefloat 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));
}
扩展资料
1、对应于一个积分式要有一段程序c语言实现积分的函数,可以改变程序的一小部分来改变所要求的积分式 。
2、除数不能位0 。
3、两个整数相除c语言实现积分的函数,结果仍是整数 。
4、若被除数其中有一个为浮点数或者两个都为浮点数c语言实现积分的函数,则结果为浮点类型 。操作数必须为整数c语言实现积分的函数,不能是浮点数 。
怎样编写c语言积分函数积分分为两种,数值积分,公式积分 。
公式积分:部分函数可以直接用公式求得其不定积分函数 。C语言中可以直接用积分公式写出其积分函数 。
数值积分:按照积分的定义 , 设置积分范围的步长,用梯形面积累加求得其积分 。
以【f(x)=x*sin(x) 从1到2的积分】为例:
#include math.h
#include stdio.h
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;
}
用C语言求积分基本是这样的,用梯形发求定积分,对应于一个积分式就要有一段程序,不过你可以改变程序的一小部分来改变你所要求的积分式 。
以c为例:求f(x)=xsinx从1到2的积分
#include math.h
float integral(float(*fun)(float x),float a,float b,int,n)
{float 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;/*返回积分值*/
}
float f(float x)
{return(x*sinx)/*修改此处可以改变被积函数*/
}
main()
{float y;
y=integral(f,1.0,2.0,150);/*修改此处可以改变积分上下限和步长*/
printf("y=%f\n",y);
}
用C语言编写一个求定积分的程序,用它分别求以下5个函数的定积分:#includestdio.h
#includemath.h//pow()指数函数头文件;
#define e 2.71828//定义自然常数e;
int main ()
{
double a,b,n1,n2,n3,n4,n5,t;
scanf("%lf%lf",a,b);
if(ab)//保证上限比下限大;
{
t=a;
a=b;
b=t;
}
n1=a-b 0.5*(a*a-b*b);//a和b是未知数,积分运算后 , 原式=a和b混合运算的代数式;
n2=a*a-b*b 3*a-3*b;
n3=e*0.5*(a*a-b*b) a-b;
n4=(pow(a 1,3)-pow(b 1,3))/3;
n5=(pow(a,4)-pow(b,4))/4;
printf("%.2lf %.2lf %.2lf %.2lf %.2lf",n1,n2,n3,n4,n5);
return 0;
}
图1是运行结果,图2是原题的积分结果;通过数学的积分结果可以看出,积分符号的不在了;只剩下上下限a , b组成的代数式;
用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.0x ;
}
double fun_2(double x)
{
return 2.0 * x3.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语言积分公式】关于c语言实现积分的函数和c语言积分公式的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 梦境拍摄物料是什么,梦境滤镜是什么拍照软件
- phpcms怎么模块,phpcms怎么读
- 末世解谜类手机游戏有哪些,末世解谜类手机游戏有哪些名字
- linuxkvm命令 linux mk
- 删除oracle数据库触发器,oracle delete 触发器
- 云石公众号文章,云石微信公众号停更了
- IOS9壁纸干净全屏,ios9壁纸原图高清
- 纯php源码无数据库 php源码包
- jquery替换整个div,jquery替换节点的方法