iztrans::addpattern

Добавьте, что шаблоны для инверсии Z преобразовывают

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

iztrans::addpattern(pat, z, k, res, <vars, <conds>>)

Описание

iztrans::addpattern(pat, z, k, res) преподает iztrans возвратить iztrans (pat, z, k) = res.

iztrans функционируйте использует набор шаблонов для вычислительной инверсии Z, преобразовывает. Можно расширить набор путем добавления собственных шаблонов. Чтобы добавить новый шаблон в сопоставителя, используйте iztrans::addpattern. MuPAD® не сохраняет пользовательские шаблоны постоянно. Новые шаблоны доступны на текущем сеансе MuPAD только.

Имена переменных, которые вы используете при вызове iztrans::addpattern может отличаться от имен, которые вы используете при вызове iztrans. Смотрите пример 2.

Можно включать список свободных параметров и список условий на этих параметрах. Эти условия и результат защищены от преждевременной оценки. Это означает, что можно использовать  not iszero(a^2 - b) вместо hold( _not @ iszero )(a^2 - b).

Следующие условия обрабатывают предположения на идентификаторах по-другому:

  • a^2 - b <> 0 учитывает предположения на идентификаторах.

  •  not iszero(a^2 - b) предположения игнорирований на идентификаторах.

Смотрите пример 3.

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

Вызов iztrans::addpattern изменяет выражения, возвращенные будущими вызовами iztrans.

Примеры

Пример 1

Вычислите инверсию Z преобразование функционального bar. По умолчанию MuPAD не имеет шаблона для этой функции:

iztrans(bar(z), z, k)

Добавьте шаблон для инверсии Z преобразование bar использование iztrans::addpattern:

iztrans::addpattern(bar(z), z, k, foo(k)):

Теперь iztrans возвращает инверсию Z преобразование bar:

iztrans(bar(z), z, k)

Пример 2

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

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

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

iztrans(bar(z), z, k)

Пример 3

Используйте предположения при добавлении, что этот шаблон для инверсии Z преобразовывает:

iztrans::addpattern(BAR(x*z), z, k, FOO(k/(x - 1/2))*sin(x),
                                      [x], [abs(x) < 1]):
iztrans(BAR(x*z), z, k) assuming -1 < x < 1

Если |x | ≥ 1, вы не можете применить этот шаблон:

iztrans(BAR(x*z), z, k) assuming x >= 1

Если MuPAD не может определить, удовлетворяют ли условиям, он возвращает piecewise объект:

iztrans(BAR(x*z), z, k)

Обратите внимание на то, что получившееся выражение, задающее инверсию Z преобразование BAR(x*z) неявно принимает что значение x не 1/2. Строгое определение шаблона:

ztrans::addpattern(BAR(x*z), z, k, FOO(k/(x - 1/2))*sin(x),
                     [x], [abs(x) < 1, x <> 1/2]):

Если или условиям не удовлетворяют или замена значениями в результат, дает ошибку, iztrans игнорирует шаблон. Для этого конкретного шаблона можно не использовать определение предположения x <> 1/2. Если x = 1/2, MuPAD выдает внутреннее “Деление на нуль”. ошибка и игнорирует шаблон:

iztrans(BAR(z/2), z, k)

Параметры

pat

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

z

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

k

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

res

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

vars

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

conds

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

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

Объект типа DOM_NULL