numpy.fft.ifft2#
- fft.ifft2(a, s=None, оси=(-2, -1), norm=None, выход=None)[источник]#
Вычислить двумерное обратное дискретное преобразование Фурье.
Эта функция вычисляет обратное 2-мерное дискретное преобразование Фурье по любому количеству осей в M-мерном массиве с помощью быстрого преобразования Фурье (FFT). Другими словами,
ifft2(fft2(a)) == aс точностью до числовой погрешности. По умолчанию обратное преобразование вычисляется по последним двум осям входного массива.Входные данные, аналогично
ifft, должны быть упорядочены так же, как возвращаетсяfft2, т.е. он должен иметь член для нулевой частоты в нижнем углу двух осей, члены положительной частоты в первой половине этих осей, член для частоты Найквиста в середине осей и члены отрицательной частоты во второй половине обеих осей, в порядке убывающей отрицательной частоты.- Параметры:
- aarray_like
Входной массив, может быть комплексным.
- sпоследовательность целых чисел, опционально
Форма (длина каждой оси) выходных данных (
s[0]относится к оси 0,s[1]к оси 1 и т.д.). Это соответствует n дляifft(x, n). Вдоль каждой оси, если заданная форма меньше, чем у входных данных, входные данные обрезаются. Если она больше, входные данные дополняются нулями.Изменено в версии 2.0: Если это
-1, весь ввод используется (без заполнения/обрезки).Если s не указан, форма ввода по осям, заданным оси используется. См. примечания по проблеме в
ifftнулевое заполнение.Устарело с версии 2.0: Если s не является
None, оси не должно бытьNoneлюбой.Устарело с версии 2.0: s должен содержать только
ints, а неNoneзначения.Noneтекущие значения означают, что значение по умолчанию дляnиспользуется в соответствующем 1-D преобразовании, но это поведение устарело.- осипоследовательность целых чисел, опционально
Оси, по которым вычисляется БПФ. Если не указано, используются последние две оси. Повторяющийся индекс в оси означает, что преобразование по этой оси выполняется несколько раз. Последовательность из одного элемента означает, что выполняется одномерное БПФ. По умолчанию:
(-2, -1).Устарело с версии 2.0: Если s указан, соответствующий оси для преобразования не должен быть
None.- norm{“backward”, “ortho”, “forward”}, опционально
Режим нормализации (см.
numpy.fft). По умолчанию — «backward». Указывает, какое направление пары преобразований вперёд/назад масштабируется и с каким коэффициентом нормализации.Новое в версии 1.20.0: Значения "backward", "forward" были добавлены.
- выходcomplex ndarray, опционально
Если предоставлен, результат будет помещён в этот массив. Он должен быть соответствующей формы и типа данных для всех осей (и, следовательно, несовместим с передачей всех, кроме тривиального
s).Новое в версии 2.0.0.
- Возвращает:
- выходкомплексный ndarray
Усечённый или дополненный нулями вход, преобразованный вдоль осей, указанных оси, или последние две оси, если оси не указан.
- Вызывает:
- ValueError
Если s и оси имеют разную длину, или оси не указано и
len(s) != 2.- IndexError
Если элемент оси больше, чем количество осей a.
Смотрите также
Примечания
ifft2это простоifftnс другим значением по умолчанию для оси.См.
ifftnдля получения подробностей и примера построения графика, иnumpy.fftдля определения и используемых соглашений.Дополнение нулями, аналогично
ifft, выполняется путём добавления нулей к входным данным вдоль указанного измерения. Хотя это распространённый подход, он может привести к неожиданным результатам. Если требуется другая форма нулевого дополнения, оно должно быть выполнено доifft2вызывается.Примеры
>>> import numpy as np >>> a = 4 * np.eye(4) >>> np.fft.ifft2(a) array([[1.+0.j, 0.+0.j, 0.+0.j, 0.+0.j], # may vary [0.+0.j, 0.+0.j, 0.+0.j, 1.+0.j], [0.+0.j, 0.+0.j, 1.+0.j, 0.+0.j], [0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j]])