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) предположения игнорирований на идентификаторах.

Смотрите пример 4 и пример 5.

Взаимодействия среды

Парный (pat, res) Фурье содержит только для текущих значений параметров преобразования Фурье, заданных Pref::fourierParameters.

Вызов fourier::addpattern может изменить выражения, возвращенные будущими вызовами fourier и ifourier на текущем сеансе MuPAD.

Примеры

Пример 1

Вычислите преобразование Фурье функционального 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)

Пример 2

Добавьте этот новый шаблон преобразования Фурье для функционального 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):

Пример 3

Задайте преобразование Фурье foo(x) использование переменных x и y как параметры:

fourier::addpattern(foo(x), x, y, bar(y)):

fourier функция распознает добавленный шаблон, даже если вы используете другие переменные в качестве параметров:

fourier(foo(t), t, w)

Пример 4

Используйте предположения при добавлении следующего шаблона для преобразования Фурье:

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)

Пример 5

Добавьте этот шаблон для преобразования Фурье 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)

Параметры

pat

Арифметическое выражение в переменной t представление шаблона, чтобы соответствовать

t

Идентификатор или индексированный идентификатор, используемый в качестве переменной в шаблоне

w

Идентификатор или индексированный идентификатор, используемый в качестве переменной в результате

res

Арифметическое выражение в переменной w представление шаблона для результата преобразования

vars

Список идентификаторов или индексированных идентификаторов, используемых в качестве “переменных шаблона” (заполнители в pat и res). Можно использовать переменные шаблона в качестве заполнителей почти для любых выражений MuPAD, не содержащих t или w. Можно ограничить их условиями, данными в дополнительном параметре conds.

conds

Список условий на переменных шаблона

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

Объект типа DOM_NULL