Основные объекты и команды Maple
Числа целые десятичные (О, 1, 123, -456 и т.д.), рациональные в виде отношения целых чисел (7/9, 123/127 и т.д.), радикалами, вещественные с мантиссой и порядком (1.23E5, E-10) комплексные (2+3*I)
Целые числа ifactor -разложение на простые множители iquo -вычисление частного при операции целого деления irem -вычисление остатка при операции целого деления igcd -нахождение наибольшего общего делителя двух целых чисел isprime -проверка, является ли целое число простым Получить список всех команд для работы с целыми числами можно, набрав команду: ?integer :
Обыкновенные дроби
Радикалы задаются как результат возведения в дробную степень целых или дробных чисел, или вычисления из них же квадратного корня функцией sqrt(), или корня n-ой степени функцией surd(число,n). Инструментальная панель Строка ввода Maple Меню Радикалы
Комплексные числа Re( ) -выделение действительной части комплексного числа Im( ) -выделение мнимой части комплексного числа argument( ) -вычисление аргумента комплексного числа conjugate( ) -построение комплексно-сопряженного числа
Константы false -логическое значение "не истинно"; Gamma -константа Эйлера ( ); Infinity -положительная бесконечность; true -логическое значение "истинно"; I -мнимая единица; Pi -константа р= ; exp(1) -число е. Посмотреть все константы, определенные в Maple, можно, выполнив команду: ?ininame Digits-задает число значащих цифр для чисел с плавающей точкой (по умолчанию 10); Order-определяе количество членов в разложении функции в ряд Тейлора (по умолчанию 6)
Переменные, неизвестные и выражения Переменная Maple имеет имя, представляющее последовательность латинских символов, начинающихся с буквы, причем строчные и прописные буквы считаются различными. Справку по защищенным словам можно получить, выполнив команду ?protect Выражение представляет собой комбинацию имен переменных, чисел и, возможно, других объектов Maple, соединенных знаками допустимых операций. Операция присваивания, используемая в выражениях (:=) имеет следующий синтаксис: переменная := выражение;
Последовательности Последовательность - это ряд выражений, разделенных запятыми и завершенных фиксатором. Присвоить новое значение элементу последовательности с использованием индексной формы обращения нельзя.
Использование последовательностей Для создания длинных последовательностей, элементы которых подчиняются некоей закономерности, можно использовать команду seq( ) и операцию повторения $. Команда seq( ) имеет две формы: seq(f,i=m..n), seq(f,i=X). В них f - выражение, зависящее от переменной, имя которой определяется параметром i, m и n -числа, определяющие диапазон изменения переменной i с шагом 1, X может быть списком, множеством, суммой, произведением или строкой.
Списки, множества Список - упорядоченная последовательность выражений, заключенная в квадратные скобки. Множество - неупорядоченная последовательность выражений, заключенная в фигурные скобки Индексной форме элемента множества (в отличие от списка) нельзя присвоить новое значение. Чтобы изменить элемент множества, его следует удалить операцией minus, а затем добавить новый элемент операцией union (разность и объединение) Все элементы списка или множества можно вывести, указав в качестве индекса диапазон [1..-1]
1)Команды для структурной обработки списков и множеств Команды map( ) и map2( ) позволяют применить функцию или команду, заданную первым параметром, ко всем элементам списка или множества, возвращая, соответственно, список или множество: map(функция, список|множество, [пар2, пар3,..., парN]); map2(функция, пар1,список|множество, [ пар3,..., парN])
2)Команды для структурной обработки списков и множеств Команда seq( ) формирования последовательности может поэлементно обрабатывать список или множество, формируя при этом (в зависимости от вида скобок или их присутствия/отсутствия) список, множество или последовательность. Команда add( ) формирует сумму элементов списка или множества, команда mul( ) - произведение элементов списка или множества.
3)Команды для структурной обработки списков и множеств Maple позволяет выбирать из списка или множества элементы, удовлетворяющие некоторому условию. Для этого прежде всего необходимо определить функцию-условие, результатом работы которой будет булево значение true или false. А затем можно воспользоваться командой: select(функция-условие, список|множество ). Действие команды remove(функция-условие, список|множество) противоположно действию команды select( ). Команда selectremove( ), которая возвращает последовательность двух списков, первый из которых представляет результат выполнения команды select( ), а второй – команды remove( ).
4)Команды для структурной обработки списков и множеств Линейное объединение двух списков можно реализовать с помощью команды op (выражение|список|множество ). Более сложные объединения списков реализуются командой zip( ): zip(бинарная функция, список1, список2); zip(бинарная функция, список1, список2, значение).
Массивы Массив является дальнейшим развитием концепции списка. Создать массив в Maple можно несколькими способами. Простейший из них - использование функции array( ) стандартной библиотеки. Синтаксис создания массива следующий: array(границы, список, опции). Для задания вектора и матрицы можно использовать соответственно команды vector( ) и matrx( ): vector(n,[элемент1, элемент2,...] ); matrx(n, m, [элемент1, элемент2,...] ).
Массивы Для отображения содержимого вектора или матрицы используется команда print(V) или eval(V). Для отображения результатов ВЫЧИСЛЕНИЙ с матрицами и векторами служит команда evalm(V).
Таблицы Таблица является дальнейшим развитием массива, как структуры данных. В ней в качестве индекса можно использовать не только целые числа, а всё, что угодно. Для создания таблицы используется функция table( ). Её параметрами являются индексная функция и список или множество пар индекс=значение.
Внутренняя структура объектов Maple Выражение хранится системой Maple в виде древовидной структуры, обеспечивая тем самым доступ к любому ее члену или подвыражению, а также позволяя выполнять над ними разнообразные символьные преобразования. rhs(уравн) -Выделение правой части уравнения (или конца диапазона) lhs(уравн) -Выделение левой части уравнения (или начала диапазона) numer(дробь) -Выделение числителя числовой или алгебраической дроби denum(дробь) -Выделение знаменателя числовой или алгебраической дроби nops(выр) -Определяет количество операндов в выражении op(выр) - Выдает операнды выражения в виде списка, op(n,выр) -Извлекает n-ый операнд выражения select(б. ф, выр) -Выделяет в выражении операнды, для которых булева функция дает значение true remove(б.ф, выр) -Выделяет в выражении операнды, для которых булева функция дает значение false indets(выр, тип) -Выделяет в выражении подвыражения заданного типа('*', '+'...)
1)Примеры
2)Примеры Команда has( выражение, подвыражение) определяет, содержится ли некоторое подвыражение в заданной выражении. Команда has( ) понимает только те подвыражения, которые могут быть определены с помощью команды op( ). Для выделения в выражении членов, содержащих некоторую функцию в команде has( ) следует задавать лишь ИМЯ этой функции (без аргументов). Функция hastype( выражение, тип) определяет, содержит ли выражение подвыражения заданного типа.
Подстановка и преобразование типов При математических преобразованиях часто необходимо произвести замену переменных в выражении, функции, уравнении и т.д. В ряде случаев необходимо выполнить преобразование выражения одного типа в другой. subs(подстановка, ВЫРАЖЕНИЕ) -Синтаксическая подстановка одного выражения вместо другого в ВЫРАЖЕНИЕ algsubs(подстановка, ВЫРАЖЕНИЕ) -Алгебраическая подстановка одного выражения вместо другого в ВЫРАЖЕНИЕ subsop(N=новое значение, ВЫРАЖЕНИЕ) -Подстановка нового значения вместо N-го операнда ВЫРАЖЕНИЯ convert(ВЫРАЖЕНИЕ, тип) -Преобразует ВЫРАЖЕНИЕ в новый тип данных whattype(ВЫРАЖЕНИЕ) -Определяет тип выражения.
1)Примеры Для подстановки вместо некоторой переменной (выражения) другого выражения служит команда subs( ): subs(старое выражение=новое выражение, ВЫРАЖЕНИЕ) subs(s1, s2,.. sn, ВЫРАЖЕНИЕ ) subs([s1, s2,.. sn], ВЫРАЖЕНИЕ ),где каждое из s1,..sn является уравнением, определяющим подстановку. Вторая форма команды позволяет выполнить серию подстановок в ВЫРАЖЕНИЕ, причем подстановки выполняются последовательно, начиная с s1. Это означает, что после выполнения первой подстановки, определенной s1, Maple отыскивает вхождения левой части уравнения s2 во вновь полученном выражении и заменяет каждое такое вхождение на выражение, заданное в правой части уравнения s2. Третья форма команды содержит подстановки в виде множества или списка. Эти подстановки выполняются ОДНОВРЕМЕННО, а не последовательно, как в предыдущем варианте команды.
2)Примеры Явно выразить старую переменную через новые и воспользоваться функцией subs( ). Воспользоваться командой simplify( ), указав в качестве параметра требуемую замену (см. след раздел). Воспользоваться командой algsubs( ), которая осуществляет алгебраическую подстановку.
3)Примеры Если известно, какой операнд выражения необходимо заменить, то следует использовать команду subsop( ) со следующим синтаксисом: subsop(s1, s2,.. sn, ВЫРАЖЕНИЕ ) где s1, s2,.. sn представляют собой уравнения вида N_i=замена_i, в которых N_i - номер операнда в ВЫРАЖЕНИИ. На месте N_i может стоять список, в котором целые числа представляют порядковые номера операндов ПОСЛЕДУЮЩИХ уровней в структуре выражения (0 используется для имени функции).