如何在 Python 内集成 For 循环

How to integrate in Python inside For loop

我想使用 scipy 的 integrate.simps 从数据样本中获取集成函数。

正在 For 循环(变量 fx)内计算数据样本。 在同一步骤中,我将积分值存储在变量 intfx 中。

import numpy as np
import pylab as pl
from scipy import integrate

t=np.arange(0,10.01,0.01)

fx=[]
intfx=[]

counter=0
for i in t:
    counter+=1
    fx.append(np.sin(i))
    intfx.append(fx[-1]+integrate.trapz(fx[-2:], dx=0.1))

pl.plot(t,fx)
pl.plot(t,intfx)
pl.show()

在plots上可以看出这两个函数非常相似,这显然是错误的。

谁能帮我解决这个问题?

犯了一个愚蠢的错误。

行:

intfx.append(fx[-1]+integrate.trapz(fx[-2:], dx=0.1))

应该是这样的:

intfx.append(intfx[-1]+integrate.trapz(fx[-2:], dx=0.1))