如何在 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))
我想使用 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))