Спасибо, на самом деле ошибка была в том, что я смотрел несколько ссылок и не определил L так, как должно быть: длина интервала!

сь использовать NumPy для быстрого дифференцирования с преобразованием Фурье. В приведенном ниже коде я создаю простую функцию синуса и пытаюсь получить косинус. Результат показан на картинке. Кажется, есть нормализатор, который я не понимаю, несмотря на чтение документации, и который мешает мне получить правильные результаты.

Можете ли вы сказать мне, как избавиться от фактора нормализации или я терплю неудачу по-другому? Также, пожалуйста, объясните, почему частота Найквиста отсутствует, когда длина массива нечетна.

x = np.arange(start=-300., stop=300.1, step=0.1)
sine = np.sin(x)

Y = np.fft.rfft(a=sine, n=len(x))
L = 2.*np.pi #period
N = size(Y)

for k, y in enumerate(Y):
    Y[k] *= 2.*np.pi*1j*k/L

# if N is even, the last entry is the Nyquist frequency.
#if N is odd, there it is not there.
if N%2 == 0:
    Y[-1] *= 0.

cosine = np.fft.irfft(a=Y, n=len(x))

Ответы на вопрос(1)

Ваш ответ на вопрос