FEMM 5

Модули и функции · встроенный MicroPython FEMM 5

numpy.fft

Дискретное преобразование Фурье позволяет исследовать спектр данных, представленных одномерными и двумерными массивами.

Условия работы

numpy.fft.fftПрямое дискретное преобразование Фурье: сумма x[k]·exp(-2j*pi*k*m/N).

numpy.fft.fft

numpy.fft.fft(a, n=None, axis=-1, norm=None)

Прямое дискретное преобразование Фурье: сумма x[k]·exp(-2j*pi*k*m/N).

Аргументы

Аргументы вызова numpy.fft.fft
ИмяНазначение и допустимые значения
aВходной вектор или матрица, вещественные/комплексные значения.
nПоложительная длина; None сохраняет длину выбранной оси. Иначе вход обрезается либо дополняется нулями.
axis-1 по умолчанию: последняя ось; 0 — строки вектора или столбцы матрицы, 1 — строки матрицы.
normNone, 'backward', 'forward' или 'ortho'.

Возвращаемое значение

complex ndarray; форма входа с заменой длины выбранной оси на n, если n задано.

Особенности вызова

  • axis=-1 означает преобразование каждой строки двумерной матрицы. Для преобразования столбцов укажите axis=0.

Пример

MicroPython FEMM 5
"Пример numpy.fft.fft.\nСреда: встроенный MicroPython FEMM 5.\nПрямое дискретное преобразование Фурье: сумма x[k]·exp(-2j*pi*k*m/N).\nРезультат: complex ndarray; форма входа с заменой длины выбранной оси на n, если n задано."

import numpy as np
x=np.array([1,2,3])
y=np.fft.fft(x)
assert len(y)==3 and abs(y[0]-6)<1e-8
print(y)

Ожидаемый результат. Три комплексных спектральных отсчёта; нулевая гармоника равна 6.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

numpy.fft.ifftОбратное дискретное преобразование Фурье.

numpy.fft.ifft

numpy.fft.ifft(a, n=None, axis=-1, norm=None)

Обратное дискретное преобразование Фурье.

Аргументы

Аргументы вызова numpy.fft.ifft
ИмяНазначение и допустимые значения
aВходной вектор или матрица, вещественные/комплексные значения.
nПоложительная длина; None сохраняет длину выбранной оси. Иначе вход обрезается либо дополняется нулями.
axis-1 по умолчанию: последняя ось; 0 — строки вектора или столбцы матрицы, 1 — строки матрицы.
normNone, 'backward', 'forward' или 'ortho'.

Возвращаемое значение

complex ndarray; форма входа с заменой длины выбранной оси на n, если n задано.

Особенности вызова

  • axis=-1 означает преобразование каждой строки двумерной матрицы. Для преобразования столбцов укажите axis=0.

Пример

MicroPython FEMM 5
"Пример numpy.fft.ifft.\nСреда: встроенный MicroPython FEMM 5.\nОбратное дискретное преобразование Фурье.\nРезультат: complex ndarray; форма входа с заменой длины выбранной оси на n, если n задано."

import numpy as np
x=np.array([1,2,3])
y=np.fft.ifft(np.fft.fft(x))
assert max([abs(y[k]-x[k]) for k in range(3)])<1e-8
print(y)

Ожидаемый результат. Восстановлен исходный вектор [1,2,3].

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

numpy.fft.fft2Прямое двумерное преобразование Фурье последовательным преобразованием двух осей.

numpy.fft.fft2

numpy.fft.fft2(a, s=None, axes=None, norm=None)

Прямое двумерное преобразование Фурье последовательным преобразованием двух осей.

Аргументы

Аргументы вызова numpy.fft.fft2
ИмяНазначение и допустимые значения
aДвумерный числовой массив.
sNone либо пара положительных размеров выходной сетки; вход обрезается/дополняется нулями.
axesNone, (-2,-1) либо (0,1); остальные варианты не поддержаны.
normNone, 'backward', 'forward' или 'ortho'.

Возвращаемое значение

Двумерный complex ndarray исходной формы либо формы s.

Пример

MicroPython FEMM 5
"Пример numpy.fft.fft2.\nСреда: встроенный MicroPython FEMM 5.\nПрямое двумерное преобразование Фурье последовательным преобразованием двух осей.\nРезультат: Двумерный complex ndarray исходной формы либо формы s."

import numpy as np
A=np.array([[1,2],[3,4]])
Y=np.fft.fft2(A)
assert Y.shape==(2,2) and abs(Y[0,0]-10)<1e-8
print(Y)

Ожидаемый результат. Форма (2,2); нулевая гармоника равна 10.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

numpy.fft.ifft2Обратное двумерное преобразование Фурье.

numpy.fft.ifft2

numpy.fft.ifft2(a, s=None, axes=None, norm=None)

Обратное двумерное преобразование Фурье.

Аргументы

Аргументы вызова numpy.fft.ifft2
ИмяНазначение и допустимые значения
aДвумерный числовой массив.
sNone либо пара положительных размеров выходной сетки; вход обрезается/дополняется нулями.
axesNone, (-2,-1) либо (0,1); остальные варианты не поддержаны.
normNone, 'backward', 'forward' или 'ortho'.

Возвращаемое значение

Двумерный complex ndarray исходной формы либо формы s.

Пример

MicroPython FEMM 5
"Пример numpy.fft.ifft2.\nСреда: встроенный MicroPython FEMM 5.\nОбратное двумерное преобразование Фурье.\nРезультат: Двумерный complex ndarray исходной формы либо формы s."

import numpy as np
A=np.array([[1,2],[3,4]])
Y=np.fft.ifft2(np.fft.fft2(A))
assert abs(Y[1,1]-4)<1e-8
print(Y)

Ожидаемый результат. Восстановлена исходная матрица.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

Имена в установленной сборке

Перечень получен во встроенном интерпретаторе. Он включает функции, классы и константы. Ссылки ведут к контрактам; для прямого доступа ulab учитывайте условия этого раздела.