РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
171 of 541 menu

Функция ifftn

Функция ifftn выполняет многомерное обратное дискретное преобразование Фурье над многомерным массивом. Первым параметром она принимает массив комплексных чисел в частотной области. Вторым параметром можно задать размерность преобразования, третьим - оси, по которым выполняется преобразование, а четвертым - параметр масштабирования.

Синтаксис

np.fft.ifftn(a, s=None, axes=None, norm=None)

Параметры функции ifftn:

  • a - входной массив комплексных чисел в частотной области
  • s - форма выходного массива (кортеж из целых чисел)
  • axes - оси, по которым выполняется преобразование (кортеж из целых чисел)
  • norm - режим нормализации ("backward", "ortho", "forward")

Пример

Давайте выполним прямое и обратное преобразование над двумерным массивом:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) freq = np.fft.fftn(arr) res = np.fft.ifftn(freq) print(res)

Результат выполнения кода:

[[1.+0.j 2.+0.j 3.+0.j] [4.+0.j 5.+0.j 6.+0.j] [7.+0.j 8.+0.j 9.+0.j]]

Пример

Выполним обратное преобразование только по указанным осям:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) freq = np.fft.fftn(arr, axes=(0, 1)) res = np.fft.ifftn(freq, axes=(0, 1)) print(res)

Результат выполнения кода:

[[1.+0.j 2.+0.j 3.+0.j] [4.+0.j 5.+0.j 6.+0.j] [7.+0.j 8.+0.j 9.+0.j]]

Пример

Используем параметр s для изменения размера выходного массива:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) freq = np.fft.fftn(arr) res = np.fft.ifftn(freq, s=(3, 4)) print(res)

Результат выполнения кода:

[[ 1. +0.j 2. +0.j 3. +0.j 0. +0.j] [ 4. +0.j 5. +0.j 6. +0.j 0. +0.j] [ 0. +0.j 0. +0.j 0. +0.j 0. +0.j]]

Пример

Применим ортогональную нормализацию для обратного преобразования:

import numpy as np arr = np.array([[1, 2], [3, 4]]) freq = np.fft.fftn(arr, norm="ortho") res = np.fft.ifftn(freq, norm="ortho") print(res)

Результат выполнения кода:

[[1.+0.j 2.+0.j] [3.+0.j 4.+0.j]]

Смотрите также

  • функцию fftn,
    которая выполняет многомерное прямое преобразование Фурье
  • функцию fft,
    которая выполняет одномерное прямое преобразование Фурье
  • функцию ifft,
    которая выполняет одномерное обратное преобразование Фурье
  • функцию fft2,
    которая выполняет двумерное прямое преобразование Фурье
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить