编写函数求定积分的通用函数

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝
     不积跬步无以至千里,不积小流无以成江海!
 

前言:

        定积分是积分的一种,是函数f(x)在区间[a,b]上积分和的极限

        这里应注意定积分与不定积分之间的关系:若定积分存在,则它是一个具体的数值,而不定积分是一个函数表达式,它们仅仅在数学上有一个计算关系(牛顿-莱布尼茨公式)。

        一个函数,可以存在不定积分,而不存在定积分;也可以存在定积分,而不存在不定积分。一个连续函数,一定存在定积分和不定积分;若只有有限个间断点,则定积分存在;若有跳跃间断点,则原函数一定不存在,即不定积分一定不存在。

一、题目要求: 

         编写一个求定积分的通用函数,分别求以下函数的定积分:
     s_{1}=\int_{-1}^{1}(x+1)dx            s_{2}=\int_{0}^{1}(e^{x}+1)dx

 二、分析:

        分析:用矩形法求定积分。定积分由被积函数下限上限三个因素确定。要编写求定积分的通用函数 integral可设三个参数:下限a、上限 b 和指向函数的指针变量 pf。

三、代码实现:

#include<stdio.h>
#include<math.h> 

double integral(double a,double b,double (*pf)(double));//函数声明 
double f1(double x);//函数声明
double f2(double x);//函数声明

int main(){
	double s1,s2;
	s1=integral(-1,1,f1);//调用函数,注意第三个参数 
	s2=integral(0,1,f2);
	printf("s1=%.4f,s2=%.4f\n",s1,s2);
	return 0;
}

double integral(double a,double b,double (*pf)(double)){//定义求定积分的通用函数 
	int i;
	double h,n=100,s=0;
	h=(b-a)/n;
	for(i=1;i<=100;i++){
		s+=h*(*pf)(a+(i-1)*h);//使用前点计算小矩形面积 
	}
	return s;
}

double f1(double x){//被积函数1 
	return (1+x)*(1+x); 
}

double f2(double x){//被积函数2
	return (exp(x)+1);
}

四、运行结果: 

 

        最后,希望本篇文章对你有所帮助,也希望可以支持支持博主,后续博主也会定期更新学习记录,记录学习过程中的点点滴滴。若这篇文章中有哪些不正确的内容,欢迎大家在评论区和我交流讨论!

  • 13
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梵豪

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值