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
.
Вычислите обратное Преобразование Лапласа функционального 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)
Задайте обратное Преобразование Лапласа bar(y)
с помощью переменных x
и y
в качестве параметров:
ilaplace::addpattern(bar(y), y, x, foo(x)):
Функция ilaplace
распознает добавленный шаблон, даже если вы используете другие переменные в качестве параметров:
ilaplace(bar(s), s, t)
Добавьте этот шаблон для обратного Преобразования Лапласа 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)
Используйте предположения при добавлении этого шаблона для обратного Преобразования Лапласа:
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)
|
Арифметическое выражение в переменной |
|
Идентификатор или индексированный идентификатор, используемый в качестве переменной в шаблоне |
|
Идентификатор или индексированный идентификатор, используемый в качестве переменной в результате |
|
Арифметическое выражение в переменной |
|
Список идентификаторов или индексированных идентификаторов, используемых в качестве “переменных шаблона” (заполнители в |
|
Список условий на переменных шаблона |
Объект типа DOM_NULL