Подстановка и преобразование типов
При выполнении математических преобразований часто необходимо произвести замену переменных в выражении, функции, уравнении и т.д., то есть вместо какой-то переменной подставить ее представление через некоторые другие переменные. А иногда необходимо выполнить преобразование выражения одного типа в другой. (Такое преобразование типов может потребоваться для выполнения некоторых команд, не работающих с исходным тиом выражения). Для этих целей в Maple существуетy несколько команд:
subs(подстановка, ВЫРАЖЕНИЕ)
| Синтаксическая подстановка одного выражения вместо другого в ВЫРАЖЕНИЕ
|
algsubs(подстановка, ВЫРАЖЕНИЕ)
| Алгебраическая подстановка одного выражения вместо другого в ВЫРАЖЕНИЕ
|
subsop(N=новое значение, ВЫРАЖЕНИЕ)
| Подстановка нового значения вместо N-го операнда ВЫРАЖЕНИЯ
|
convert(ВЫРАЖЕНИЕ, тип)
| Преобразует ВЫРАЖЕНИЕ в новый тип данных
|
whattype(ВЫРАЖЕНИЕ)
| Определяет тип выражения.
|
Для подстановки вместо некоторой переменной (выражения) другого выражения служит команда subs(), синтаксис которой имеет следующий вид:
subs(старое выражение=новое выражение, ВЫРАЖЕНИЕ)
subs(s1, s2,.. sn, ВЫРАЖЕНИЕ)
subs([s1, s2,.. sn], ВЫРАЖЕНИЕ)
где каждое из s1,..sn является уравнением, определяющим подстановку.
Первая форма команды анализирует ВЫРАЖЕНИЕ, определяет в нем все вхождения старое выражение и подставляет вместо них новое выражение.
Вторая форма команды позволяет выполнить серию подстановок в ВЫРАЖЕНИЕ, причем подстановки выполняются последовательно, начиная с s1. Это означает, что после выполнения первой подстановки, определенной s1, Maple отыскивает вхождения левой части уравнения s2 во вновь полученном выражении и заменяет каждое такое вхождение на выражение, заданное в правой части уравнения s2.
| Третья форма команды содержит подстановки в виде множества или списка. Эти подстановки выполняются ОДНОВРЕМЕННО, а не последовательно, как в предыдущем варианте команды.
|
То есть вхождения выражений, заданных в левых частях уравнений s1, s2, определяются в исходном параметре ВЫРАЖЕНИЕ. (см. примеры)
Команда subs() осуществляет так называемую "синтаксическую подстановку", т.е. замена в ВЫРАЖЕНИИ происходит только тогда, когда левая часть уравнения подстановки совпадает с одним из операндов в структурном представлении ВЫРАЖЕНИЯ. В примере слева команда subs() не подставила в выражение s3 вместо s2 выражение 1-с2. Для осуществления подстановки можно воспользоваться несколькими способами:
- Явно выразить старую переменную через новые и воспользоваться функцией subs().
|
|
- Воспользоваться командой simplify(), указав в качестве параметра требуемую замену (см. след раздел).
- Воспользоваться командой algsubs(), которая осуществляет алгебраическую подстановку.
Отметим, что полное исключение "старой" переменной произведено только при использовании первого из указанных способов. В остальных случаях "старая" переменная все-таки остается в преобразованном выражении.
| Если известно, какой операнд выражения необходимо заменить, то следует использовать команду subsop() со следующим синтаксисом:
subsop(s1, s2,.. sn, ВЫРАЖЕНИЕ) где s1, s2,.. sn представляют собой уравнения вида N_i=замена_i, в которых N_i - номер операнда в ВЫРАЖЕНИИ. На месте N_i может стоять список, в котором целые числа представляют порядковые номера операндов ПОСЛЕДУЮЩИХ уровней в структуре выражения (0 используется для имени функции).
|
| Преобразовать выражение в другой тип можно командой convert(ВЫРАЖЕНИЕ, новый тип). Преобразование типов в Maple имеет некоторые ограничения, т.е. нельзя преобразовать выражеие произвольного типа в выпажение другого типа, который поддерживается системой аналитических вычислений. Все допустимые преобразования типов можно посмотреть в справке по команде convert().
|
Воспользуйтесь поиском по сайту: