fourier:: addpatternДобавьте шаблоны для преобразования Фурье
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
fourier::addpattern(pat, t, w, res, <vars, <conds>>)
fourier::addpattern(pat, t, w, res) учит fourier возвращать res для выражения pat.
Функция fourier использует набор шаблонов для вычисления преобразований Фурье. Можно расширить набор путем добавления собственных шаблонов. Чтобы добавить новый шаблон в сопоставителя, используйте fourier::addpattern. MuPAD® не сохраняет пользовательские шаблоны постоянно. Новые шаблоны доступны на текущем сеансе MuPAD только.
После вызова fourier::addpattern(pat, t, w, res) функция fourier возвращает res для выражения pat. Обратите внимание на то, что преобразование Фурье задано как
, где c и s являются параметрами, заданными Pref::fourierParameters. Если вы добавите новый шаблон, и затем измените параметры преобразования Фурье, результат, возвращенный fourier(pat, t, w), также изменится. Смотрите Пример 2.
Имена переменных, которые вы используете при вызове fourier::addpattern, могут отличаться от имен, которые вы используете при вызове fourier. Смотрите Пример 3.
Можно включать список свободных параметров и список условий на этих параметрах. Эти условия и результат защищены от преждевременной оценки. Это означает, что можно использовать not iszero(a^2 - b) вместо hold( _not @ iszero )(a^2 - b).
Следующие условия обрабатывают предположения на идентификаторах по-другому:
a^2 - b <> 0 учитывает предположения на идентификаторах.
not iszero(a^2 - b) игнорирует предположения на идентификаторах.
Парный (pat, res) Фурье содержит только для текущих значений параметров преобразования Фурье, заданных Pref::fourierParameters.
Вызов fourier::addpattern может изменить выражения, возвращенные будущими вызовами fourier и ifourier на текущем сеансе MuPAD.
Вычислите преобразование Фурье функционального foo. По умолчанию MuPAD не имеет шаблона для этой функции:
fourier(foo(t), t, w)
![]()
Добавьте шаблон для преобразования Фурье foo с помощью fourier::addpattern:
fourier::addpattern(foo(t), t, w, bar(w)):
Теперь fourier возвращает преобразование Фурье foo:
fourier(foo(t), t, w)
![]()
После того, как вы добавляете, что новое преобразовывает шаблон, MuPAD может использовать тот шаблон косвенно:
fourier(t^3 + a*foo(2*t - 4), t, w)

Добавьте этот новый шаблон преобразования Фурье для функционального foo:
fourier::addpattern(foo(t), t, w, bar(w)): fourier(foo(t), t, w)
![]()
Теперь измените параметры преобразования Фурье с помощью Pref::fourierParameters:
Pref::fourierParameters(a, b):
Оцените преобразование с новыми параметрами:
fourier(foo(t), t, w)
![]()
Для дальнейших вычислений восстановите значения по умолчанию параметров преобразования Фурье:
Pref::fourierParameters(NIL):
Задайте преобразование Фурье foo(x) с помощью переменных x и y в качестве параметров:
fourier::addpattern(foo(x), x, y, bar(y)):
Функция fourier распознает добавленный шаблон, даже если вы используете другие переменные в качестве параметров:
fourier(foo(t), t, w)
![]()
Используйте предположения при добавлении следующего шаблона для преобразования Фурье:
fourier::addpattern(foo(x, t), t, w, bar(x, w), [x], [abs(x) < 1]): fourier(foo(x, t), t, w) assuming -1 < x < 1
![]()
Если |x | ≥ 1, вы не можете применить этот шаблон:
fourier(foo(x, t), t, w) assuming x > 1
![]()
Если MuPAD не может определить, удовлетворены ли условия, он возвращает объект piecewise:
fourier(foo(x, t), t, w)
![]()
Добавьте этот шаблон для преобразования Фурье f:
fourier::addpattern(f(a, t), t, w, g(a, w)/a): fourier(f(a, T), T, W)
![]()
Этот шаблон содержит только, когда первый аргумент f является символьным параметром a. Если вы используете значение этого параметра, fourier игнорирует шаблон:
fourier(f(b, T), T, W); fourier(f(2, T), T, W)
![]()
![]()
Чтобы использовать шаблон для произвольных значений параметра, объявите параметр a как дополнительная переменная шаблона:
fourier::addpattern(f(a, t), t, w, g(a, w)/a, [a]):
Теперь fourier применяет заданный шаблон для произвольного значения a:
fourier(f(2, T), T, W)
![]()
fourier(f(a^2 + 1, T), T, W)

Обратите внимание на то, что получившийся g(a, w)/a выражения, задающий преобразование Фурье f(a, t) неявно, принимает, что значение a не является нулем. Строгое определение шаблона:
fourier::addpattern(f(a, t), t, w, g(a, w)/a, [a], [a <> 0]):
Для этого конкретного шаблона можно не использовать определение предположения a <> 0 явным образом. Если a = 0, MuPAD выдает внутреннее “Деление на нуль”. ошибка и игнорирует шаблон:
fourier(f(0, T), T, W)
![]()
|
Арифметическое выражение в переменной |
|
Идентификатор или индексированный идентификатор, используемый в качестве переменной в шаблоне |
|
Идентификатор или индексированный идентификатор, используемый в качестве переменной в результате |
|
Арифметическое выражение в переменной |
|
Список идентификаторов или индексированных идентификаторов, используемых в качестве “переменных шаблона” (заполнители в |
|
Список условий на переменных шаблона |
Объект типа DOM_NULL