Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 12
Текст из файла (страница 12)
Начнем с команды 1зо1аСе для выделения одного из членов уравнения: > (зо1ате(х"2+а>у-х"4-1.а"у): ау=(-хт+х Однако при применении команды )зо1 а1е нужно соблюдать осторожность. Введем уравнение: > гезтагтх ец:-х+у-х*2-у 2; еа;= х + у = хз — у' При попытке применения 1зо) аде для выделения выражения, которое не содержится явно, выводится сообщение о невозможности выполнения затребованной операции: > (зо1ате(ец.х-у); Еггог, (тп )зо1ате) х+у - х"2-у"2, ооез пот сопоатп.
х-у Попытка использовать команду 1зо1 аде для выделения х+у приводит к некоторому результату, но не потеряно ли что-нибудь при такой процедуре г > тзо1ате(тассог(еп),х+у): х+у=О Для поиска неизвестных лучше использовать команды решения алгебраических уравнений и систем, которые описаны в главе 4 «Решение уравнений в Мар!е.. Рассмотрим ряд преобразований, позволяющих продемонстрировать команды выделения и найти решение уравнения ец. Образуем дробь, разделив правую часть уравнения ец на левую; > гас;-гпз(ец)/1Из(ец); хз — у гас:=— х+у Нормализуем дробь: > гат:-поп в1(гас); гат:=х-у Запишем выражение для разности величИн х и у, определить которую не удалось прямым обращением к команде (зо1 аге: > пыпег(газ)-оепов(гат); х-уа1 б8 Глава 2. Аналитические преобразования в Ыар(е Кстати, команда )ппесз(ЕО) позволяет получить список неизвестных в уравнении или системе ЕО.
Например, для введенного выше уравнения получим: > 1поетз(ец); !х,у) Заметим, что команды! Ьз и гпз полезны при выделении соответственно левой и правой части диапазона. Например, для использования в графической команде или операции интегрирования можно определить интервал: > спа:-зцг((Р2) .(а)Ь)"2: Чтобы вычислить длину этого интервала, достаточно выполнить следующую команду: > (гпз-)пз)(пза); а2 — — тгк (2 Упрощение выражений — яарИу Действующий в Мар!е режим автоматического упрощения заключается в использовании информации о свойствах математических функций для преобразования выражений к более компактной форме, Это демонстрируют следующие простые команды: > апз(апз(х)).агссоз(з(п(Р1)б)),ОАММА(1!2); 1 ~х! — п,з(й 3 В более сложных ситуациях необходимо обращение к той или иной команде упрощения, а иногда и к последовательности операций преобразования.
Команда з(пр1 2 Гу является мо)цным средством для проведения упрощающих преобразований, однако сам термин «упрошение» не вполне ясен, Получив выражение, Мар)е применяет ряд стандартных преобразований — Гасгог, соп)Ь)пе, ехрап6 и др., а также их комбинации, пытаясь получить итоговое выражение, которое было бы в некотором смысле проще исходного. Обращение к команде зтвр1(гу имеет вид: 22ЕП11(у(ЕХ.ОРТ) Упрощение выражения ЕХ производится согласно заданным параметрам ОРТ, которые могут быть определены в виде некоторых соотношений, а также одним или несколькими терминами из следуюшего списка: (а, Ез, ехр, ОйФ(А, Ьурегдеоп, 1п, ро1аг, роиег, гад( са1, йооЬОГ, ьцгг, Ьг1д и др.
Например, при указании параметра Ьш д упрошение производится в первую очередь с использованием тригонометрических соотношений. Если в качестве параметра ОРТ задать соотношения в виде равенств, то упрощение будет проводиться с учетом этих соотношений. Рассмотрим простые примеры. Введем выражение с радикалом и попробуем его упростить, не привлекая дополнительной информации о подкоренных величинах: > Г:-зцгс(х"2»у"5): Г-з(ер11ту(Г): Операции с фориупаии б9 Как видно, никакого упрощения не произошло. Используем соответствующий параметр, чтобы входящие в выражение переменные считались вещественными при упрощении: > 41вр1~(у(т,ааавпе-геа)); <вч)( Если указать, что переменные являются положительными, то получится: > а)вр11(у(т.ааилпе"роа11~че): ош ху О команде азсове будет рассказано в главе 3 «Математический анализ в Мар(е».
Если в качестве дополнительного параметра использовать термин аувбо1 ч с, то упрощение будет производиться без учета ограничений, накладываемых операцией (нзвлечение корня, логарифм и др.) на операнды: > ювр)1(у(т,ауВЬ011с): <5ш ху При упрощении можно использовать дополнительные соотношения для перемен- ных: > ювр))ту((.(х"у=1)); Помимо условий и соотношений можно определить переменные, относительно которых ведется упрощение.
Переменные могут быть заданы в виде множества, тогда порядок перечисления переменных не важен, а для упорядоченности следует использовать список: > (:"1-2*х 2«у"2+х"4«у+х 3"у 2-2*х«у"3-2"у 2: 41вр1~(у((,(у"2=1+х,х*у=х"3-1),(у,х)); -х' — х« — ха При другом порядке следования переменных для того же выражения получим ответ, в котором фигурируют только степени у: > а!вр1)уу(Г.
(у"2-1«х х"у-х З-Ц,(х,у)); -1 + у' — у'+ у' — у' При упрощении тригонометрических выражений бывает необходим ответ, выраженный через ту или иную функцию. Например, при упрощении тригонометрического выражения в ответе будут только косинусы: > Сг):-а(п(х)"4-41п(х) 3»соа(х)кое(х)"4-а)п(х)*соа(х) 3 - 1«а(п(2*х)/2: а)вр11(у(тг)): 2 соа(х) — 2 соа(х) Получить иное представление позволяет явное указание соответствующей функции: > а)вр)(гу(сг1,(41п(х)))-а)вр11гу(сг1,(соа(х))); -1 +с (х)4 ип(х)4 1 40 Глава 2. Аналитические преобразовании в Мар(е Используя знаменитое тригонометрическое тождество, можно прийти к ответу следующего вида: > ео:-(в!п(х)"2+сов(х)"2-Ц: в!ир1!Гу(гг!.еч.(в!п(х)))-в)ир1!Гу(гг!.ес.(сов(х)!); 2 сов(х)' — 2 сов(х) = 2 в!п(х)' — 2 вгв(х) Команда з ! а)р1 ! Гу эффективно упрощает многочлены и рациональные дроби, обрабатывает сложные выражения с радикалами.
Отметим, что соответствующие средства Мар)е совершенствуются от версии к версии. Это видно хотя бы по тому, что не для всех примеров, приведенных в справке Мар!е, получение компактного ответа требует указанных в примерах параметров. Например, упрощение следующего выражения реализуется простым обращением к команде э)в)р1 ! Гу: > (: х+(х-1)" (1/3)-(х-1)" (4/3): 5!ир1(ту(() 5!вр1!ту((.га()!са1); (пэ) (со) (х-1) =(х-!) Работа с радикалами может потребовать привлечения дополнительных команд, которые можно найти в списке родственных команд (5ее а(во), завершающем описание команды или параметра в справке Мар!е.
Приведем демонстрацию эффективности специальной команды нормализации выражений с радикалами га((погп)а1: > гадп)-(2"(3/4)+2"(1/4))/(3*2"(1/2)>4) (1/2): в!ир))ту(гаа)-гаепагиа1(гав); 2 ( 2+1) он 3 2+4 Подстановка Для замены переменной ОЕО выражением ))Е)) в объект ЕХ (выражение, список, множество, ...) применяется команда соЬв (0(0 НЕИ.ЕХ) В одной команде разрешается использовать несколько выражений вида ОЕО-НЕ)), и этот набор подстановок может быть оформлен в виде множества.
Подстановка не изменяет исходный объект ЕХ, а позволяет получить новое выражение. После операции подстановки иногда требуется одна из рассмотренных выше команд для упрощения или команда вычисления выражения Гоценивзиия) еча1, которая рассмотрена выше и также может использоваться для подстановок. Например: > 41.-виьв(х-О.(в!п(х)+1)асов(х)р)/6))( /1 х/:= ( в)п(0) + 1 ) со — я ) ~6 > гассог(42),ехрапе(в2),а!вр1!Гу(42).еча1(42)) чз /3 )(3 тЗ 1 1 1 1 2 '2 '2 '2 Операции с фора)папи 71 Чтобы такое оценивание производилось автоматически, можно вставить в файл инициализации Мар!е или ввести в текущем сеансе следующее определение макрокоманды (см.
главу 7 «Программирование в Мар!е»): > иасго (аиоа-ена19аоьа): В этом случае ответ выдается сразу: > хопа(х=о,а)): 1 2 —,Гз При нескольких подстановках замещение производится слева направо. Это иллюстрируют следующие два примера: > аоьа(х-у,г-х+у.г+х); ацоа(г-х+у.х-ум»х); х+2у Зу Вместо последовательной подстановки можно использовать операцию одновременного замещения.
Для этого подставляемые тождества нужно взять в фигурные скобки — превратить в множество. Это, например, позволяет поменять местами аргументы у функции нескольких переменных: > 5ОЬ5((х у.у х).Г(х,у)): г(у, х) С помощью команды аоЬз можно заменять выражения, Однако при этом нужно, чтобы Мар!е распознал их. Образуем список, в котором произведение аЬ присутствует в разных видах, и применим к этому списку команду аоЬгс > ех:-(2*а*о>с.Ь"а+с*а*Ь,(а*Ь)"2): аооа(а*Ь-О.ех): [2 Н+ с, И+ а Ь с, ах Ьх) Пример показал, что подстановка командой аоЬз выполнена не для всех случаев, что объясняется спецификой ее работы. Можно сказать, что команда выполняет «синтаксическое» замещение слов, не идентифицируя заменяемое, являющееся частью выражения, и не всегда обнаруживает все варианты.
Для выполнения «математических» замещений, то есть включающих анализ выражений, имеется команда а1даэЬз, которая легко распознает нужные величины в разных контекстах, но может оставить больше переменных, чем хотелось бы. Применение команды а1ОзоЬз позволяет провести все подстановки в рассмотренном выше выражении: > а1даооа(а'"Ь-п,ех): 120+ с, И+ с А Нх] Иногда требуется преобразовать выражение, выделив, например, произведение двух переменных. Непосредственное применение команды приведения подобных членов здесь не дает желаемого эффекта: > ех:-а"Ь+с*а*Ь+1: со1)есс(ех,а«Ь): ех:=аь+саЬ+1 Еггог. ((п со11«сг) саппое со11«се а Ь 72 Глава 2.