2024-09-24 06:21:58 发布
网友
我有一个时间依赖的信号。
我想绘制它随时间的积分,时间是x轴,积分值是y轴。
Python有什么方法可以做到这一点吗?
更具体地说:
我有一个时间数组,time,还有一个信号数组,signal。它们的尺寸是一样的。
time
signal
我需要在time上与scipy.integrate.trapz()集成signal。
scipy.integrate.trapz()
我不想得到最终的积分,而是希望看到积分随着时间的推移而变化。
更好的答案是使用可选的"initial"参数。下面是一个完整的示例:
"initial"
import scipy.integrate as it import numpy as np import matplotlib.pyplot as plt t=np.linspace(0,1, 100) y=t**2 y_int = it.cumtrapz( y , t, initial=0.0) # y_int is same size as t plt.plot(t, y_int) plt.show()
这避免了像time[:-1]这样的奇怪索引
time[:-1]
尝试使用scipy.integrate.cumtrapz()代替:
scipy.integrate.cumtrapz()
plt.plot(time[:-1], scipy.integrate.cumtrapz(signal, x=time)) plt.show()
它计算包含累积积分值的数组。
http://docs.scipy.org/doc/scipy-0.10.1/reference/generated/scipy.integrate.trapz.html
更好的答案是使用可选的
"initial"
参数。下面是一个完整的示例:这避免了像
time[:-1]
这样的奇怪索引尝试使用
scipy.integrate.cumtrapz()
代替:它计算包含累积积分值的数组。
http://docs.scipy.org/doc/scipy-0.10.1/reference/generated/scipy.integrate.trapz.html
相关问题 更多 >
编程相关推荐