В декабре 1980 года группа разработчиков канадского университета Waterloo ломала голову: как назвать созданную ими систему компьютерной алгебры. Символом Канады является кленовый лист, и, возможно, поэтому программа получила истинно "канадское" имя - Maple, что переводится с английского как клен.
Программа сразу же начала свою обкатку в рамках курса по алгоритмам "Введение в символьные вычисления". По словам разработчиков, коммерческая сторона проекта поначалу их мало интересовала. По всей видимости, поэтому графический интерфейс пользователя у Maple появился только в начале 90-х. До этого команды в Maple вводились при помощи командной строки.
Изначально Maple писался на языке программирования В, а затем был переписан на С.
На сегодняшний день Maple интегрируется со всеми популярными платформами (включая Mac OS X, Windows, Linux и Solaris).
Несмотря на усилия создателей, демонстрировавших, начиная с 1982 года, возможности продукта на разнообразных конференциях по всему миру, спрос на Maple отмечался, в основном, среди отдельных специалистов - о массовом признании речь не шла. Однако Maple постоянно совершенствовался. Существенным этапом в развитии Maple стало создание графического интерфейса пользователя. Именно с этого времени пользователями Maple стала армия студентов и аспирантов. Объясняется это тем, что командный язык Maple достаточно прост и понятен, и, кроме того, там имеется большое число утилит, рассчитанных именно на студентов, чем во многом и объясняется последующий коммерческий успех.
Интерфейс Maple имеет, по всей видимости, уже ставшую стандартной компоновку для профессионального инженерного или математического приложения - сверху основная панель инструментов, слева вспомогательная, с рабочими компонентами - чем-то напоминает Visual Studio 2003-2005-2008. Впрочем, нажав правой кнопкой мыши на вспомогательной панели инструментов и выбрав в контекстном меню "Arrange Palettes...", можно выбрать, какие наборы компонент (палитры) отображать, а какие не стоит. Палитры можно выстроить в произвольном порядке, перетянув нужную панель левой кнопкой мыши.
Maple имеет два режима работы: в режиме документа (document mode) и в режиме рабочего листа (worksheet). По функциональности они одинаковы, различается только ввод данных. В режиме документа ввод осуществляется в ячейке, очерченной пунктирной линией, а в режиме рабочего листа ввод начинается с красного правого уголка.
По умолчанию Maple запускается в режиме документа. Однако иногда бывает удобней работать в режиме рабочего листа. Для этого необходимо в меню выбрать File> New> Worksheet Mode. В режиме рабочего листа вводимое выражение и ответ объединяются справа в квадратные скобки и эти же скобки отображаются при печати. В режиме документа печатаются только вводимые выражения и ответы.
Итак, начнем.
Введем 1+2 и нажмем Enter. Maple вычислит выражение и выведет его на строку ниже и по центру.
Введем следующее выражение:
Maple всегда старается получить точное аналитическое решение. Для представления результата в десятичной форме можно использовать функцию evalf (знак % показывает Maple, что нужно взять предыдущее вычисленное выражение):
а можно и ввести выражение в формате числа с плавающей точкой
И если уж речь зашла о числах, то надо сказать, что для работы с комплексными числами используется заглавное I.
Однако козырем Maple являются символьные вычисления. О достоинствах Maple говорит тот факт, что ядро программы для символьных вычислений используется в Mathcad и MatLab.
Решим, например, систему уравнений:
для получения точного решения системы уравнений используется функция solve
Функция solve одна из самых полезных функций системы. Она позволяет решать не только уравнения и системы уравнений, но и неравенства и системы неравенств. И всегда пытается найти решение в аналитической форме. С помощью функции solve решаются также и тригонометрические уравнения. По умолчанию Maple решает их на промежутке от -pi до pi.
Присвоим переменной eq выражение sin(x)=1/2 и вычислим его:
Есть один большой минус - если Maple не может найти точное аналитическое решение, он ничего не печатает в области вывода. В таком случае (если есть уверенность в существовании корней) можно использовать функцию fsolve - численный эквивалент функции solve.
Построим график функции
Для начала зададим функцию f(x).
Функция зависит от одной переменной и определяется следующим образом:
Имя функции := Имя переменной -> Тело функции
т.е.:
Шаблон функции можно найти на панели инструментов "Expression" "f:=a->y". Кликнув на шаблоне или перетащив его, можно добавить функцию в документ. Вызовем функцию и не забудем добавить в конце однострочный комментарий. Для перехода на следующую строку в пределах одной ячейки необходимо нажать Shift+Enter:
f(4)
# my function
1
Функция определена - строим график. Современные системы компьютерной алгебры обладают развитой графикой, и Maple не является исключением. Система позволяет пользователю строить как простейшие двумерные кривые, так и создавать анимации сложных трехмерных изображений. А, как известно, результаты, представленные в виде графика, гораздо наглядней, чем скупые столбцы чисел.
Универсальные графические команды собраны в пакете plots, но в Maple всегда доступны две функции: plot и plot3d. Первая предназначена для построения графиков функций одной переменной (двумерного графика), с помощью второй можно строить трехмерные поверхности и кривые.
Т.к. функция зависит от одной переменной, то будет использоваться функция plot. При построении зададим диапазон независимой переменной по горизонтальной оси:
plot(f(x),x=1..5)
После того, как график построен, его внешний вид можно изменить, переустановив значения некоторых настроек с помощью панели инструментов Plot или команд контекстного меню. И то, и другое становится доступным при выделении на рабочем листе графической области: панель инструментов Plot сменяет основную панель Math, а контекстное меню вызывается нажатием правой кнопки мыши (также оно дублируется пунктом меню Plot).
Maple имеет общую архитектуру со всеми системами такого типа: ядро, основная библиотека и пакеты. При запуске Maple в память компьютера загружается только ядро, являющееся его основным компонентом. В нем содержатся программы, без которых Maple не может функционировать, а также программы, реализующие основные команды выполнения простых аналитических преобразований и используемые командами из основной библиотеки и пакетов. Ядро состоит из программ, написанных на языке C, и составляет около 10% общего размера системы. Остальная часть программ, реализующих функциональность Maple, написана на языке Maple и хранится в библиотеке, которая состоит из двух частей: основной библиотеки и многочисленных пакетов, в которых сгруппированы команды для выполнения определенных математических действий. Например, пакет finance служит для решения задач финансовой математики, а в пакете stats собраны функции для статистической обработки результатов.
Для того чтобы использовать команды какого-либо пакета, необходимо подключить его, т.к. все они находятся не в ядре системы Maple, а в специальных файлах. Подключение осуществляется с помощью команды with(имя_пакета).
В следующем примере подключается пакет plots и с помощью функции polarplot строится спираль Архимеда.
with(plots)
polarplot (3*a, a=0..2*Pi)
После подключения пакета в рабочем листе отображается список команд, входящих в данный пакет и ставших доступными для использования. Если команды известны, то после оператора with следует поставить двоеточие ":", и тогда в области вывода ничего отображаться не будет. Двоеточие запрещает отображать результат и любой другой функции, в том числе и plot.
Отдельно стоит отметить пакет Student, разработанный специально для студентов, чтобы предоставить набор команд для пошаговой реализации основ математических методов, изучаемых в курсе высшей математики. Он позволяет производить вычисление интегралов заменой переменных и интегрированием по частям, получать приближенное значение определенных интегралов методами прямоугольников, трапеций и Симпсона, находить максимальные значения функций на заданном интервале и т.д. Более подробную информацию можно почерпнуть в справочной системе, которая написана весьма добротно и содержит множество примеров.
В настоящее время электронные таблицы MS Excel являются одним из самых популярных офисных приложений для работы с табличными данными. С их помощью можно не только осуществлять простейшие арифметические действия с группами ячеек данных, но и производить достаточно сложные вычисления и анализ данных с помощью функций, встроенных в программу. Разработчики Maple обратили на это внимание и сделали свой вклад в увеличение функциональности Excel. Была создана надстройка для Excel, позволяющая выполнять любую команду любого пакета Maple непосредственно из рабочего листа Excel и получать результаты ее выполнения в ячейках рабочего листа для дальнейшего использования.
Для вычисления выражения Maple в листе Excel следует вызвать функцию Maple() и в двойных кавычках ввести вычисляемое выражение. Результат будет помещен в ту же ячейку, в которой была задана функция Maple():
=Maple("diff(sin(x),x)")
Здесь знак равенства "=" перед именем функции Maple() требуется по правилам обращения к функциям рабочего листа Excel. Передаваемый параметр - это заключенный в двойные кавычки оператор Maple дифференцирования функции sin(x).
Заключение
Сегодня распространением и поддержкой Maple занимается учрежденная в 1988 году компания Waterloo Maple Inc. (www.maplesoft.com). Кроме того, в связи с довольно значительной, по сравнению с Mathcad и Mathematica, популярностью Maple для поддержки пользователей продукта был создан центр Maple Application Center.
По признанию Кейта Геддеса (Keith Geddes), соучредителя компании Waterloo Maple Inc., концепция Maple, которая была взята за основу почти 30 лет назад, по большому счету, не изменилась и сегодня. Maple - система для решения математических задач. И теперь главной проблемой является привлечение к ее использованию как можно большего числа пользователей. Для этого имеются все основания.
Сергей ПРОНКЕВИЧ,
ps_kv@tut.by
Комментарии
Banned Country Detected
We have detected that you are located in a country where Maplesoft is not permitted to engage in commercial activity. As a result, the Maplesoft Web Store is not available.