【发布时间】:2017-06-15 19:57:07
【问题描述】:
我想在 python 中实现一个梯形内核(可能使用 numpy 或 scipy)进行卷积,就像在 astropy 模块中作为 Trapezoidal1Dkernel 一样。我曾尝试用梯形波形进行卷积,但结果并不理想。
def trapzoid_signal(t, width=2., slope=1., amp=1., offs=0):
global trasig
trasig=[]
trasig = slope*width*signal.sawtooth(2*np.pi*t/width, width=0.5)/4.
trasig+= slope*width/4.
trasig[trasig>amp] = amp
return trasig + offs
t = np.linspace(0, 32, 34)
trapzoid_signal(t, width=32, slope=1, amp=0.0322)
print(trasig)
z = scipy.signal.convolve(trasig,new)
如果我打印 z 它给出:
[ nan nan nan ..., nan nan nan]
我尝试绘制 z 它没有给出任何结果。有什么帮助吗?
【问题讨论】:
-
请尝试使用minimal reproducible example。你试过什么代码?你有测试输入/输出吗?
-
完成。请检查
标签: python-3.x numpy scipy convolution