python中有两个库有convolve函数,一个是numpy.convolve,scipy.signal.convolve函数,通过简单测试可以发现scipy.signal.convolve的运行速度略快一些。
在使用该函数的过程中,发现
这条语句执行了23min,其中
ut,fv都是2001*1的向量数据。按理说应该不会执行那么久啊。没有报错,到网上查了很多也没有解决。
最终在将ut,fv的元素拿出来查看类型,发现ut元素是float,fv元素是sympy库里面的一种数据类型Mul、Add?(因为用到了拉普拉斯逆变换)。记得八九不离十,懒得去运行看了需要跑23min费时间。
发现数据类型不同后,采用ff1 = ff.astype(np.float32)
将数据处理成一样类型float,发现解决了问题。跑该函数只花了几秒就跑完了。
哎,在放弃的边缘试探成功了,调bug真让人头秃。。。。。。