#python #arrays #numpy #fft
Вопрос:
У меня есть следующий набор данных в нормальном пространстве, назовем его func
: я преобразовал его в пространство фурье с помощью алгоритма numpy fft
from numpy.fft import fft as fourier
, я получил форму фурье с использованием func_fourier = np.fft.fftshift(fourier(func))
и построил абсолютные значения plt.plot(np.abs(func_fourier))
, что приводит к следующему графику:.
Теперь я хочу подогнать гауссову модель к этой функции в фурьевом пространстве. Проблема в том, что у меня нет значений x(частот), по которым я мог бы построить свой func_fourier
график. Как мне создать правильный частотный массив в пространстве фурье, который мне также нужен для подгонки гауссовой модели к моей преобразованной функции ?
Комментарии:
1. как вы составили свой
func
план ? может400-2000
быть, используется диапазон ? тогда какова используемая частота дискретизации ? см. numpy.fft.fftfreq2. Вы искали эту проблему? Что ты получил?
Ответ №1:
Значения x по умолчанию создаются следующим образом:
frequencies = list(range(len(y)))
Примечание: Согласно вашему объяснению, ваши преобразованные значения Фурье хранятся в func_fourier, поэтому значение y равно func_fourier
.
Комментарии:
1. вы имеете в виду значения x по умолчанию в функции plt.plot (), которые создаются, если вы опустите первый аргумент, например plt.plot(y) ?
2. @trynerror Меня не было в офисе, поэтому я не смог отредактировать комментарий. Смотрите обновленный ответ.