numpy.fft.rfftn#

fft.rfftn(a, s=None, оси=None, norm=None, выход=None)[источник]#

Вычислить N-мерное дискретное преобразование Фурье для вещественного входа.

Эта функция вычисляет N-мерное дискретное преобразование Фурье по любому количеству осей в M-мерном вещественном массиве с помощью быстрого преобразования Фурье (БПФ). По умолчанию преобразуются все оси, причём вещественное преобразование выполняется по последней оси, а остальные преобразования являются комплексными.

Параметры:
aarray_like

Входной массив, принимаемый как вещественный.

sпоследовательность целых чисел, опционально

Форма (длина вдоль каждой преобразованной оси), используемая из входных данных. (s[0] относится к оси 0, s[1] к оси 1 и т.д.). Последний элемент s соответствует n для rfft(x, n), в то время как для остальных осей это соответствует n для fft(x, n). По любой оси, если заданная форма меньше, чем у входа, вход обрезается. Если она больше, вход дополняется нулями.

Изменено в версии 2.0: Если это -1, весь ввод используется (без заполнения/обрезки).

Если s не указан, форма ввода по осям, заданным оси используется.

Устарело с версии 2.0: Если s не является None, оси не должно быть None любой.

Устарело с версии 2.0: s должен содержать только int s, а не None значения. None текущие значения означают, что значение по умолчанию для n используется в соответствующем 1-D преобразовании, но это поведение устарело.

осипоследовательность целых чисел, опционально

Оси, по которым вычисляется БПФ. Если не указано, последние len(s) используются оси, или все оси, если s также не указан.

Устарело с версии 2.0: Если s указан, соответствующий оси для преобразования также должен быть явно указан.

norm{“backward”, “ortho”, “forward”}, опционально

Режим нормализации (см. numpy.fft). По умолчанию — «backward». Указывает, какое направление пары преобразований вперёд/назад масштабируется и с каким коэффициентом нормализации.

Новое в версии 1.20.0: Значения "backward", "forward" были добавлены.

выходcomplex ndarray, опционально

Если предоставлен, результат будет помещён в этот массив. Он должен быть соответствующей формы и типа данных для всех осей (и, следовательно, несовместим с передачей всех, кроме тривиального s).

Новое в версии 2.0.0.

Возвращает:
выходкомплексный ndarray

Усечённый или дополненный нулями вход, преобразованный вдоль осей, указанных оси, или комбинацией s и a, как объяснено в разделе параметров выше. Длина последней преобразованной оси будет s[-1]//2+1, в то время как оставшиеся преобразованные оси будут иметь длины в соответствии с s, или без изменений от входных данных.

Вызывает:
ValueError

Если s и оси имеют разную длину.

IndexError

Если элемент оси больше, чем количество осей a.

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

irfftn

Обратная величина rfftn, т.е. обратное n-мерное преобразование Фурье реального ввода.

fft

Одномерное быстрое преобразование Фурье с определениями и соглашениями, которые используются.

rfft

Одномерное БПФ действительного входа.

fftn

N-мерное быстрое преобразование Фурье.

rfft2

Двумерное БПФ вещественного входа.

Примечания

Преобразование для вещественного входа выполняется по последней оси преобразования, как в rfft, тогда преобразование по оставшимся осям выполняется как с помощью fftn. Порядок вывода такой же, как для rfft для конечной оси преобразования, и как для fftn для оставшихся осей преобразования.

См. fft для подробностей, определений и используемых соглашений.

Примеры

>>> import numpy as np
>>> a = np.ones((2, 2, 2))
>>> np.fft.rfftn(a)
array([[[8.+0.j,  0.+0.j], # may vary
        [0.+0.j,  0.+0.j]],
       [[0.+0.j,  0.+0.j],
        [0.+0.j,  0.+0.j]]])
>>> np.fft.rfftn(a, axes=(2, 0))
array([[[4.+0.j,  0.+0.j], # may vary
        [4.+0.j,  0.+0.j]],
       [[0.+0.j,  0.+0.j],
        [0.+0.j,  0.+0.j]]])