ztrans
:: addpattern
Добавьте, что шаблоны для Z преобразовывают
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
ztrans::addpattern(pat
, k
, z
, res
, <vars, <conds>
>)
ztrans::addpattern(pat, k, z, res)
учит ztrans
возвращаться.
Функция ztrans
использует набор шаблонов для вычисления Z, преобразовывает. Можно расширить набор путем добавления собственных шаблонов. Чтобы добавить новый шаблон в сопоставителя, используйте ztrans::addpattern
. MuPAD® не сохраняет пользовательские шаблоны постоянно. Новые шаблоны доступны на текущем сеансе MuPAD только.
Имена переменных, которые вы используете при вызове ztrans::addpattern
, могут отличаться от имен, которые вы используете при вызове ztrans
. Смотрите Пример 2.
Можно включать список свободных параметров и список условий на этих параметрах. Эти условия и результат защищены от преждевременной оценки. Это означает, что можно использовать not iszero(a^2 - b)
вместо hold( _not @ iszero )(a^2 - b)
.
Следующие условия обрабатывают предположения на идентификаторах по-другому:
a^2 - b <> 0
учитывает предположения на идентификаторах.
not iszero(a^2 - b)
игнорирует предположения на идентификаторах.
Смотрите пример 3.
Вызов ztrans::addpattern
изменяет выражения, возвращенные будущими вызовами ztrans
.
Вычислите преобразование Z функционального foo
. По умолчанию MuPAD не имеет шаблона для этой функции:
ztrans(foo(k), k, z)
Добавьте шаблон для преобразования Z foo
с помощью ztrans::addpattern
:
ztrans::addpattern(foo(k), k, z, bar(z)):
Теперь ztrans
возвращает преобразование Z foo
:
ztrans(foo(k), k, z)
После того, как вы добавляете, что новое преобразовывает шаблон, MuPAD может использовать тот шаблон косвенно:
ztrans(foo(k + 3), k, z)
Задайте преобразование Z foo(x)
с помощью переменных x
и y
в качестве параметров:
ztrans::addpattern(x, x, y, y/(y^2-2*y+1)):
Функция ztrans
распознает добавленный шаблон, даже если вы используете другие переменные в качестве параметров:
ztrans(s, s, t)
Используйте предположения при добавлении, что этот шаблон для Z преобразовывает:
ztrans::addpattern(FOO(x*k), k, z, sin(1/(x - 1/2))*BAR(z), [x], [abs(x) < 1]): ztrans(FOO(x*k), k, z) assuming -1 < x < 1
Если |x | ≥ 1, вы не можете применить этот шаблон:
ztrans(FOO(x*k), k, z) assuming x >= 1
Если MuPAD не может определить, удовлетворены ли условия, он возвращает объект piecewise
:
ztrans(FOO(x*k), k, z)
Обратите внимание на то, что получившееся выражение, задающее преобразование Z FOO(x*k)
неявно, принимает, что значение x
не является 1/2. Строгое определение шаблона:
ztrans::addpattern(BAR(x*k), k, z, sin(1/(x - 1/2))*FOO(z), [x], [abs(x) < 1, x <> 1/2]):
Если или условия не удовлетворены или замена значениями в результат, дает ошибку, ztrans
игнорирует шаблон. Для этого конкретного шаблона можно не использовать определение предположения x <> 1/2
. Если x = 1/2
, MuPAD выдает внутреннее “Деление на нуль”. ошибка и игнорирует шаблон:
ztrans(FOO(s/2),s,t)
|
Арифметическое выражение в переменной |
|
Идентификатор или индексированный идентификатор, используемый в качестве переменной в шаблоне |
|
Идентификатор или индексированный идентификатор, используемый в качестве переменной в результате |
|
Арифметическое выражение в переменной |
|
Список идентификаторов или индексированных идентификаторов, используемых в качестве “переменных шаблона” (заполнители в |
|
Список условий на переменных шаблона |
Объект типа DOM_NULL