Интегрированные пакеты математических расчетов

 

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

Классификация математических систем. В настоящее время компьютерные математические системы по функциональному назначению можно подразделить на семь классов:

1. Системы для численных расчетов

2. Табличные процессоры

3. Матричные системы

4. Системы для статистических расчетов

5. Системы для специальных расчетов

6. Системы для аналитических расчетов (компьютерной алгебры)

7. Универсальные системы

Весьма условно по уровню сложности можно разбить на три класса:

1. Начального уровня для школьников и студентов Derive, MuPad

2. Среднего уровня MuPad, MathCad

3. Высший класс Mathematica, Maple, MatLab

Структура систем компьютерной математики, ставшей классической, выглядит следующим образом:

 
 

 

 


Рис 4.22. Структура систем компьютерной математики

 

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

Системы компьютерной математики для численных расчетов способны выполнять арифметические, алгебраические, логические операторы и функции, векторные и матричные операторы и функции, средства решения уравнений, систем линейных и нелинейных уравнений, средства решения систем дифференциальных уравнений, средства оптимизации и линейного программирования, средства создания графиков и средства программирования. К такому классу пакетов относятся Eureka и Mercury разработанные фирмой Borland. Программы управлялись операционной системой MS-DOS отличались простотой и были по сути первыми массовыми программными продуктами компьютерной математики. Интересными являются пакеты MathCad (MathSoft Inc.) ранних версий, т.к. они имели пользовательский интерфейс и входной язык, позволяющий создавать документы в форме протокола расчета. Сейчас математическая система Mathcad признана во всем мире одной из лучших вычислительных систем для научно-технических расчетов. Со времени своего создания претерпела множество изменений и дополнений, нашедших отражение в различных ее версиях.

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

Система Mathcad чрезвычайно проста в использовании и требует немного времени для ее освоения. Большинство действий, необходимых при работе с системой, являются интуитивно прозрачными, пользователю, знакомому со средой Windows, не потребуется много времени для ее освоения.

Система использует 32-разрядную модель памяти, что обеспечивает повышенную точность и быстродействие вычислений.

Mathcad может выполнять вычисления любой сложности, по своему объему допустимые на персональном компьютере. Кроме обычных численных расчетов, система способна решать задачи в символьном (аналитическом) виде.

Mathcad имеет развитые средства для численного решения дифференциальных уравнений и их систем. В тоже время отметим, что в отличие от более продвинутых математических систем, таких как Mathematica 2 и 3 или Maple V R4 или R5, Mathcad не имеет средств аналитического решения дифференциальных уравнений. Тем не менее, опытный пользователь может воспользоваться известными средствами решения таких уравнений, например, применить прямое и обратное преобразования Лапласа.

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

Система Mathcad полностью поддерживает технологии OLE (Object Linking and Embedding –связывание и внедрение объекта) и DDE (Dynamic Data Exchange – динамический обмен данных). OLE и DDE предоставляют Mathcad возможность работать внутри других приложений Windows или осуществлять с ними обмен данными.

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

Начиная с версии 7, в составе Mathcad содержится системный интегратор MathConnex, который выполняет функции интеграции различных приложений с системой и обеспечивает их совместную работу. Благодаря этому возможно простое и наглядное установление сложных взаимосвязей с матричной системой MatLAB, с графической системой Axum и др. Выполняет функции имитационного моделирования систем, представленные типовыми блоками в виде функциональной схемы. В частности, он позволяет создать виртуальные физические лаборатории, содержащие сложные и дорогостоящие приборы.

Пользователи, знакомые с программированием в Mathcad, могут создать библиотеку динамической компоновки (DLL), содержащую собственные внешние функции, которые будут выглядеть и работать так же, как «фирменные» функции.

 

Матричные системы. Ранние версии MatLab являлись чисто матричными системами, даже простое число интерпретировалось как матрицы размера 1х1. Практически все функции системы определялись как матричные, т.е. способные выполнять действия над массивами. Интенсивное развитие этой системы привело к тому, что сейчас это универсальная система. Современная двенадцатая версия MatLab имеет не только самое большое число матричных операторов и функций, но и самую простую адаптацию к решению задач пользователя. Любое новое определение системы задается в виде некоторого M-файла и в дальнейшем оно может быть использовано наряду со встроенными функциями. Для MatLab создано большое количество пакетов расширения. Дескрипторная графика пакета основана на принципах объектно-ориентированного программирования, добавляет мощные средства визуализации результатов вычислений.

Системы статистических расчетов. К ним относятся StatGraphics Plus, Statistica, SPSS. Ввод обрабатываемых данных производится в таблицу или таблица загружается с диска, потому интерфейс систем напоминает табличный процессор Excel. Правила работы с пакетом также аналогичны Excel, т.е. вводятся в таблицу данные, выделяются данные для расчета, затем вызывается функция. В отличии от Excel программы статистических расчетов снабжены большим числом встроенных специальных функций по статистической обработке данных.

Системы для специальных расчетов. Часть математических пакетов ориентирована на некоторый узко специальный круг задач. Например, систем нелинейных уравнений TK Solver, систем дифференциальных уравнений Dynamic Solver, построения графиков Axum и т.д. Эти программы сейчас все чаще заменяются универсальными пакетами программ. К особому классу систем специальных расчетов относятся системы математического моделирования. Например, для блочно заданных систем с успехом применяется приложение Simulink, входящее в последние версии MatLab, для проектирования и моделирования электронных схем применяются OrCAD, DesignLab и др.

Системы аналитических расчетов. Дают возможность производить вычисления в аналитическом виде. Одной из таких системы символьной математики (компьютерной алгебры) является Maple.

Система Maple разработана в университете Ватерлоо (Канада), вместе с развитием программных средств, система успешно развивается и модифицируется. Версии системы называют реализациями. Одной из самых известных ранних реализаций является версия Maple V R5. В нее были введены возможности работы с электронными таблицами, появилась возможность записи файлов в формате HTML и введен обмен данными между документами методом перетаскивания. Современная версия системы Maple 8 – одна из самых надежных систем компьютерной математики. Перечислим некоторые возможности этой версии:

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

Символьные и численные вычисления (решение уравнений, дифференцирование и интегрирование функций, вычисление пределов, разложение функций в ряды, интегральные преобразования Лапласа, Фурье и др.).

Графическая визуализация вычислений (построение различных плоских и трехмерных графиков, анимация графиков, создание и проигрывание анимационных файлов и др.).

Программирование (встроенный язык процедурного программи­рования, средства отладки программ, мощные библиотеки функций, задание внешних процедур и функций, поддержка языков Си, Фортран и др.).

Ускоренные алгоритмы вычислений.

Обучающий курс User’s Tour, встроенный в справку.

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

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

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