ТРЕНДСЛЕДЯЩАЯ МЕХАНИЧЕСКАЯ ТОРГОВАЯ СИСТЕМА 
на валютном рынке FOREX, генерирующая торговые сигналы с применением современных математических методов. Позволяет обрести уверенность в принятии Вами торговых решений.
Подробнее: www.forex-gold.com.ru  

реклама у нас

***

Восьмой кленовый листок

Константин НОСОВ

Казалось бы, прошло совсем немного времени с тех пор, как мы рассказывали читателям о замечательном математическом пакете Maple 7 (см. статьи «Maple — кленовый символ математики», МК № 3 (174), и «Математические пироги с кленовым сиропом», МК № 10 (181)). Однако производители продукта не долго удовлетворялись достигнутым и уже успели выпустить очередную восьмую версию пакета, обладающую еще более широкими возможностями.

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

В Maple 8 имеется четыре радикальных (см. упомянутую классификацию) изменения. Разберем их последовательно.

Важнейшее усовершенствование новой версии — небывалое расширение интерактивности пакета благодаря поддержке приложений Maplets. Что это такое? Maplets представляет собой мощную, базирующуюся на Java технологию, соединяющую вычислительные возможности Maple и настраиваемый пользовательский интерфейс. Если раньше Maple действовал исключительно как командный интерпретатор (требовавший все команды и процедуры задавать в строке ввода), то новая версия позволяет скрыть «за кадром» весь код, предоставив пользователю возможность работы с удобным и привычный интерфейсом.

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

Рис. 1На рисунке 1 показан вид окна простейшей программы, написанной с использованием Maplets. Она производит символьное интегрирование функций следующим образом: в поле «Функция» вводится выражение для подынтегрального выражения, а в поле «Переменная» — независимая переменная интегрирования. Нажав кнопку «Интегрировать», в соответствующем окошке получим интеграл от введенной функции в естественной математической нотации.

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

Технология Maplets, как указывалось, базируется на платформе Java и для запусков программ Maplets на компьютере необходимо иметь установленную JVM (Java Virtual Machine). Это, безусловно, накладывает некоторые, хотя и не очень существенные, ограничения на использование Maplets. Программы этого пакета могут быть запущены как изнутри самим Maple, так и вне его с помощью специальной утилиты MapletViewer, выполненной в виде отдельного исполнимого модуля. Обратите внимание, данная возможность присутствует только в версии для Windows. Рабочий документ сохраняется в формате Maplets при помощи стандартной команды Save As, файл с Maplets-программой имеет расширение *.maplet.

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

Следующее радикальное обновление — введение в состав пакета Student подпакета Calculus1, который также служит образовательно-обучающей цели. В Calculus1 включены процедуры, помогающие студентам и учащимся наглядно представить основные факты из стандартного курса теории функций одной вещественной переменной. Процедуры пакета разделяются на визуальные (для графической демонстрации материала) и иллюстрирующие одношаговое выполнение вычислений.

Рис. 2Визуальные процедуры представляют в виде графиков и рисунков такие базовые понятия анализа, как первообразная и интеграл, аппроксимация отрезком ряда Тейлора, нахождение корней методом Ньютона и некоторые другие. На нашем рисунке (рис. 2) наглядно показано, как вычисляется интеграл Римана с помощью сумм Дарбу.

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

Опять-таки, не углубляясь в синтаксис, приведем наглядный пример. Допустим, нам необходимо продифференцировать некоторую функцию. Пошаговое дифференцирование состоит в последовательном применении к функции основных правил дифференцирования (теорем о производной суперпозиции, частного, произведения и т.д.) и основной таблицы производных. Используя Calculus1, пользователь может последовательно применять эти операции и прослеживать, как преобразуется исходное выражение. В конце вычислений остается лишь вывести полное решение, которое остается только переписать в тетрадь и заверить преподавателя, что все это сделано собственноручно :-).

Следующее радикальное нововведение — пакет ScientificConstants — переносит нас из математики в область физики и химии. Он вполне способен заменить несколько объемных справочников по этим дисциплинам (содержит до 13 тыс. констант!) и позволяет использовать эту информацию в научных и инженерных расчетах. Пакет предоставляет доступ к двум главным типам физических постоянных — фундаментальным физическим константам и свойствам химических элементов периодической системы Менделеева. Фундаментальные физические константы могут быть получены в нескольких системах измерения; кроме того, каждая константа может быть изменена. У пользователя также есть возможность ввести неограниченное количество собственных констант. Аналогично можно получать детальные сведения о химических элементах периодической системы (атомный вес, температуру точек замерзания и кипения, плотность, энергию ионизации и бета-распада, электропроводность и т.д.) и их изотопах. Пользуясь данной информацией, несложно, к примеру, наглядно представить связь между такими важнейшими характеристиками элементов, как атомный вес, число нейтронов и стабильность ядра.

К радикальным новшествам относится и введение новых методов решения дифференциальных уравнений. Хотя Maple и раньше являлся мощным инструментом решения задач этого вида, нынешняя версия значительно расширила и усовершенствовала прежние методы. Не будем детально вдаваться в эту область, а только отметим несколько моментов. В 8-ой версии появились принципиально новые средства численного интегрирования граничных задач для дифференциальных уравнений (как обыкновенных, так и в частных производных), а также введены специальные графические процедуры для визуализации найденных численных решений.

Перейдем теперь к обновлениям, характеризуемым как существенные. К ним прежде всего относится введение ряда новых пакетов (специальных внутренних модулей Maple, расширяющих область применения приложения). Мы остановимся только на наиболее важных.

Хорошая новость для пользователей, работающих одновременно с Maple и программами на других языках. В новую версию включен пакет CodeGeneration, преобразующий процедуры Maple в программы на C, Fortran 77 и Java. Он значительно расширяет функции пакета codegen, использовавшегося для этих целей в предыдущих версиях.

А вот пакет LargeExpressions поможет пользователю в работе с большими выражениями. Он содержит удобный механизм преобразования громоздких выражений. Чтобы сделать эти формулы обозримыми и наглядными, вводятся новые обозначения (замены).

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

Еще одно нововведение — пакет SoftwareMetrics — поддерживает набор уникальных функций, позволяющих оценить сложность кода процедур Maple (как пользовательских, так и встроенных). С его помощью можно вычислить цикломатическую метрику МакКэйба (связанную с количеством логических условий в коде), алгоритмическую метрику Хэлстэда (которая является комплексной оценкой кода и отражает его объем, сложность и даже меру использования программистом возможностей языка) и метрику глубины (характеризует глубину вложенности конструкций в коде программы).

Новая версия Maple наконец-то может быть использована в такой важной и нетривиальной области анализа, как вариационное исчисление. С помощью пакета VariationalCalculus можно находить уравнения Эйлера-Лагранжа для простейших интегральных функционалов, проверять некоторые достаточные условия экстремумов функционалов и решать другие смежные задачи.

Новый пакет векторного исчисления VectorCalculus дополняет унаследованные из предыдущих версий алгебраические пакеты. Основное его назначение — обеспечить работу с различными системами координат и предоставить пользователю новые процедуры для действий с многомерными массивами.

Пакет Worksheet обеспечивает взаимодействие рабочих документов Maple (worksheets) с XML-документами. Вообще говоря, работа с форматом XML не является чем-то новым для программы. В Maple по-прежнему поддерживается пакет XMLTools (пришедший из прошлых версий), содержащий десятки функций для манипулирования форматом XML. Но введенный в 8-ую версию пакет Worksheet делает следующий шаг к более глубокому взаимодействия с XML-форматом. С его помощью можно как экспортировать документы Maple в XML-формат, так и осуществлять обратную операцию путем импорта. Пакет включает синтаксический анализатор (parser) для корректного построение XML-документа и средства форматирования документа Maple для адекватной передачи структуры XML. Таким образом, благодаря использованию Worksheet, наш кленовый пакет приобретает некоторые черты XML-редактора.

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

Подведем краткие итоги. Не будем повторять того, что сказано о Maple в предыдущих материалах (имею в виду его исключительное, практически уникальное место в классе вычислительных пакетов). Попробуем определить тенденцию, которая наметилась в развитии этой замечательной программы (за три неполных года на рынок были выпущены три новые версии, что позволяет выявить некоторые закономерности).

Итак, что же главное, по мнению автора, в эволюции продукта? Прежде всего, оставаясь профессиональным математическим пакетом, Maple приобретает все больше функциональных возможностей для широкого применения в образовательной и обучающей сфере. В 8-ой версии, наконец, сделан решительный шаг к созданию современного дружественного интерфейса, что позволяет избавиться от устаревшего способа взаимодействия с пакетом через командную строку. Обращает на себя внимание расширение возможностей работы с различными форматами (XML, MathML, LaTeX и HTML) и включение в область применения пакета новых дисциплин (физика, химия).

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

Источник: http://www.mycomp.com.ua/ 
  


Copyright © "Internet Zone"info@izcity.com 
Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/.
При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас. Подробнее условия использования материалов смотрите здесь.