Дьяконов В. Maple 7 - Учебный курс (1185900), страница 55
Текст из файла (страница 55)
Приведем две фушсппи для оценки уровней выражений и списков: О порз(ехрг) — возвращает число объектов первого уровня (операндов) в выражешш ехрг; О ор(ехрг) — возвращает список объектов первого уровня в выражении ехрг; О ор(п,ехрг) — возвращает и-й объект первого уровня в вь)раженни ехрг.
Ниже представлены примеры применения этих функции: > порз(аь)зтс); 2 > ор(а+Ыс); Ь а,— с > ор(),а+ьус); а > ор(2,а>Ыс): Ь с Рекомендуется просмотреть и более сложные примеры на применение этих функ- ций в справке. Преобразование выражений в тождественные формы Многие математические выражения имеют различные тождественные формы. Порою преобразование выражения из одной формы в другую позволяет получить результат, более удобный для последующих вычислений.
Кроме того, различные функции Мар!е 7 работают с разными формами выражений и разными типами данных. Поэтому большое значение имеет целенаправленное преобразование выражений и данных. Основной функцией для такого преобразования является функция сопчегфк сопчег((ехрг, ропп, агйз, .) 362 Урок 10. Сииеольные (аналитические) операции Здесь ехрг — любое выражение, тоги — наименование формы, агд3, ... — необязательные дополнительные аргументы. сопчегс — простая и вместе с тем очень мощная функция. Ее лющь заключается в возможности задания множества параметров. Их полный перечень (76 штук!) можно найти в справке по функции сопчегс. Многие из зтих параметров очевидцы с первого взгляда, поскольку повторяют наименования типов чисел, данных или функций, Например, опции Ыпагу, бес(ва), Ьех и оста) преобразуют заданные числа в их двоичное, десятичное, шестнадцатеричное и восьмеричное представление.
Параметр чесьог задает преобразование списка в вектор (напоминаем, что спч)сок и вектор — разные типы данных), а параметр ааьг(х — в матрицу. Приведем примеры применения функции сопчегс: > сопчегт(123,Ы лагу); 11!!О!! > сопчеМ((а,ь,сА),'+ ): а+Ь+с+И » тг=еец(х(11" п,1=1 ..4): » х:-'х': сопчеМ(з1пых),ехр); х:=х 1, 1 1 — е'--— 2 2е" > сопчегт( 1.234557.тгаст(оп); 50737 41097 > сопчеМШт,т)оат); .1428571429 > сопчегт(гип(1>х),ехр). 'И"-"~ > сопчегт(з1пых),ехр); 1 „11 — е" — —— г г, > сопчеМ(агск1пых),)п): 1п(.т +,/х + 1 ) > сопчегт(12345,)1зт); (12345] > сопчеМ(Ыпои14)(и,п),тастог14)); гп! а! (пч — и)! > сопчегт(П),21, 13,43, (б,бЛ,Саые); вьЫе(1(1, 1) = 1,(2, 1) =3,(2,2) = 4,(3, 1) = 5,(3, 2) =б, (1, 2) =2]) Основные операции с выраьненияни 363 > сопчегт(.Р1,51Япцю); -н > 51 СаУ1ог(5(п(х),х,з); 3 1 5 1 1 5 5:=х — — х + — х — — х ";Обт ) б 120 5040 » р; соптегт(в,ро1упою); 3 1 5 1 1 р:=х — -х + — х — — х б' 120' 5040 - сопчегг(Р,Г)оат); т †.1666666667х + .008333333333х †.0001984126984.т' > Г:-(х"4+х)/(х 2-1); х +х х -1 > сопчегт(т,рагтгас.х); г х +)+в х — 1 > 5: вег(ев(Г,х,б): 5;= -х — х — х +Отх ) 3 4 > СОПНЕГС(5,РО1упою);и' Удаление члена ряда, описывающего логреюность 4 — х-ж — х Из этих примеров (их список читатель может пополнить самостоятельно) сле- дует.
что функция преобразования сопуегт является одной нз самых мощных фуикцпй Мар1е. С ее помощью можно получ)пь множество различных форм одного и того же выражения, Преобразование выражений Еще одним мощным средством преог)разования выражений является функция соиЬ)пе. Она обеспечивает объедпнеш(с показателей степенных функций и пре- образование тригонометрических и некоторых иных функций, Эта функция может записываться в трех формах: савЫ пе( Г ) саиЬгпе(Г, и) совогпе(Г.
и, арт1, орт2...) агстап ро1у1ся гапяе 88 1и Р5 аЬ5 Р1'ЕСЕН15Е гас(са) сопзияате роьег 51япаю ехр ргоаист ГГ1Я Здесь г — любое выражение, множество нли список выражений; и — имя, список или множество имен; орт1, орт2, ... — имена параметров. Во втором аргументе можно использовать следующие функции: 364 Урок 10. Сиивольнме (аналитические) операции Примеры применения функции сопЬ)пе представлены ниже: > соеЫпе(ехр(2"х) 2,ехр): (4 >) е > соиЫпе(2*атп(х) 2+2"соа(х) 2); 2 > соль(пе(5(п(х)*с05(х)): 1 — а(п(2 х) 2 > соаь(пе(1пт(х,х-а..Ы.1пт(х 2,х=а..Ы): ь — ха+ха(х и Эти примеры далеко не исчерпывают возможностей функции соищпе в преобразовании выражений. Рекомендуется обзорно просмотреть примеры применения функции соампе с разными параметрами, приведенные в справочной системе Мар!е 7.
Контроль за типами объектов Выражения и их части в Мар1е 7 рассматриваются как объекты. В ходе манипуляций с ними важное значение имеет контроль за типом объектов. Одной из основных функций, обеспечивающих такой контроль, является функция ийассуре(оЬ3ес1), возвращающая тип объекта, например зсг(пд, (п1едег, т!оа1, [гаса(оп, 1цпс1(оп и т.д. Могут также возвращаться данные об операторах. 11римеры применения этой функции даны ниже: > нпасгуре(2+3); (л(ееег > иьатсуре(Р1); аутЬо( > ньатсуре(123.
(5): 77оа( > ньаттуре(1/3); „б ас((ол > ипаттхре(а(п(х) ); уилс((ол > иьаттуре([1,2,3,а,Ь,с]); ((Я( > нпаттуре(а+Ь+с); иьастуре( а'Ыс); » ипаттуре(а"Ы; х > иьаттуре(1>2+3-а): Основные операции с выражениями 365 С помощью функции Суре(оЬЗесС,С) можно выяснить, относится ли указанный объект к соответствующему типу С, например: > Суре(2+3,(пседег); ггие > Суре(з1п(х), Сопсс(оп); п.ие > Суре(не11о.есг(пр); /аое > Суре("Ье!1о",зсг(пр); о не > Суре( 1/З,тгасс(оп); При успешном соответствии п(па объекта указанному (второй параметр) функция Суре возвращает логическос значение Сгце, в противном случае — Са1ее. Для более детального анализа объектов может использоваться функция ЬазСуре(ехрг, С), где ехрг — любое выражение и С вЂ” наименование типа подобъекта.
Эта функция возвращает лопшеское значение Сгце, сели подобъскт указанного типа содержится в выражении ехрг. Примеры применения этой функции даны ниже: > Паасуре(2+3,1пседег); /гие > Ьаасуре(2+3/4,1псерег); /и/ее > Пазсуре(2*41п(х),сцпсс1оп): пне > Ьаесуре(а+Ь-с/О.'+'); (/.ие Еще одна функция — ))аз(С,х) — возвращает логическое значение Сгце, если подобъект х содержится в объекте г, и га1зе в ином случае: > Ьаа(2*а1п(х),2); /гие > Паз(2*а(п(х),'/'): /а/ае > Ьаз(2*41п(х).3-1); /гие Следует отметить, что соответствие подобъекта выражения указанному подобъекту понимается в математическом смысле.
Так, в последнем примере подобъект «3 — 1», если понимать его буквально, в выражении 2*з(п(х) не содержится, но Мар1е-язык учитывает соответствие 3 — 1 = 2, и потому функция Ьаз в последнем примере возвращает Сгце. Збб урок 1о. символьные (аналитические) операции Подстановки Функциональные преобразования подвыражений Нередко бывае~ необходимо заменить некоторое подвыражение в заданном выражении на функцию от этого подвыражения, [(ля этого можно воспользоваться функцией арр1уор: О арр1уор(т", т, е) — применяет функцию т к )-му подвыражсп)по выражения е; О арр1уор(т, (, е,, х)(, .) — применяет функцию С к )-му подвыражению выражения е с передачей необязательных дополнптельн()х аргументов х)(.
ния этой функции: Ниже даны примеры прнмене » гевтагтч(арр1уор(в(л,з,аьх); а+ гйп(х) » арр1Уор([,1,д,2,а»Ы; Г(д, 2, а+о) » арр1уор(т.(2,3),а+хчЫ; а+С(т)+(((1) » арр1)ор(Г,(1,2),х/У+а); С(-'1+ С(.) ,у, » р: у'2.2"у-3; р:=у -2у — 3 2 » арр)уор(1,2,р); у~+ Г(-2у) — 3 арр)уор(т,(2,3).р): у~+ С(-2у) + Г(-3) » арр1уор(Г,([2,1],3),р); у'+ Г(-2) у+ Г(-3) » арр1уор(авв,([2, 1].3),р): у + 2 у + 3 Функциональные преобразования элементов списков Еще две функции, реализующие операции подстановки, указаны ниже: иар(топ, ехрг, агд2, ..., агдл) иар2(тол. агд1, ехрг, агдз.
.. агдл) Здесь топ — процедура или имя, ехрг — любое выражение, агд( — необязательные дополнительные аргументы для топ, Первая из этих функций позволяет приложить топ к операндам выражения ехрг. Приведенные далее примеры иллюстрируют использование функции вар. Подстановки 367 1:-х. х"г; 7:=х — ). ~ .