6-1 求定积分通用函数 - 实验12 用函数实现模块化程序设计 - 《Python编程基础及应用实验教程》,高教社

6-1 求定积分通用函数 - 实验12 用函数实现模块化程序设计 - 《Python编程基础及应用实验教程》,高教社

分数 10

全屏浏览

切换布局

作者 海洋饼干叔叔

单位 重庆大学

编写程序求以下定积分:

image.png


 

image.png

【问题分析】
根据数学知识,求定积分的问题实际上就是求函数f(x)当x在区间[a,b]时由x=a、x=b、y=0和y=f(x)围成的曲边四边形的面积。使用计算机解决这类问题的常用方法有矩形法、梯形法、辛普生法等。以梯形法为例,求定积分有如下几个步骤,如图12-1所示。

(1) 将区间[a,b]划分为若干等分,等分数取决于要求的精度;
 

(2) 计算出所有等分点的函数值f(xi);
 

(3) 连接相邻两个等分点的函数值,将所求曲边四边形区域用若干个小的梯形代替。此时相邻两等分点函数值之间的曲线和连接的直线之间的区域即为误差;
 

(4) 按平面几何公式求出所有小梯形的面积,然后求和得到曲边四边形面积的近似值。当积分区间的等分数趋近于无穷等分时,梯形面积之和无限趋近于真实的积分值。注意用计算机求解时只能求出满足精度要求的近似值。

下述测试代码中的connect()函数即是以梯形法非特定函数f求定积分,其中,参数f为积分数函数,a,b分别为积分下界和上界,n代表细分数。

请定义本题所要求的函数f1及f2,使得测试程序能正常运行,并正确计算出要求的定积分值。

函数接口定义:

 

def f1(x) def f2(x)

裁判测试程序样例:

 

#在此处定义函数f1和f2 def connect(f,a,b,n): h=(b-a)/n area=0 area=(f(a)+f(b))/2.0 for i in range(1,n): area+=f(a+i*h) return area*h print("%.2f" % connect(f1,0,2,100)) print("%.2f" % connect(f2,-1,1,100))

输入样例:

无输入

 

输出样例:

4.00
1.11

答案:

def f1(x):
    return 1+x
def f2(x):
    return 1/(1+4*x**2) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值