Подстановка и преобразование типов.

При выполнении математических преобразований часто необходимо произвести замену переменных в выражении, функции, уравнении и т.д., то есть вместо какой-то переменной подставить ее представление через некоторые другие переменные. А иногда необходимо выполнить преобразование выражения одного типа в другой. (Такое преобразование типов может потребоваться для выполнения некоторых команд, не работающих с исходным тиом выражения). Для этих целей в Maple существует несколько команд:

subs(подстановка, ВЫРАЖЕНИЕ) Синтаксическая подстановка одного выражения вместо другого в ВЫРАЖЕНИЕ
algsubs(подстановка, ВЫРАЖЕНИЕ) Алгебраическая подстановка одного выражения вместо другого в ВЫРАЖЕНИЕ
subsop(N=новое значение, ВЫРАЖЕНИЕ) Подстановка нового значения вместо N-го операнда ВЫРАЖЕНИЯ
convert(ВЫРАЖЕНИЕ, тип) Преобразует ВЫРАЖЕНИЕ в новый тип данных
whattype(ВЫРАЖЕНИЕ) Определяет тип выражения.

Для подстановки вместо некоторой переменной (выражения) другого выражения служит команда subs( ), синтаксис которой имеет следующий вид:

subs(старое выражение=новое выражение, ВЫРАЖЕНИЕ)
subs(s1, s2, .. sn, ВЫРАЖЕНИЕ )
subs([s1, s2, .. sn], ВЫРАЖЕНИЕ )
где каждое из s1,..sn является уравнением, определяющим подстановку.

Первая форма команды анализируетВЫРАЖЕНИЕ, определяет в нем все вхождения старое выражение и подставляет вместо них новое выражение.

Вторая форма команды позволяет выполнить серию подстановок в ВЫРАЖЕНИЕ, причем подстановки выполняются последовательно, начиная с s1. Это означает, что после выполнения первой подстановки, определенной s1, Maple отыскивает вхождения левой части уравнения s2 во вновь полученном выражении и заменяет каждое такое вхождение на выражение, заданное в правой части уравнения s2.

Подстановка и преобразование типов. - student2.ru Третья форма команды содержит подстановки в виде множества или списка. Эти подстановки выполняются ОДНОВРЕМЕННО, а не последовательно, как в предыдущем варианте команды.

То есть вхождения выражений, заданных в левых частях уравнений s1, s2, определяются в исходном параметре ВЫРАЖЕНИЕ. (см. примеры)

Команда subs( ) осуществляет так называемую "синтаксическую подстановку", т.е. замена в ВЫРАЖЕНИИпроисходит только тогда, когда левая часть уравнения подстановки совпадает с одним из операндов в структурном представлении ВЫРАЖЕНИЯ. В примере слева команда subs( ) не подставила в выражение s3 вместо s2 выражение 1-с2. Для осуществления подстановки можно воспользоваться несколькими способами:
  • Явно выразить старую переменную через новые и воспользоваться функцией subs( ).
Подстановка и преобразование типов. - student2.ru
  • Воспользоваться командой simplify( ), указав в качестве параметра требуемую замену (см. след раздел).
  • Воспользоваться командой algsubs( ), которая осуществляет алгебраическую подстановку.

Отметим, что полное исключение "старой" переменной произведено только при использовании первого из указанных способов. В остальных случаях "старая" переменная все-таки остается в преобразованном выражении.

Подстановка и преобразование типов. - student2.ru Если известно, какой операнд выражения необходимо заменить, то следует использовать команду subsop( ) со следующим синтаксисом: subsop(s1, s2, .. sn, ВЫРАЖЕНИЕ ) где s1, s2, .. sn представляют собой уравнения вида N_i=замена_i, в которых N_i - номер операнда в ВЫРАЖЕНИИ. На месте N_i может стоять список, в котором целые числа представляют порядковые номера операндов ПОСЛЕДУЮЩИХ уровней в структуре выражения (0 используется для имени функции).

Наши рекомендации