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