Definite_integral= input()
list_1 = Definite_integral.split(',')
list_1 = [int(i) for i in list_1]
a = list_1[0]
b = list_1[1]
n = list_1[2]
s = 0
h = (b-a)/n
def func(i):
an = (1/(a+1+((i-1)*h))+(1/(a+1+i*h)))*h*0.5
return an
#定义通式
for i in range(1,n+1):
s += func(i)
print('s={:.5f}'.format(s))
“”"
本关任务:编写程序求f(x)= 1/(1+x)在[a,b]上的定积分
注意:结果保留5位小数(矩形法,辛普生法,梯形法)
测试输入:
0,2,1000
预期输出:
s= 1.09861
“”"
该程序采用梯形法计算函数f(x)=1/(1+x)在[a, b]上的定积分,其中a、b和n分别为积分区间的起点、终点和分割数。通过将区间等分为n份,利用梯形法则的公式,逐步累加每个小区间上的函数值,最终得到定积分的近似值。输入示例为0,2,1000,输出结果为s=1.09861,保留了5位小数。

被折叠的 条评论
为什么被折叠?



