我在时域中有ordinary differential equation
如下:
C*du/dt = -g*u + I
其中I = A*t/tau*exp^(1-t/tau)
:
u(w) = I(w)/(g*(1+C/g*j*w))
j
是复数sqrt(-1)
因此,我可以使用fast Fourier transform(u(t)
)进入频道域,然后使用fft
返回ifft
。
代码:
t = np.linspace(0.,499.9,5000)
I = q*t*np.exp(1-t/Tau_ca)/Tau_ca
u1 = np.fft.ifft(np.fft.fft(I)/(G_l*(1.+1.j*(C_m/G_l)*np.fft.fftfreq(t.shape[-1]))))
然而,当我将这个u(t)
与其他方法(如微分方程的数值积分或其分析形式)进行比较时,它是不正确的。我已经尝试过并且未能成功找出我的错误所在。