Система аналитических вычислений Maple



 

В настоящее время в связи с ростом объема наукоемких дисциплин, открытием новых материалов, новых отраслей науки и производства возникает множество задач, решение которых все чаще связано с применением вычислительных систем разного рода и мощности. Ввиду меньшей стоимости и большей распространенности, модульности и простоты в применении преобладающие вычислительные системы – это персональные компьютеры, поэтому наибольшее распространение получили и программные вычислительные комплексы, построенные на их базе.

В начале применение программных комплексов подразумевало только численное решение, от отдельных задач до больших классов (интегрирование, интерполяция). Подобного рода задачи решались с использованием программирования на каком-либо языке (C++, Fortran, Pascal). Больше времени уходило на написание самого алгоритма, чем на использование его по назначению. Появление модульного принципа в программировании несколько ускорило процесс создания математических программ, но отсутствие унификации применения, ограничение точности и необходимость знания самого программирования ограничивали круг возможностей.

В настоящее же время целый ряд систем позволяют более унифицированным способом производить не только численные, но и аналитические, и символьные вычисления с использованием функций комплексного переменного, а также программирования, что позволяет максимально повысить точность конечного результата. Практически тот же эффект достигается за счет того, что системы со временем стали более производительными и менее критичными к использованию действительных чисел большего размера, чем заложено системой. В итоге знание программирования стало не основным в решении математических задач. Программирование свелось к умелому применению простого и интуитивного синтаксиса.

Примерами современных программных вычислительных систем являются: Maple, Mathcad, Mathematica, MathLab и многие другие. Каждая обладает определенными постоянно совершенствующимися свойствами, которые определяют преимущество в сравнении с остальными системами. Но существуют и недостатки. Таким образом, у каждой системы сложился свой круг применения.

Наиболее простой системой из вышеперечисленных является Mathcad. Отличается она наглядностью формул, что позволяет свободно формировать рабочий лист таким, как он будет выглядеть в результате. Недостатки заключаются в следующем. Во-первых – это несовместимость версий программы, что создает определенные трудности. Во-вторых, жесткое ограничение на размер действительных чисел, что ограничивает класс и точность самих вычислений. В-третьих, плохо реализованные аналитические вычисления. Системой не гарантируется получение аналитического решения в каждом конкретном случае. Mathcad наиболее применима в общеобразовательных учреждениях для использования в качестве системы, производящей простые не громоздкие вычисления. Подобных программ и систем множество.

Системой, наиболее крепко завоевавшей позиции в секторе наукоемкого производства, является MathLab. Родственна с некоторым языкам программирования. Свою популярность она получила как система, в которой наиболее эффективно реализованы многие способы вычислений, программирование, математическое моделирование различных процессов. Также она отличается способностью интегрироваться в качестве математического обеспечения в другие системы и программы. Таким образом, система наиболее эффективна, но достаточно сложна.

Систем, разделяющих оставшуюся часть рынка, очень не много. Одна из них – наиболее яркая, это Maple. В данном пособии приводятся примеры и основы синтаксиса, начиная с Maple 7 до Maple 11, хотя разницы увидеть невозможно. Синтаксис за время существования системы получил только дополнения, т. е. он полностью совместим с предыдущими версиями. Изменению подверглась оптимизация. Многие функции стали вычислять значения быстрее. Добавились дополнительные библиотеки. Постоянная работа разработчиков над производительностью, оптимизацией системы и качеством справочного пользовательского материала определяет приоритет в выборе именно данного программного комплекса.

Особенности Maple позволяют равнозначно в полной мере использовать возможности системы как в математическом моделировании ответственных производственных или научных процессов, так и для обучения студентов при  решении простых задач курса математического анализа или дифференциального и интегрального исчисления.

Также как и в MathLab, синтаксис Maple близок студентам специальностей, связанных с использованием языков программирования, хотя благодаря интуитивности и простоте, освоить его можно, не имея специальных знаний.

На сайте http://www.math.rsu.ru сообщается следующее: «Система компьютерной алгебры (символьных или аналитических вычислений) Maple является одним из лидеров среди универсальных систем и обеспечивает пользователю удобную и интеллектуальную среду для математических исследований. Сам пакет широко распространен в университетах ведущих научных держав, исследовательских центрах и компаниях. При этом пакет Maple развивается, вбирая в себя новые умения, новые разделы математики и обеспечивая лучшую среду для работы»

На сайте http://soft.softline.ru можно найти следующую информацию: «Основной программный продукт, выпускаемый университетом Ватерлоо, пакет Maple, называют системой символьных вычислений, или системой компьютерной алгебры. Он предназначен для выполнения самых различных математических вычислений, как аналитических, так и символьных, и поистине является бриллиантом среди подобного класса математических пакетов. Его интерфейс интуитивно понятен, правила работы предельно просты, а возможности внушительны. Он стал незаменимым средством в работе математиков и инженеров, студенты с его помощью легко справляются с труднейшими задачами. При работе с пакетом возникает ощущение роста собственных математических знаний, так легко решаются сложнейшие задачи, за которые Вы не взялись бы, не будь под рукой Maple.

 

Синтаксис среды Maple

Для начала следует помнить первое и основное правило: прописные и строчные знаки, обозначающие один и тот же символ – различны, в отличие от сред программирования таких как Pascal или C++. Если обозначить две переменные Pi и pi, то для среды они являются абсолютно разными. То же имеет отношение и к операторам, функциям, типам данных и другим структурам и объектам среды Maple.

Рассмотрение синтаксиса начнем с описания основных операторов.

 

;     оператор, определяющий конец выражения;

:             так же определяет конец выражения, но блокирует вывод в поле вывода;

Все выражения разделяются с помощью только операторов, описанных выше.

::    указатель типа переменной (например n::integer);

#     указатель программного комментария.

Так называемые бинарные операторы:

:=          оператор присваивания (используется для задания переменным конкретных значений);

+    сложения;

    вычитания;

/     деления;

*    умножения;

^ или **      возведения в степень;

mod остаток от деления;

$     оператор последовательности;

@   оператор композиции;

@@ повторение композиции;

..    задание интервала;

&* некоммутативное умножение;

||     объединение (конкатенация).

Бинарные операторы используются с двумя операндами, обычно размещаемыми по обе стороны от оператора. Например, 2+3. В этом случае 2 и 3 – операнды.

Логические операторы:

<    меньше;

<=  меньше или равно;

>    больше;

>=  больше или равно;

=        равно;

<>  не равно;

and логическое «и»;

or   логическое «или».

Конструкции с использованием логических операторов возвращают логическое значение: true – если условие выполняется, false – если не выполняется.,

->          функциональный оператор (используется для определения собственных функций пользователя).

Оператор % обеспечивает подстановку в строку ввода (или в выражение) последнего результата операции, %% – предпоследнего и %%% – третьего с конца.

Важным понятием системы Maple является понятие функции. Функция возвращает результат преобразования исходных данных (параметров функции) по определенному правилу, обычно представленному в виде формулы или программного модуля.

Некоторые функции могут быть записаны в инертной форме. Например, для задания и вычисления интеграла используется функция int, её инертная форма Int. Инертная форма записи используется для того, чтобы вывести в поле вывода функцию без вычисления значения.

Для использования инертной формы функций, не имеющих таковой, можно использовать прямые одинарные апострофы.

Пример.

> f:=x->x^2; # Зададим функцию от x, f(x)=x^2.

>'f(5)'=f(5);

Для построения графиков используются функции plot и plot3d. Соответственно двух- и трехмерных. Например, plot(sin(x)/x,x=-15..15) – построение графика синуса на интервале от –15 до 15 радиан.

Данные множественного типа

Способ задания множества:{} – множество.

Отличительная черта множеств – автоматическое устранение повторяющихся элементов. Кроме того, элементы множества расставляются в определенном порядке – числа в порядке увеличения значения, а символы и строки в алфавитном порядке, [] – список

Элементы списков преобразуются и выводятся строго в том порядке, в каком они были заданы. Списки широко применятся для задания векторов и матриц.

array[a..b,s1]            возвращает вектор с индексами от a до b и значениями из одномерного списка s1.

array[a..b,с..d,s2] возвращает матрицу с номерами строк от a до b, номерами столбцов от c до d и значениями из двухмерного массива s2.

Обращаться к элементу множества или списка, а также вектора или матрицы (массива) можно по его порядковому номеру.

Переменные в среде Maple задаются своим именем – идентификатором, который должен быть уникальным. Зарезервированные слова, имена констант нельзя использовать в качестве имени переменной. Несмотря на то, что Maple допускает использование в качестве идентификаторов имена ряда команд и функций, от этого следует воздержаться. Как только имя встроенной функции или команды закрепляется за какой-либо переменной, она перестает работать. Ограничение на длину идентификатора – 524257 символов.

Имя переменной следует начинать с буквы. Можно использовать знак «_». Но нельзя использовать знаки, обозначающие операторы.

Имена переменных могут задаваться в обратных апострофах, при этом они просто тождественны переменным без апострофов.

Одинарные прямые апострофы применяются не только, как описано выше, для отображения в инертной форме, но и для отмены присваивания отдельной переменной.

Пример.

> x:=10;

>x;

>x:=’x’;

>x;

Отмена присваивания и определения одновременно всех переменных и функций пользователя производится командой restart. Рекомендуется каждый новый документ начинать именно с этой команды, потому что Maple сохраняет в памяти все определения и присваивания, которые были сделаны во всех загруженных в систему документах, поэтому результаты вычислений в текущем документе могут зависеть от определений в других документах.

В системе Maple существует понятие констант. Константы – простейшие именованные объекты, несущие заранее предопределенные значения. Их идентификаторы подчиняются таким же правилам написания, как и в случае переменных. Впрочем, все объекты и структуры системы подчиняются этим правилам.

В Maple существуют встроенные константы, которые правильнее считать заведомо определенными глобальными переменными.

false логическое значение «ложь»

gam4ma   константа Эйлера (γ = 0.5772156649…)

infinity         положительная бесконечность (отрицательная записывается как –infinity)

true                 логическое значение «истина»

Catalan           костанта Каталана, равная 0.915965594…

FAIL                 специальная константа (см. справку)

I                        мнимая единица ( )

Pi                      представляет константу

Имена всех переменных являются защищенными, поэтому попытка переобозначить их определения приведет к ошибке.

 

 


Дата добавления: 2018-05-12; просмотров: 604; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!