Команды преобразования выражений
Для некоторых команд Maple существуют две формы: активная и пассивная. Имя активной команды начинается со строчной буквы. После ввода такой команды и нажатия клавиши Enter, она сразу выполняется.
В данном разделе лекции рассмотрен ряд наиболее часто используемых при выполнении аналитических вычислеий команд.
Рассмотрим более подробно эти команды. Команда simplify() предназначена для упрощения разнообразных выражений, включающих рациональные дроби (алгебраические выражениия), содержащих тригонометрические, обратные тригонометрические функции, логарифмы, экспоненты и т.д..Эта команда имеет несколько форм вызова, отличающихся наличием параметров, управляющих процедурой упрощения. Её самый простой синтаксис имеет вид: simplify(выражение);
В скобках в качестве параметра передается выражение, подлежащее упрощению. Команда simplify() ищет в выражении вызовы функций, квадратные корни, радикалы и степени и инициирует подходящие процедуры упрощения, которые хранятся в основной библиотеке Maple. В вызове команды можно задать конкретные процедуры упрощения, и могда только они будут использоваться для упрощения заданного выражения, а не весь возможный, установленный по умолчанию набор. Такой вызов обеспечивается следующей формой команды: simplify(выражение, n1, n2...); Здесь n1, n2... являются именами процедур упрощения: Ei, GAMMA, RootOf, @, hypergeom, ln, polar, power, radical, sqrt, trig и др. В справке по команде simplify() можно найти перечень возможных процедур упрощения, а также полную информацию о формулах упрощения при использовании того или иного парметра (используя гиперссылки в системе помощи или набрав команду ?simplify[имя], где имя - одно из значений параметров функции).
simplify(выражение,assume=свойство); где параметр свойство может принимать одно из следующих значений: При вызове команды упрощения сожно последним (или единственным, не считая самого упрощаемого выражения) параметром указать параметр с именем symbolic.
Команда simplify() позволяет задать правила упрощения в виде равенств. Эти правила задаются вторым параметром функции в виде множества. Синтаксис команды в этом случае:
simplify(выражение,{равенство1. равенство2,...});
Основное назначение команды expand() - представить произведение в виде суммы, т.е. данная команда раскрывает скобки в алгебраическом выражении. Для частного двух полиномов (рациональная алгебраическая дробь) эта команда раскрывает скобки в числителе и делит каждый член полученного выражения на знаменатель, с которым она не производит никаких преобразований. Команда имеет следующий синтаксис:
Данная функция знает правила преобразования тригонометрических выражений, выражений с экспоненциальными функциями, полиномами и др.. Основное предназначение команды factor() - разложение на множители полинома от нескольких переменных. Под полиномом в Maple понимается выражение, содержащее неизвестные величины, в которых каждый член представлен в виде произведения целых неотрицательных степеней неизвестных величин с числовым или алгебраическим коэффициентом, т.е. коэффициент может быть целым, дробным, с плавающей точкой, комплексным числом и даже представлять собой алгебраическое выражение с другими переменными.
Если второй параметр не указан, команда factor() раскладывает полином на множители над числовым полем, которому принадлежат коэффициенты полинома.
При применинии команды factor() к алгебраической рациональной дроби (отношение двух полиномов) сначала осуществляется приведение дроби к нормальной форме (сокращение общих множителей числителя и знаменателя), а после этого и числитель, и знаменатель раскладываются на множители (с учетом поля коэффициентов). Команда normal() приводит выражение, содержащее алгебраическую дробь, к общему знаменателю и упрощает полученную алгебраическую дробь, сокращая и числитель, и знаменатель на наибольший общий делитель. Команда имеет две формы вызова:
Команда combine() приводит несколько членов в выражении, представленном суммой, произведением или степенями неизвестных, к одному члену, используя разнообразные правила, которые по существу противоположны правилам, применяемым командой expand(). Команда имеет несколько форм вызова:
symbolic - параметр, предписывающий команде combine() не обращать внимания на интервалы изменения аргументов (на ограничения значений аргументов) функций, указанных в качестве второго параметра. В этом случае осуществляется формальное символическое преобразование в соответствии с правилами преобразования этих функций. Более подробную информацию об опциях команды combine() можно получить, выполнив команду ?combine[опция].
Команда collect() приводит подобные члены в обобщенных полиномах нескольких переменных, в которых в кчестве неизвестных могут выступать функции с аргументами, являющимися неизвестными величинами.
где x - параметр, указывающий на величину, относительно степени которой осуществляется приведение коэффициентов. Этот параметр может быть: именем неизвестной величины (x или y, или др.), списком или множеством в случае полинома нескольких переменных ([x,y,z] или {x,y,z}), именем функции с АРГУМЕНТОМ-неизвестной (exp(x) или cos(z)). func - имя команды, которая применяется к полученным в результате коэффициентам при соответствующих степенях неизвестных. Обычно используются команды simplify или factor.
Параметр recursive инициирует следующий алгоритм: приводятся подобные члены при степенях первой неизвестной в СПИСКЕ, далее в полученных коэффициентах приводятся подобные члены относительно степеней второй неизвестной в списке и т.д. Если при использовании этого алгоритма параметр x представляет из себя МНОЖЕСТВО, то порядок приведения подобных членов определяется системой Maple и может меняться от сеанса к сеансу. Параметр distributed указывает на приведение коэффициентов при членах, содержащих всевозможные произведения степеней неизвестных в списке или множестве, причем суммарная степень всех переменных возрастает от наименьшей к наибольшей. Под рационализацией дробей понимается избавление от иррациональности в знаменателе. Команда rationalize() и производит именно такое преобразование над числовыми и алгебраическими дробями.
Зачастую без введения определенных ограничесний на некоторые выражения ничего нельзя сказать о свойствах математических объектов, в которых они фигурируют. Одни ограничения вытекают из области определения независимых переменных, другие мы накладываем сами в процессе решения задачи. Команда assume() накладывает ограничесния на неизвестные величины Maple. Синтаксис команды:
Assume(x, свойство) Здесь x -любая неопределенная переменная Maple или выражение с такими переменными. Некоторые свойства числовых переменных и выражений:
Пару параметров (x, свойство) можно заменить математическим отношением, если, конечно, это возможно. Например, (x, negative) соответсвует отношению (x<0). Команда assume() может получать несколько пар (х, свойство) или математических отношений в качестве своих параметров. В этом случае все заданные ограничения действуют одновременно.
Если на переменную наложены ограничения, то в области вывода в выражении с этой переменной сразу же за её именем по умолчанию отображается символ тильда (~). Эту функциональность можно изменить, используя команды основного меню Options -> Assumed Variables. При выборе подкоманды No Annotation пользователь вообще не будет информирован об ограничениях, переменная с ограничениями будет продолжать отображаться как и все переменные без ограничений. Подкоманда Phrase отображает в области вывода словесное сообщение о том, что на переменную наложены ограничения. А подкоманда Trailing Tildes позволяет включить режим отображения переменных с наложенными ограничениями, если он был отключен. Отобразить информацию о наложенных на неизвестную величину ограничениях можно с помощью команды about(x). Дополнительные функции, позволяющие получить информацию о переменных:
Пакеты Maple Обзор пакетов Maple Встроенные в Maple пакеты позволяют выполнятьматематические построения и преобразования, начиная от элементарной математикии заканчивая общей теорией относительности. Для того, чтобы использовать команды какого-нибудб пакета, необходимо подключить его или целиком, или только требуеме команды этого пакета (см. Лекцию 1). В таблице, приведенной ниже, содержится список всех пакетов Maple с их кратким описанием:
В предлагаемом курсе рассматриваются несколько пакетов, наиболее полезных, с нашей точки зрения, для выполнения студентами курсовых и дипломных работ. В этой лекии рассматриваются пакеты linalg, LinearAlgabra и student. Пакеты DEtools и PDEtools рассмотрены в Лекции 6, графическим пакетам plots и plottools - посвящена часть Лекции 7. В Maple 6 выполнение преобразований линейной алгебры можно осуществлять с помощью команд двух пакетов: linalg и LinearAlgabra, функциональность которых практически одинакова. Первый пакет входил в состав всех предыдущих версий Maple, тогда как второй пакет - это новое средство, позволяющее работать с числовыми матрицами, в том числе и с матрицами больших размеров, используя всю мощь известного пакета численных расчетов NAG (Numerical Algorithms Group). Основными объектами, с которыми работают команды этих пакетов, являются матрицы, однако матрицы одного пакета не эквивалентны матрицам другого. В пакете linalg используются матрицы, построенные на основе массива, создаваемого командой array(), тогда как в пакете LinearAlgabra применяются векторы и матрицы, построенные на основе новой структуры r-таблицы (r-table) и создаваемые специальными конструкторами Vector() и Matrix() или с использованием краткой нотации < a, b, c >. Матрицы в пакете linalg вычисляются только до уровня своих имен, поэтому в нем невозможно вычислить операции поэлементного суммирования или вычитания, используя постые операции над идентификаторами матриц, и приходится пользоваться специальной командой evalm() для вывода результирующих матриц. В пакете LinearAlgebra матрицы вычисяются до уровня своих элементов, поэтому простое задание имени матрицы в области ввода рабочего листа приводит к отображению ее элементов, а не имени матрицы, как в случае с пакетом linalg. Кроме этого, в пакете LinearAlgebra матрицы могут задаваться в качестве операндов сложения и вычитания, что приводит к поэлементному выполнению указанных операций без использования дополнительных команд. При выборе пакета линейной алгебры для работы рекомендуется принять во внимание следующее:
Пакет linalg Пакет линейной алгебры linalg содержит команды создания матриц и векторов, предлагает большой набор функций для работы со структурой этих объектов, для выполнения основных матричных и векторных операций и для решения основных задач линей ной алгебры: решение систем линейеых уравнений, нахождение собственных значений и собственных векторов матрицы, приведение матриц к спкциальным формам и т.д. И все эти действия можно выполнять с матрицами и векторами, элементами которых являются общие алгебраические выражения, получая результаты такде в виде алгебраических выражений. Определить матрицу или вектор в Maple можно двумя способами: либо с помощью команды array () стандартной библиотеки, либо командами matrix() и vector() (см Лекцию 2). Команды для работы со структурой векторов и матриц:
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|