ilaplace:: addpattern

Добавьте шаблоны для обратного Преобразования Лапласа

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

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

Синтаксис

ilaplace::addpattern(pat, s, t, res, <vars, <conds>>)

Описание

ilaplace::addpattern(pat, s, t, res) учит ilaplace возвращать ilaplace (pat, s, t) = res.

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

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

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

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

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

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

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

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

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

Примеры

Пример 1

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

ilaplace(bar(s), s, t)

Добавьте шаблон для обратного Преобразования Лапласа bar с помощью ilaplace::addpattern:

ilaplace::addpattern(bar(s), s, t, foo(t)):

Теперь ilaplace возвращает обратное Преобразование Лапласа bar:

ilaplace(bar(s), s, t)

После того, как вы добавляете, что новое преобразовывает шаблон, MuPAD может использовать тот шаблон косвенно:

ilaplace(exp(-s)*bar(s), s, t)

Пример 2

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

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

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

ilaplace(bar(s), s, t)

Пример 3

Добавьте этот шаблон для обратного Преобразования Лапласа F:

ilaplace::addpattern(F(c, S)*G(c, S), S, T, T/(T^4 + 4*c^4)):
ilaplace(F(c, s)*G(c, s), s, t)

Этот шаблон содержит только, когда первый аргумент F является символьным параметром c. Если вы используете значение этого параметра, ilaplace игнорирует шаблон:

ilaplace(F(A, s)*G(A, s), s, t)

Чтобы использовать шаблон для произвольных значений параметра, объявите параметр c как дополнительная переменная шаблона:

ilaplace::addpattern(F(c, S)*G(c, S), S, T, T/(T^4 + 4*c^4), [c]):

Теперь ilaplace применяет заданный шаблон для произвольного значения c:

ilaplace(F(C, s)*G(C, s), s, t)

Также можно объявить несколько параметров как переменные шаблона. Например, этот шаблон имеет две переменные шаблона, a и b:

ilaplace::addpattern(f(a*y + b), y, x, g(x/a - b), [a, b]):
ilaplace(f(2*s + B), s, t)

Пример 4

Используйте предположения при добавлении этого шаблона для обратного Преобразования Лапласа:

ilaplace::addpattern(BAR(x*s), s, t, sin(1/(x - 1/2))*FOO(t),
                                       [x], [abs(x) < 1]):
ilaplace(BAR(x*s), s, t) assuming -1 < x < 1

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

ilaplace(BAR(x*s), s, t) assuming x >= 1

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

ilaplace(BAR(x*s), s, t)

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

ilaplace::addpattern(BAR(x*t), s, t, sin(1/(x - 1/2))*FOO(t),
                     [x], [abs(x) < 1, x <> 1/2]):

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

ilaplace(BAR(s/2), s, t)

Параметры

pat

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

s

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

t

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

res

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

vars

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

conds

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

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

Объект типа DOM_NULL