числовой::
Обратное быстрое преобразование Фурье
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
numeric::invfft(L
, <mode
>, <ReturnType = t
>, <Clean
>) numeric::invfft(M
, <mode
>, <ReturnType = t
>, <Clean
>) numeric::invfft(A
, <mode
>, <ReturnType = t
>, <Clean
>)
numeric::invfft(data)
возвращает обратное дискретное преобразование Фурье.
Одномерное обратное дискретное преобразование Фурье L = invfft (F) элементов данных N F k, сохраненный в списке F = [F 1, …, F N], является списком L = [L 1, …, L N] данный
.
invfft
преобразовывает данные алгоритмом Быстрого преобразования Фурье (FFT).
d - размерным обратным дискретным преобразованием Фурье A = invfft (F) дают
с j 1 = 1, …, n 1, …, j d = 1, …, n d.
Данные, обеспеченные списком, или одномерным array
или hfarray
, преобразовываются согласно одномерному преобразованию. Данные, обеспеченные матрицами, преобразовываются согласно двумерному преобразованию. Данные, обеспеченные многомерными массивами или hfarrays, преобразовываются согласно многомерному, преобразовывают соответствие с форматом входного массива.
Если размер данных, который N разлагает на множители как N = p q, обратное дискретное преобразование Фурье, может быть вычислен p различные обратные преобразования Фурье подмножеств данных, каждое подмножество, имеющее размер данных q. Соответствие 'делит и завоевывает' алгоритм, известен как БПФ ('Быстрое преобразование Фурье'). Стандартная программа invfft
использует Алгоритм бпф. Является самым эффективным, когда размер данных N является целочисленной степенью 2 ('основание 2 БПФ'). В этом случае для алгоритма нужны элементарные операции.
В более общем плане БПФ эффективен, если размер данных является продуктом многих маленьких факторов.
После Блюштайна обратное преобразование Фурье записано как свертка, если размер данных N является началом. Данные дополнены нулем к длине данных, которая является целочисленной степенью 2. Свертка затем вычисляется через основание 2 БПФ. Таким образом для алгоритма нужны элементарные операции, даже если N является началом.
Без опции Symbolic
функция чувствительна к переменной окружения DIGITS
, который определяет числовую рабочую точность.
Вычислите одномерные преобразования с помощью списков. По умолчанию числовые выражения преобразованы в значения с плавающей точкой:
L := [1, 2^(1/2), 3*I, PI]: F := numeric::fft(L)
numeric::invfft(F)
numeric::invfft(F, Clean)
Чтобы использовать точную арифметику, задайте опцию Symbolic
:
F := numeric::fft(L, Symbolic)
numeric::invfft(F, Symbolic)
numeric::invfft
принимает символьные выражения. Внутренне, метод по умолчанию HardwareFloats
(с DIGITS < 16
) приводит к сбою из-за символьного параметра x
. Следующие результаты вычисляются с арифметикой программного обеспечения, обеспеченной ядром MuPAD®:
L := [x, 2, 3, x]: numeric::fft(L)
numeric::invfft(F)
numeric::fft(L, Symbolic)
numeric::invfft(F, Symbolic)
delete L, F:
Вычислите следующее двумерное преобразование с помощью массива с двумя индексами:
A := array(1..2, 1..4, [[1, 2, 3, 4], [a, b, c, d]]): F := numeric::fft(A, Symbolic)
numeric::invfft(F, Symbolic)
delete A, F
Данные произвольной длины могут быть преобразованы:
L := [1, 2 + I, PI/3]: numeric::fft(L)
delete L
|
Список, или одномерный массив ( |
|
|
|
d - размерный |
|
Один из флагов |
|
С С По сравнению с Если никакой Если результат не может быть вычислен с оборудованием значения с плавающей точкой, арифметику программного обеспечения ядром MuPAD пробуют. Если текущее значение Может быть несколько причин аппаратной арифметики, чтобы перестать работать:
Если ни Если Обратите внимание на то, что С Запаздывающие цифры в результатах с плавающей точкой, вычисленных с |
|
Эта опция предотвращает преобразование входных данных к значениям с плавающей точкой. Без этой опции конвертер с плавающей точкой |
|
Опция, заданная как Возвратите результат в контейнере доменного типа Эта опция определяет доменный тип Если никакие не возвращаются, тип задан этой опцией, результат если из того же типа и формата как входные данные. Если тип возврата С |
|
Уменьшайте мусор округления в результате. Все записи результата с абсолютными значениями, меньшими, чем времена ПримечаниеПостобработка результата сделана на программном уровне. При использовании оборудования значения с плавающей точкой эта опция может значительно увеличить время выполнения. Эта опция проигнорирована, когда используется в сочетании с опцией |
Список, массив, hfarray, или матрица той же длины и формата как первый входной параметр L
, A
или M
, соответственно. Тип возвращаемого значения может быть изменен с опцией ReturnType
.