我有一个通式,我试着把乘法的傅里叶变换(2个时域函数)变成它们之间的卷积
我想把下面表达式中的第一个元素改为n(t)和p(t)之间的卷积
G=FourierTransform(n(t)*p(t), t, k) - 2.0*I*k*FourierTransform(n(t), t)
卷积函数定义为:
def convolve(f, g, t, lower_limit=-oo, upper_limit=oo):
tau = Symbol('__some_name__', real=True)
return integrate(f.subs(t, tau) * g.subs(t, t - tau),
(tau, lower_limit, upper_limit))
我试着:
a, b,c = symbols('a b C', cls=Wild)
G=G.replace(FourierTransform(a*d, b,c), convolve(FourierTransform(a, b,c),
FourierTransform(d, b,c),t)
然而,python似乎不认识这种傅里叶变换模式,因为G保持完全相同
谢谢
您正在模式中使用变量“d”,但未定义它。试试
a, b, c, d = symbols('a b c d', cls=Wild)
。那么,你的模式对我来说很有效:给出:
相关问题 更多 >
编程相关推荐