关于写出梯形积分方法的问题

2024-09-24 10:25:47 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我现在正在写一个Python程序,它将1划分为0n个片段,并根据片段的数量对其进行积分,每个梯形的(1-0)/n宽度相等。你知道吗

代码如下:

from numpy import sqrt,sin,arange

def f(x):
    return (sin(sqrt(100*x))**2)

def trapezoidal(f, a, b, n):
    h = float(b - a) / n
    s = 0.0
    s += f(a)/2.0

    for i in range(1, n):
        s += f(a + i*h)

    s += f(b)/2.0
    return s * h

print(trapezoidal(f(x), 5, 10, 100))

你们觉得这个代码行得通吗?另外,您如何添加一个序列或循环来计算1,2,4,8,162^10的面积?你知道吗


Tags: 代码fromimport程序numpy数量return宽度