numpy 数据与时间的积分(Python)

inn6fuwd  于 2023-10-19  发布在  Python
关注(0)|答案(2)|浏览(91)

我有一个时间序列x(t),它是一个NumPy数组。我的作业告诉我,我需要求出这些数据对时间的积分。
我该怎么做?我需要整合的不是一个函数,而是一个数据列表。

7cwmlq89

7cwmlq891#

这取决于问题的陈述。一个粗鲁的方法是这样的

import numpy as np
import scipy as sp

t = np.linspace(-1, 1, 100)
x = t*t

delta = t[1] - t[0]
I = sum(delta*x)
wvyml7n5

wvyml7n52#

你可以使用“辛普森法则”。可以为您执行此操作的例程是scipy.integrate中的simps。如果要积分的数据之间没有规则的间隔,则应选择与scipy.integrate不同的方法,例如梯形规则trapz

>>> help(scipy.integrate.simps)
Help on function simps in module scipy.integrate.quadrature:

simps(y, x=None, dx=1, axis=-1, even='avg')
    Integrate y(x) using samples along the given axis and the composite
    Simpson's rule.  If x is None, spacing of dx is assumed.

    If there are an even number of samples, N, then there are an odd
    number of intervals (N-1), but Simpson's rule requires an even number
    of intervals.  The parameter 'even' controls how this is handled.

相关问题