有没有办法对列表中的一组x和y值执行梯形规则?我有两个数字列表,当它们相对画出一个钟形曲线的形状时,我该如何找到曲线的面积?我有这个代码,但我看不到如何修改它,以工作只有两个数字列表
def trap0 (f ,a ,b ,n ):
# Basic trapezium rule . Integrate f(x ) over theinterval from a to b using n strips
h= float (b-a)/n
s =0.5*(f(a)+f(b))
for i in range (1,n):
s= s+f(a+i*h)
return s*h
你到底想集成什么功能?例如,将x坐标排序,然后在连续(x,y)对之间进行线性插值?你知道吗
或者你的想法是,你有一堆可能不规则间隔的(x,f(x))对,你想计算由连续对定义的梯形的面积之和(这将是通过这些点的任何函数的积分的近似值)?你知道吗
如果前者:我建议如下(危险:未经测试的代码):
之后,您可以创建
PiecewiseLinearFunction
的实例并将其传递给trap0
函数或其他任何函数。你知道吗如果后者:对(x,y)对排序,可能与上面的代码一样,然后计算每个梯形的面积(宽度乘以平均高度)并相加。你知道吗
相关问题 更多 >
编程相关推荐