Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...