ТОП 10:

Тема №11. Универсальные пакеты для научных исследований



План изучения:

Введение

1. Mathematica

1.1. Прикладные пакеты системы Mathematica

1.2. Альтернативные пакеты

2. Maple

2.1. Интерфейс Maple

2.2. Вычисления в Maple

2.3. Графика в Maple

2.4. Специализированные приложения

2.5. Программирование

2.6. Интернет-совместимость

2.7. Перспективы развития

2.8. Альтернативные пакеты

3. MatLab

3.1. Simulink

3.2. Библиотека Image Processing Toolbox

3.3. Другие возможности MatLab

3.4. Альтернативные пакеты

4. MathCad

4.1. Применение MathCad для решения прикладной задачи

4.2. Альтернативные пакеты

Введение

В последнее время в широких кругах пользователей вычислительных машин различного класса стал достаточно популярным и широко используемым термин «компьютерная математика».

Компьютерная, символьная математика либо компьютерная алгебра — большой раздел математического моделирования. В принципе, программы такого рода можно отнести к инженерным программам автоматизированного проектирования. Таким образом, в области инженерного проектирования выделяют три основных раздела:

CAD — Computer Aided Design (автоматизированное проектирование);

CAM — Computer Aided Manufacturing (автоматизированное производство);

CAE — Computer Aided Engeneering (автоматизированное конструирование, автоматизированная разработка).

Сегодня серьезное конструирование, градостроительство и архитектура, электротехника и масса смежных с ними отраслей, а также учебные заведения технической направленности уже не могут обойтись без систем автоматизированного проектирования (САПР), производства и расчетов. А математические пакеты являются составной частью мира CAE-систем, но эта часть никак не может считаться второстепенной, поскольку некоторые задачи вообще невозможно решить без помощи компьютера. Более того, к системам символьной математики сегодня прибегают даже теоретики (так называемые чистые, а не прикладные математики), например для проверки своих гипотез.

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

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

В настоящее время практически все современные CAE-программы имеют встроенные функции символьных вычислений. Однако наиболее известными и приспособленными для математических символьных вычислений считаются Maple, MathCad, Mathematica и MatLab. Кроме основных программ символьной математики существуют альтернативы, идеологически схожие с тем или иным пакетом-лидером.

Так что же делают эти программы и как они помогают математикам? Основу курса математического анализа в высшей школе составляют такие понятия, как пределы, производные, первообразные функций, интегралы разных видов, ряды и дифференциальные уравнения. Тому, кто знаком с основами высшей математики, наверняка, известны десятки правил нахождения пределов, взятия интегралов, нахождения производных и т.д. Если добавить к этому то, что для нахождения большинства интегралов нужно также помнить таблицу основных интегралов, то получается поистине огромный объем информации. И если какое-то время не тренироваться в решении подобных задач, то многое быстро забывается и для нахождения, например, интеграла посложнее придется уже заглядывать в справочники. Но ведь взятие интегралов и нахождение пределов в реальной работе не является главной целью вычислений. Реальная цель заключается в решении каких-либо проблем, а вычисления — всего лишь промежуточный этап на пути к этому решению.

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

Отметим только, что спектр задач, решаемых подобными системами, очень широк:

проведение математических исследований, требующих вычислений и аналитических выкладок;

разработка и анализ алгоритмов;

математическое моделирование и компьютерный эксперимент;

анализ и обработка данных;

визуализация, научная и инженерная графика;

разработка графических и расчетных приложений.

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

Mathematica

Компания Wolfram Reseach, Inc. (http://www.wolfram.com/), разработавшая систему компьютерной математики Mathematica, по праву считается старейшим и наиболее солидным игроком в этой области. Пакет Mathematica повсеместно применяется при расчетах в современных научных исследованиях и получил широкую известность в научной и образовательной среде. Основным автором разработки системы Mathematica является глава и основатель компании Wolfram Research, Inc., известный физик и математик Стефан Вольфрам (Stephen Wolfram). Еще в 70-х годах молодой исследователь (С. Вольфрам родился в 1959 году), работая в различных областях физики, обратил внимание на то, что ученым очень часто встречаются похожие комплексы громоздких математических выкладок, отнимающие много времени. Проводить такие вычисления в то время можно было либо "в лоб" – вооружившись ручкой и тетрадкой, либо с помощью "заказных" компьютерных программ узкой специализации. Кроме того, становилось понятно, что некоторыми направлениями научных исследований невольно пренебрегают лишь потому, что для формирования математических моделей и анализа результатов (в числовой, символьной и графической форме) пока еще не существует подходящих средств.

 

Рисунок 1 – Интерфейс системы Mathematica

 

Задавшись целью обеспечить ученых производительным математическим инструментом, Вольфрам собрал коллектив разработчиков для определения архитектуры новой (как теперь говорят, полностью эксклюзивной) компьютерной системы. В августе 1987 года была основана Wolfram Research, а на следующий год – в июне 1988 года – официально вышла первая версия системы Mathematica на платформе Macintosh. Программа сразу же получила очень хорошие отзывы со стороны ведущих (и не только математических) изданий мира. Еще менее чем через полгода появилась версия Mathematica для компьютеров с MS-DOS. С тех пор были разработаны версии системы для Microsoft Windows, OS/2, Linux, Unix, Convex и т.д. - всего более чем для 20 операционных систем и аппаратных средств.

К 1996 году в мире было уже зарегистрировано свыше миллиона постоянных пользователей системы.

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

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

Отметим, что в разработках различных версий системы Mathematica, наряду с головной фирмой Wolfram Research, Inc., принимали участие другие фирмы и сотни специалистов высокой квалификации, в том числе математики и программисты. Есть среди них и представители пользующейся уважением и спросом за рубежом математической школы России. Система Mathematica является одной из самых крупных программных систем и реализует наиболее эффективные алгоритмы вычислений. К их числу, например, относится механизм контекстов, исключающий появление в программах побочных эффектов.

Система Mathematica обеспечивает не только возможности выполнения сложных численных расчетов с выводом их результатов в самом изысканном графическом виде, но и проведение особо трудоемких аналитических преобразований и вычислений. Версии системы под Windows имеют современный пользовательский интерфейс и позволяют готовить документы в форме Notebooks (записных книжек). Они объединяют исходные данные, описания алгоритмов решения задач, программ и результатов решения в самой разнообразной форме (математические формулы, числа, векторы, матрицы, таблицы и графики). При этом система обеспечивала динамическую связь между ячейками документов в стиле электронных таблиц даже при решении символьных задач, что принципиально и выгодно отличало ее от других подобных систем. Большое внимание уделено графике, в том числе динамической, и даже возможностям мультимедиа — воспроизведению динамической анимации и синтезу звуков. Набор функций графики и изменяющих их действие опций очень широк. Графика всегда была сильной стороной различных версий системы Mathematica и обеспечивала им лидерство среди систем компьютерной математики.

Центральное место в системах Mathematica (рисунок 1.2) занимает машинно-независимое ядро математических операций, которое позволяет переносить систему на различные компьютерные платформы. Для переноса системы на другую компьютерную платформу используется программный интерфейсный процессор Front End. Именно он определяет, какой вид имеет пользовательский интерфейс системы, то есть интерфейсные процессоры систем Mathematica для других платформ могут обладать своими нюансами. Ядро сделано достаточно компактным для того, чтобы можно было очень быстро вызвать из него любую функцию. Для расширения набора функций служат библиотека (Library) и набор пакетов расширения (Add-on Packages). Пакеты расширений готовятся на собственном языке программирования систем Mathematica и являются главным средством для развития возможностей системы и их адаптации к решению конкретных классов задач пользователя. Кроме того, системы имеют встроенную электронную справочную систему — Help, которая содержит электронные книги с реальными примерами.

Рисунок 2 – Структура системы Mathematica

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







Последнее изменение этой страницы: 2017-02-09; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.235.55.253 (0.008 с.)