Я уже задавал подобный вопрос, но, к сожалению, я не смог решить мою проблему. Я ищу обратное преобразование Фурье для тяжелой функции
Вольфрамальфа уже дал мне точное решение FT, но вычисленный ifft не вычисляет тот же тяжелый участок.
мой код :
import numpy as np
import matplotlib.pyplot as plt
N=1000
x=np.linspace(-10,10,N)
dx=np.abs(x[0]-x[1])
freq=np.fft.fftfreq(N,dx)
#solution:
H=-np.heaviside(5-np.abs(x),1)
#the FT of the heviside according to wolframaplha
s_x=-np.sqrt(2/np.pi)*np.sin(5*x)/x
#the ifft:
s_k=np.fft.ifft(s_x)
plt.plot(freq,(s_k),label='calc')
plt.plot(x,H,label='exact')
plt.legend()
Как видно, решение имеет симметричную форму прямоугольника, но не начинается с x = 5 и не имеет правильной амплитуды. Дополнительно указана амплитуда как в отрицательной, так и в положительной области.