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

  • CAD - Computer Aided Design;
  • CAM - Computer Aided Manufacturing;
  • CAE - Computer Aided Engeneering.

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

Всего каких-нибудь 10 лет назад эти системы считались сугубо профессиональными, но середина 90-х годов стала переломным моментом для мирового рынка CAD/CAM/CAE-систем массового применения. Тогда, впервые за долгое время, пакеты для параметрического моделирования с промышленными возможностями стали доступны пользователям персональных компьютеров. Создатели подобных систем учли требования широкого круга пользователей и таким образом дали возможность десяткам тысяч инженеров и математиков использовать на своих персональных рабочих местах новейшие достижения науки в области технологий CAD/CAM/CAE-систем.

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

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

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

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

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

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

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

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

Mathematica (http://www.wolfram.com/)

  • 400-550 Мбайт дискового пространства;
  • операционные системы: Windows 98/Me/ NT 4.0/2000/2003 Server/2003x64/XP/XP x64.

Компания Wolfram Reseach, Inc., разработавшая систему компьютерной математики Mathematica, по праву считается старейшим и наиболее солидным игроком в этой области. Пакет Mathematica (текущая версия 5.2) повсеместно применяется при расчетах в современных научных исследованиях и получил широкую известность в научной и образовательной среде. Можно даже сказать, что Mathematica обладает значительной функциональной избыточностью (там, в частности, есть даже возможность для синтеза звука).

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

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

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

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

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

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

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

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

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

К недостаткам системы Mathematica следует отнести разве что весьма необычный язык программирования, обращение к которому, впрочем, облегчает подробная система помощи.

В качестве более простых, но идеологически близких альтернатив программы Mathematica можно назвать такие пакеты, как Maxima ( /) и Kalamaris (developer.kde.org/~larrosa/kalamaris.html).

Отметим, что система Maxima - это некоммерческий проект с открытым кодом. В программе Maxima для математической работы используется язык, сходный с языком в пакете Mathematica, а графический интерфейс построен по тем же принципам. Изначально программа называлась Xmaxima и создавалась для UNIX-систем.

Кроме того, сейчас у системы Maxima есть еще более мощный, эффективный и дружественный кроссплатформенный графический интерфейс, который называется Wxmaxima (http://wxmaxima.sourceforge.net). И хотя этот проект пока что существует лишь в бета-версии, он постепенно превращается в очень серьезную альтернативу коммерческим системам.

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

Maple (http://www.maplesoft.com/)

Минимальные требования к системе:

Процессор Pentium III 650 МГц;

400 Мбайт дискового пространства;

Операционные системы: Windows NT 4 (SP5)/98/ME/2000/2003 Server/XP Pro/XP Home.

Программа Maple (последняя версия 10.02) - своего рода патриарх в семействе систем символьной математики и до сих пор является одним из лидеров среди универсальных систем символьных вычислений. Она предоставляет пользователю удобную интеллектуальную среду для математических исследований любого уровня и пользуется особой популярностью в научной среде. Отметим, что символьный анализатор программы Maple является наиболее сильной частью этого ПО, поэтому именно он был позаимствован и включен в ряд других CAE-пакетов, таких как MathCad и MatLab, а также в состав пакетов для подготовки научных публикаций Scientific WorkPlace и Math Office for Word.

Пакет Maple - совместная разработка Университета Ватерлоо (шт. Онтарио, Канада) и Высшей технической школы (ETHZ, Цюрих, Швейцария). Для его продажи была создана специальная компания - Waterloo Maple, Inc., которая, к сожалению, больше прославилась математической проработкой своего проекта, чем уровнем его коммерческой реализации. В результате система Maple ранее была доступна преимущественно узкому кругу профессионалов. Сейчас эта компания работает совместно с более преуспевающей в коммерции и в проработке пользовательского интерфейса математических систем фирмой MathSoft, Inc. - создательницей весьма популярных и массовых систем для численных расчетов MathCad, ставших международным стандартом для технических вычислений.

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

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

Интерфейс Maple основан на концепции рабочего поля (worksheet) или документа, содержащего строки ввода-вывода и текст, а также графику.

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

Интерфейс Maple

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

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

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

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

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

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

  • функция ошибок;
  • эйлерова константа;
  • экспоненциальный интеграл;
  • эллиптическая интегральная функция;
  • гамма-функция;
  • зета-функция;
  • ступенчатая функция Хевисайда;
  • дельта-функция Дирака;
  • бесселева и модифицированная бесселева функции.

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

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

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

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

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

Графика в Maple

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

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

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

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

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

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

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

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

Система Maple использует процедурный язык 4-го поколения (4GL). Этот язык специально предназначен для быстрой разработки математических подпрограмм и пользовательских приложений. Синтаксис данного языка аналогичен синтаксису универсальных языков высокого уровня: C, Fortran, Basic и Pascal.

Maple может генерировать код, совместимый с такими языками программирования, как Fortran или C, и с языком набора текста LaTeX, который пользуется большой популярностью в научном мире и применяется для оформления публикаций. Одно из преимуществ этого свойства - способность обеспечивать доступ к специализированным числовым программам, максимально ускоряющим решение сложных задач. Например, используя систему Maple, можно разработать определенную математическую модель, а затем с ее помощью сгенерировать код на языке C, соответствующий этой модели. Язык 4GL, специально оптимизированный для разработки математических приложений, позволяет сократить процесс разработки, а настроить пользовательский интерфейс помогают элементы Maplets или документы Maple со встроенными графическими компонентами.

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

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

Maple является первым универсальным математическим пакетом, который предлагает полную поддержку стандарта MathML 2.0, управляющего как внешним видом, так и смыслом математики в Интернете. Эта эксклюзивная функция делает текущую версию MathML основным средством Интернет-математики, а также устанавливает новый уровень совместимости многопользовательской среды. TCP/IP-протокол обеспечивает динамический доступ к информации из других Интернет-ресурсов, например к данным для финансового анализа в реальном времени или к данным о погоде.

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

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

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

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

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

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

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

В качестве более простых, но идеологически близких альтернатив программе Maple можно отметить такие пакеты, как Derive (http://www.chartwellyorke.com/derive.html), Scientific WorkPlace (http://www.mackichan.com/) и YaCaS (www.xs4all.nl/~apinkus/yacas.html).

Как мы уже говорили, система Scientific WorkPlace (SWP, текущая версия 5.5) поначалу развивалась как редактор научных текстов, позволяя легко набирать и редактировать математические формулы. Однако со временем компания MacKichan Software, Inc. (разработчик системы Scientific WorkPlace) лицензировала символьный движок Maple у компании Waterloo Maple, Inc., и теперь эта программа объединяет простой в использовании текстовый процессор, обеспечивающий создание математических текстов и систему компьютерной алгебры в одной среде. Благодаря встроенной системе компьютерной алгебры вы можете производить вычисления прямо в документе. Конечно, у этой программы нет таких возможностей, как у Maple, однако она маленькая и простая в использовании.

Что касается YaCaS (аббревиатура от выражения Yet Another Computer Algebra System - еще одна система компьютерной алгебры), то это бесплатная кроссплатформенная альтернатива Maple, построенная на тех же принципах. Мощный и высокоэффективный движок YaCaS полностью реализован на C++ на условиях открытой лицензии (OpenSource). Интерфейс, конечно, более бедный и простой, чем у маститых конкурентов, но довольно удобный.

А вот маленькая коммерческая математическая система Derive (текущая версия 6.1) существует уже довольно давно, но, конечно, не может рассматриваться как полноценная альтернатива Maple, хотя она и по сей день привлекательна своей нетребовательностью к аппаратным ресурсам ПК. Более того, при решении задач умеренной сложности она демонстрирует даже более высокое быстродействие и большую надежность решения, чем первые версии систем Maple и Mathematica. Впрочем, системе Derive трудно всерьез конкурировать с этими системами - как по обилию функций и правил аналитических преобразований, так и по возможностям машинной графики и по удобству пользовательского интерфейса. Пока что Derive является больше учебной системой компьютерной алгебры начального уровня.

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

MatLab (http://www.mathworks.com/)

Минимальные требования к системе:

  • процессор Pentium III, 4, Xeon, Pentium M; AMD Athlon, Athlon XP, Athlon MP;
  • 256 Мбайт оперативной памяти (рекомендуется 512 Мбайт);
  • 400 Мбайт дискового пространства (только для самой системы MatLab и ее Help);
  • операционная система Microsoft Windows 2000 (SP3)/XP.

Система MatLab относится к среднему уровню продуктов, предназначенных для символьной математики, но рассчитана на широкое применение в сфере CAE (то есть сильна и в других областях). MatLab - одна из старейших, тщательно проработанных и проверенных временем систем автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций. Это нашло отражение и в самом названии системы - MATrix LABoratory, то есть матричная лаборатория. Однако синтаксис языка программирования системы продуман настолько тщательно, что данная ориентация почти не ощущается теми пользователями, которых не интересуют непосредственно матричные вычисления.

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

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

Библиотека C Math позволяет пользоваться следующими категориями функций:

  • операции с матрицами;.
  • сравнение матриц;
  • решение линейных уравнений;
  • разложение операторов и поиск собственных значений;
  • нахождение обратной матрицы;
  • поиск определителя;
  • вычисление матричного экспоненциала;
  • элементарная математика;
  • функции beta, gamma, erf и эллиптические функции;
  • основы статистики и анализа данных;
  • поиск корней полиномов;
  • фильтрация, свертка;
  • быстрое преобразование Фурье (FFT);
  • интерполяция;
  • операции со строками;
  • операции ввода-вывода файлов и т.д.

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

Для визуализации моделирования система MatLab имеет библиотеку Image Processing Toolbox, которая обеспечивает широкий спектр функций, поддерживающих визуализацию проводимых вычислений непосредственно из среды MatLab, увеличение и анализ, а также возможность построения алгоритмов обработки изображений. Усовершенствованные методы графической библиотеки в соединении с языком программирования MatLab обеспечивают открытую расширяемую систему, которая может быть использована для создания специальных приложений, пригодных для обработки графики.

Основные средства библиотеки Image Processing Tollbox:

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

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

Таким образом, программу MatLab можно использовать для восстановления испорченных изображений, шаблонного распознавания объектов на изображениях или же для разработки каких-либо собственных оригинальных алгоритмов обработки изображений. Библиотека Image Processing Tollbox упрощает разработку высокоточных алгоритмов, поскольку каждая из функций, включенных в эту библиотеку, оптимизирована для максимального быстродействия, эффективности и достоверности вычислений. Кроме того, библиотека обеспечивает разработчика многочисленным инструментарием для создания собственных решений и для реализаций сложных приложений обработки графики. А при анализе изображений использование мгновенного доступа к мощным средствам визуализации помогает моментально увидеть эффекты увеличения, восстановления и фильтрации.

Среди других библиотек системы MatLab можно также отметить System Identification Toolbox - набор инструментов для создания математических моделей динамических систем, основанных на наблюдаемых входных/выходных данных. Особенностью этого инструментария является наличие гибкого пользовательского интерфейса, позволяющего организовать данные и модели. Библиотека System Identification Toolbox поддерживает как параметрические, так и непараметрические методы. Интерфейс системы облегчает предварительную обработку данных, работу с итеративным процессом создания моделей для получения оценок и выделения наиболее значимых данных. Быстрое выполнение с минимальными усилиями таких операций, как открытие/сохранение данных, выделение области возможных значений данных, удаление погрешностей, предотвращение ухода данных от характерного для них уровня.

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

А что касается математических вычислений, то MatLab предоставляет доступ к огромному количеству подпрограмм, содержащихся в библиотеке NAG Foundation Library компании Numerical Algorithms Group Ltd (инструментарий имеет сотни функций из различных областей математики, и многие из этих программ были разработаны широко известными в мире специалистами). Это уникальная коллекция реализаций современных численных методов компьютерной математики, созданных за последние три десятка лет. Таким образом, MatLab вобрала и опыт, и правила, и методы математических вычислений, накопленные за тысячи лет развития математики. Одну только прилагаемую к системе обширную документацию вполне можно рассматривать как фундаментальный многотомный электронный справочник по математическому обеспечению.

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

Поэтому для проведения аналитических преобразований в MatLab используется ядро символьных преобразований Maple, а из Maple для численных расчетов можно обращаться к MatLab. Ведь недаром символьная математика Maple вошла составной частью в целый ряд современных пакетов, а численный анализ от MatLab и наборы инструментов (Toolboxes) уникальны. Тем не менее математические пакеты Maple и MatLab - это интеллектуальные лидеры в своих классах, это образцы, определяющие развитие компьютерной математики.

В качестве более простых, но идеологически близких альтернатив программе MatLab можно отметить такие пакеты, как Octave (www.octave.org), KOctave (bubben.homelinux.net/~matti/koctave/) и Genius (www.jirka.org/genius.html).

Octave - это программа числовых вычислений, хорошо совместимая с MatLab. Интерфейс системы Octave, конечно, беднее, и у нее нет таких уникальных библиотек, как у MatLab, зато это очень простая в освоении программа, нетребовательная к системным ресурсам. Распространяется Octave на условиях открытой лицензии с исходным кодом (OpenSource) и может стать хорошим подспорьем для учебных заведений.

Программа KOctave по сути представляет собой более продвинутый графический интерфейс для системы Octave. В результате использования KOctave система Octave становится полностью похожей на MatLab.

Простенькая математическая программа Genius, естественно, не может поспорить по мощности с именитыми конкурентами, но идеология математических преобразований у нее сходна с MatLab и Maple. Распространяется Genius тоже на условиях открытой лицензии с исходным кодом (OpenSource). Она имеет собственный язык GEL, развитый инструментарий Genius Math Tool и хорошую систему подготовки документов для публикации (с использованием таких языков оформления, как LaTeX, Troff (eqn) и MathML). Очень хороший графический интерфейс программы Genius сделает работу с ней простой и удобной.

MathCad (http://www.mathsoft.com/ , http://www.mathcad.com/)

Минимальные требования к системе:

  • процессор Pentium II или выше;
  • 128 Мбайт оперативной памяти (рекомендуется 256 Мбайт или больше);
  • 200-400 Мбайт дискового пространства;
  • операционные системы: Windows 98/Me/NT 4.0/2000/XP.

В отличие от мощного и ориентированного на высокоэффективные вычисления при анализе данных пакета MatLab, программа MathCad (текущая версия 13) - это, скорее, простой, но продвинутый редактор математических текстов с широкими возможностями символьных вычислений и прекрасным интерфейсом. MathCad не имеет языка программирования как такового, а движок символьных вычислений заимствован из пакета Maple. Зато интерфейс программы MathCad очень простой, а возможности визуализации богатые. Все вычисления здесь осуществляются на уровне визуальной записи выражений в общеупотребительной математической форме. Пакет имеет хорошие подсказки, подробную документацию, функцию обучения использованию, целый ряд дополнительных модулей и приличную техническую поддержку производителя (как можно видеть по версии продукта, обновление этой программы происходит чаще, чем других, упомянутых в этом обзоре, хотя год выпуска первой версии у них примерно один и тот же - 1996-1997 годы). Однако пока математические возможности MathCad в области компьютерной алгебры намного уступают системам Maple, Mathematica, MatLab и даже малютке Derive. Однако по программе MathCad выпущено много книг и обучающих курсов, в том числе у нас в России. Сегодня эта система стала буквально международным стандартом для технических вычислений и даже многие школьники осваивают и используют MathCad.

Для небольшого объема вычислений MathCad идеален - здесь все можно проделать очень быстро и эффективно, а затем оформить работу в привычном виде (MathCad предоставляет широкие возможности для оформления результатов, вплоть до публикации в Интернете). Пакет имеет удобные возможности импорта/экспорта данных. Например, можно работать с электронными таблицами Microsoft Excel прямо внутри MathCad-документа.

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

В качестве более дешевых, простых, но идеологически близких альтернатив программе MathCad можно отметить такие пакеты, как уже упомянутый YaCaS, коммерческую систему MuPAD (http://www.mupad.de/) и бесплатную программу KmPlot (http://edu.kde.org/kmplot/).

Программа KmPlot распространяется на условиях открытой лицензии с исходным кодом (OpenSource). Она очень проста в освоении и подойдет даже школьникам.

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

Заключение

Несмотря на то что в области компьютерной математики не наблюдается такого разнообразия, как, скажем, в среде компьютерной графики, за видимой ограниченностью рынка математических программ скрываются их поистине безграничные возможности! Как правило, CAE-системы охватывают практически все области математики и инженерных расчетов.

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

Отметим, что практически все эти системы работают не только на персональных компьютерах, оснащенных популярными операционными системами Windows, но и под управлением операционных системы Linux, UNIX, Mac OS, а также на КПК. Они давно знакомы пользователям и широко распространены на всех платформах - от наладонника до суперкомпьютера.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО

ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «МОРДОВСКИЙ

ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ ИНСТИТУТ

ИМЕНИ М. Е. ЕВСЕВЬЕВА»

Факультет физико-математический

Кафедра информатики и вычислительной техники

Реферат на тему:

«Современные интегрированные математические пакеты »

Выполнил: Ю. А. Шаповалов,

студент IV курса группы МДФ-112

Проверила: кан. физ-мат. наук, доцент

Кормилицына Т.В

Саранск 2015

Введение

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

    CAD - Computer Aided Design (система автоматизированного проектирования );

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

    CAE - Computer Aided Engeneering (системы автоматизации инженерных расчётов ).

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

Всего каких-нибудь 10 лет назад эти системы считались сугубо профессиональными, но середина 90-х годов стала переломным моментом для мирового рынка CAD/CAM/CAE-систем массового применения. Тогда, впервые за долгое время, пакеты для параметрического моделирования с промышленными возможностями стали доступны пользователям персональных компьютеров. Создатели подобных систем учли требования широкого круга пользователей и таким образом дали возможность десяткам тысяч инженеров и математиков использовать на своих персональных рабочих местах новейшие достижения науки в области технологий CAD/CAM/CAE-систем.

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

Mathematica

    400-550 Мбайт дискового пространства;

    операционные системы: Windows 98/Me/ NT 4.0/2000/2003 Server/2003x64/XP/XP x64.

Рисунок - Эмблема программы Mathematica

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

Рисунок - Графические возможности Mathematica

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

К недостаткам системы Mathematica следует отнести разве что весьма необычный язык программирования, обращение к которому, впрочем, облегчает подробная система помощи.

Maxima и Kalamaris

Maxima и Kalamaris более простые, но идеологически схожи с Mathematica. Отметим, что система Maxima - это некоммерческий проект с открытым кодом. В программе Maxima для математической работы используется язык, сходный с языком в пакете Mathematica, а графический интерфейс построен по тем же принципам. Изначально программа называлась Xmaxima и создавалась для UNIX-систем

Рисунок - Эмблема программы Maxima

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

Рисунок 4 -Интерфейс программы Kalamaris

Maple

Минимальные требования к системе:

процессор Pentium III 650 МГц;

128 Мбайт оперативной памяти (рекомендуется 256 Мбайт);

400 Мбайт дискового пространства;

Рисунок 5- Эмблема программы Maple

операционные системы : Windows NT 4 (SP5)/98/ME/2000/2003 Server/XP Pro/XP Home.

Программа Maple- своего рода патриарх в семействе систем символьной математики и до сих пор является одним из лидеров среди универсальных систем символьных вычислений. Она предоставляет пользователю удобную интеллектуальную среду для математических исследований любого уровня и пользуется особой популярностью в научной среде. Отметим, что символьный анализатор программы Maple является наиболее сильной частью этого ПО, поэтому именно он был позаимствован и включен в ряд других CAE-пакетов, таких как MathCad и MatLab.

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

MatLab

Минимальные требования к системе:

    процессор Pentium III, 4, Xeon, Pentium M; AMD

    Athlon, Athlon XP, Athlon MP;

    256 Мбайт оперативной памяти;

Рисунок 6- Эмблема программы MatLab

400 Мбайт дискового пространства

(только для самой системы MatLab и ее Help);

    операционная система Microsoft Windows 2000 (SP3)/XP.

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

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

Библиотека C Math позволяет пользоваться следующими категориями функций:

    операции с матрицами;

    сравнение матриц;

    решение линейных уравнений;

    разложение операторов и поиск собственных значений;

    нахождение обратной матрицы;

    поиск определителя;

    вычисление матричного экспоненциала;

    элементарная математика;

    функции beta, gamma, erf и эллиптические функции;

    основы статистики и анализа данных;

    поиск корней полиномов;

    фильтрация, свертка;

    быстрое преобразование Фурье (FFT);

    интерполяция;

    операции со строками;

    операции ввода-вывода файлов и т.д.

Таким образом, систему MatLab можно использовать для обработки изображений, программу MatLab можно использовать для восстановления испорченных изображений, шаблонного распознавания объектов на изображениях или же для разработки каких-либо собственных оригинальных алгоритмов обработки изображений, для создания математических моделей динамических систем, основанных на наблюдаемых входных/выходных данных. А что касается математических вычислений, то MatLab предоставляет доступ к огромному количеству подпрограмм, содержащихся в библиотеке NAG Foundation Library компании Numerical Algorithms Group Ltd (инструментарий имеет сотни функций из различных областей математики, и многие из этих программ были разработаны широко известными в мире специалистами). Это уникальная коллекция реализаций современных численных методов компьютерной математики, созданных за последние три десятка лет. Таким образом, MatLab вобрала и опыт, и правила, и методы математических вычислений, накопленные за тысячи лет развития математики. Одну только прилагаемую к системе обширную документацию вполне можно рассматривать как фундаментальный многотомный электронный справочник по математическому обеспечению.

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

Рисунок 7- Эмблема программы Mathcad

MathCad

Минимальные требования к системе:

    процессор Pentium II или выше;

    128 Мбайт оперативной памяти (рекомендуется 256 Мбайт или больше);

    200-400 Мбайт дискового пространства;

    операционные системы: Windows 98/Me/NT 4.0/2000/XP.

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

Для небольшого объема вычислений MathCad идеален - здесь все можно проделать очень быстро и эффективно, а затем оформить работу в привычном виде. Пакет имеет удобные возможности импорта/экспорта данных. Например, можно работать с электронными таблицами Microsoft Excel прямо внутри MathCad-документа.

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

Заключение

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

Отметим, что практически все эти системы работают не только на персональных компьютерах, оснащенных популярными операционными системами Windows, но и под управлением операционных системы Linux, UNIX, Mac OS, а также на КПК. Они давно знакомы пользователям и широко распространены на всех платформах - от наладонника до суперкомпьютера.

Список использованных источников

    Википедия [Электронный ресурс]: свободная энциклопедия, которую может редактировать каждый. Издается с 15 января 2001 года. - Режим доступа: - Загл. с экрана.

    Картинки Google [Электронный ресурс]: бесплатные картинки по разным темам. - Режим доступа: - Загл. с экрана.

    КомпьютерПресс [Электронный ресурс]: первый в России ежемесячный компьютерный журнал «КомпьютерПресс» издавался с 1989 по 2013 год. - Режим доступа: .

    Pers.narod [Электронный ресурс]: бесплатный обучающий форум. - Режим доступа: .

В современных условиях невозможно представить себе квалифицированного ученого, инженера, конструктора, не использующего программ для автоматизации выполнения и высококачественного оформления проектов. К числу наиболее замечательных программ такого типа можно отнести всемирно известные программные продукты в области математики и физики Maple V, Matlab, Mathcad, Mathematica и другие программы.

Первая версия системы MATLAB была использована в конце 70-x г. XXв. в Университете Нью Мехико и Станфордском университете для преподавания курсов теории матриц, линейной алгебры и численного анализа.

Сейчас возможности системы значительно превосходят возможности первоначальной версии матричной лаборатории Matrix Laboratory. Нынешний MATLAB - это высокоэффективный язык инженерных и научных вычислений. Он поддерживает математические вычисления, визуализацию научной графики и программирование с использованием легко осваиваемого операционного окружения, когда задачи и их решения могут быть представлены в нотации, близкой к математической. Наиболее известные области применения системы MATLAB:

Математика и вычисления;

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

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

Анализ данных, исследование и визуализация результатов;

Научная и инженерная графика;

Разработка приложений, включая графический интерфейс пользователя.

MATLAB - это интерактивная система, основным объектом которой является массив, для которого не требуется указывать размерность явно.

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

Система MATLAB - это одновременно и операционная среда и язык программирования. Одна из наиболее сильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы для многократного использования.

Пакеты прикладных программ, которые представляют собой коллекции М-файлов для решения определенной задачи или проблемы (MATLAB Application Toolboxes) и входят в состав семейства продуктов MATLAB.

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


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

Программа разработана исследовательской группой (The Symbolic Computation Groop) отделения вычислительной техники университета Waterloo (Канада), которая была образована в декабре 1980 г. Кейтом Геддом (Keith Geddes) и Гастоном Гонэ (Gaston Gonnet).

Разработчики других известных математических пакетов, таких как MathCad и MatLab, используют символьный процессор Maple V в своих программах. Кроме того, математические редакторы Scientific Workplace (на основе Scientific Word) и MathOffice (на основе Microsoft Word) для выполнения расчетов также дополнены символьным процессором Maple .

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

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

Лекция 5.
Математические пакеты для решения статистических задач
1) STATISTICA
2) MathCad
3) MatLab
4) MS Excel
5) Примеры других математических пакетов

1. STATISTICA
Какой математический пакет для решения статистических задач в настоящее время считается наиболее популярным?
В настоящее время научное и инженерное сообщество снабжено огромным количеством вычислительных математических пакетов, которые реализуют типовые решения стандартных практических задач, относящихся как к самой математике, так и к её приложениям в любой области человеческой деятельности. Теперь стандартные задачи можно в считанные секунды решить, используя доступ к мощному вычислительному серверу с любого персонального мобильного устройства.
Одним из известных и популярных математических пакетов является программа STATISTICA.
STATISTICA предоставляет мощные и удобные в использовании инструменты для статистического и графического анализа, прогнозирования, Интеллектуального анализа данных (data mining) — это технология выявления скрытых взаимосвязей внутри больших баз данных, создания собственных пользовательских приложений, интеграции, совместной работы, web-доступа и др.
Программу STATISTICA позиционирует в Интернете сайт StatSoft TV - новый уникальный ресурс, содержащий эксклюзивные видеоролики по применению методов и инструментов STATISTICA для решения реальных задач, адрес - http://www.statsoft.ru/
В чем состоят основные преимущества программы STATISTICA?
Преимущества использования STATISTICA:
. Удобный интерфейс и уникальные возможности настройки
Интерфейс STATISTICA является интуитивно понятным, легко настраивается в соответствии с пользовательскими задачами и аналогичен интерфейсу стандартных Windows приложений, поэтому легко осваивается пользователем.
Анализ данных проводится интерактивно, в режиме последовательно открывающихся диалоговых окон. Любое окно анализа сконструировано таким образом, что на первой вкладке содержатся только самые необходимые кнопки, а на последующих вкладках - углубленные методы и специальные опции.
Таким образом, внимание новичка не отвлекают дополнительные настройки и параметры, а продвинутый пользователь сможет всегда настроить анализ по своему усмотрению.
. Уникальная графика
STATISTICA включает графический модуль, содержащий удобные инструменты для эффективной и наглядной визуализации данных, проведения графического анализа. Более 10 000 различных типов графиков, имеющих богатые возможности редактирования, интерактивной настройки (вращение, масштабирование, прозрачность и другие возможности).
Графика STATISTICA традиционно признаётся самой точной и удобной в использовании.
. Возможность работы с файлами неограниченного размера, непревзойденная скорость обработки данных
Одним из важных свойств программных продуктов STATISTICA является их быстродействие при работе с большим объемом данных и вычислительная мощность приложений, требующих регулярного построения запросов к базам данных, комплексного управление данными.
. Повышенная точность вычислений
STATISTICA является единственным пакетом, способным максимально точно провести многие статистические расчеты.
. Широкие возможности интеграции и совместимости, простой импорт/экспорт данных, легкий доступ к базам данных
С 2008 года StatSoft является партнером Microsoft. STATISTICA полностью соответствует стандартам Microsoft, включая Связывание и внедрение объектов. Это позволяет:
- интегрировать новые модули в существующие системы;
- строить на основе STATISTICA интеллектуальную систему принятия решений, используя процедуры STATISTICA как готовые элементы.
STATISTICA позволяет напрямую производить импорт/экспорт данных из Microsoft Office, работать в Microsoft Excel "внутри" STATISTICA, автоматически сохранять результаты в Microsoft Word.
STATISTICA взаимодействует с любыми реляционными базами данных (Oracle, MS SQL Server, Informix, Access и др.), хранилищами бизнес-информации.
Имеет место интеграция с языком R (язык программирования для статистической обработки данных и работы с графикой). http://www.statsoft.ru/products/integration/integration-with-R.php
STATISTICA взаимодействует с Microsoft SharePoint, поддерживает OLAP технологии - аналитическая обработка в реальном времени — технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу.
В чем прослеживаются примеры интеграции STATISTICA?
Примеры интеграции
. Автоматизация любых процедур с помощью STATISTICA Visual Basic
Полный COM ориентированный интерфейс среды STATISTICA Visual Basic для всех функций и процедур (более 14000 функций), автоматическая запись макросов позволяют создавать пользовательские приложения и надстройки над STATISTICA для автоматизации любых еженедельных или длительных процедур.
Доступ ко всем свойствам через объектную модель, мощный отладчик процедур, браузер функций и т.д. позволяют создавать необходимые приложения максимально быстро.
STATISTICA Visual Basic интегрирован со множеством приложений (таких как MS Excel) и различными языками программирования (С++, Java и др.).
. Поддержка Web-технологий
Корпоративные версии STATISTICA полностью web-интегрированы: "ввод" и "вывод" данных через Web, направление результатов на Web-сервер, построение сложных автоматизированных систем, работающих с данными из внешних источников, проведение анализов и обновление содержания HTML-страниц на Web-сервере. Возможность пакетной обработки данных. Использование многоуровневой архитектуры клиент-сервер.
. Наличие русифицированной версии
STATISTICA полностью переведена на русский язык, включая электронное справочное руководство и документацию. Информация содержит общие положения о статистическом анализе данных, подробно разобранные примеры проведения конкретного анализа.
Для каких сфер деятельности может быть использована программа STATISTICA?
STATISTICA предоставляет решения - по отраслям
. Банковское дело
. Бизнес/Маркетинг
. Геологоразведка
. Интернет
. Медицина
. Образование
. Промышленность
. Страхование
. Телекоммуникации
. Фармакология
. Финансы
. Экономика/Социология
. Энергетика
Каким образом можно освоить программу STATISTICA?
Производитель на сайте http://www.statsoft.ru/ предоставляет возможность учиться:
. Электронный учебник
. Интерактивный модуль
. Техническая поддержка
. Книги
. Презентации
. Брошюры
Данные возможности открываются через меню Ресурсы.
Какие сервисы присутствуют на сайте производителя программы?
На сайте http://www.statsoft.ru/ можно посмотреть:
. Общие видео
. Прочитать про функции прогнозирование, Контроля качества, Методы статистики
. Data Mining - интеллектуальный анализ данных — это технология выявления скрытых взаимосвязей внутри больших баз данных
. Нейронные сети - исключительно мощный метод моделирования, позволяющий воспроизводить чрезвычайно сложные зависимости. В частности, нейронные сети нелинейны по свой природе. На протяжении многих лет линейное моделирование было основным методом моделирования в большинстве областей, поскольку для него хорошо разработаны процедуры оптимизации. В задачах, где линейная аппроксимация неудовлетворительна (а таких достаточно много), линейные модели работают плохо. Кроме того, нейронные сети справляются с "проклятием размерности", которое не позволяет моделировать линейные зависимости в случае большого числа переменных
. Big Data - Большие данные в информационных технологиях — серия подходов, инструментов и методов обработки структурированных и неструктурированных данных огромных объёмов и значительного многообразия для получения воспринимаемых человеком результатов, эффективных в условиях непрерывного прироста, распределения по многочисленным узлам вычислительной сети, сформировавшихся в конце 2000-х годов, альтернативных традиционным системам управления базами данных и решениям класса Business Intelligence

Какие виды программы STATISTICA предлагает производитель?
Линейка STATISTICA состоит из следующих продуктов:
STATISTICA Base - Широкий набор основных статистик и графических инструментов в понятном интерфейсе со всеми преимуществами, простотой и мощностью технологий STATISTICA.
STATISTICA Advanced - Включает все возможности STATISTICA Base, а также мощные инструменты для построения линейных/нелинейных моделей, многомерные технологии анализа данных, инструменты для анализа мощности и вычисления объема выборки.
STATISTICA Quality Control - Включает STATISTICA Base, модуль для анализа мощности, а также промышленный блок модулей: Карты Контроля Качества, Анализ Процессов, Планирование Экспериментов.
Кроме основных версий Производиетль StatSoft предлагает:
. программный продукт для нейросетевых исследований, полностью переведенный на русский язык,
. набор аналитических инструментов, включая Data Miner, Text Miner, Data Visualization и др.
. специализированные модули для решения задач в промышленности, retail, финансовой сфере и др.
К вышеперечисленным, имеются корпоративные продукты STATISTICA, которые совмещают эффективный интерфейс для доступа к центральному многопользовательскому репозиторию данных, средства для совместной работы пользователей и мощный функционал статистического анализа данных с преимуществами корпоративной работы, а также являются корпоративной платформой для продуктов, основанных на промышленных модулях.
Отдельным модулем программы STATISTICA выделены расширенные версии продуктов STATISTICA с возможностью генерирования исходного кода на языках C, Java и PMML, мощными инструментами для анализа неструктурированной текстовой информации. К расширенным возможностям программы относится Платформа для сбора, поиска и бизнес-анализа Больших Данных. Объединяет в себе возможности последних разработок в области Big Data:
. Масштабируемость и производительность Hadoop
. Создание выборок с помощью MapReduce
. Поиск на движке Lucene/SOLR
. Углубленная аналитика Mahout
. Работа с текстом Natural Language Processing
. Возможность работы в «облаках»
. контроль доступа и аудит операций,
. автоматизация сбора, предобработки и анализа, аналитические отчеты,
. архитектура клиент-сервер и т.д.
Имеется еще и Специализированные продукты STATISTICA, позволяющие агрегировать и форматировать большой объем исходных данных, быстро представлять данные в виде наглядных таблиц, получая оперативную информацию для принятия бизнес-решений, имеют удобный инструмент для создания скоринговых карт, тестирования и мониторинга скоринговых моделей (скоринг - система оперативной оценки клиента (потенциального заемщика) с помощью численных статистических методов), набор методов для проведения многомерного статистического управления качеством, инструмент для анализа экспериментов, содержащих как фиксированные, так и случайные эффекты.

2. MathCad
Почему пакет MathCad пользуется популярностью?
Одним из наиболее эффективных математических пакетов, способствующих как объединению математики и информатики, так и изучению классической математики, является пакет Mathcad. Он достаточно прост для освоения студентами и достаточно открыт, для того, чтобы за программированием увидеть математическую основу решаемой задачи.
В чем состоит основное достоинство MathCad?
Пакет MathCAD - продукт компании Mathsoft (появился 1988г.) - представляет собой универсальный математический пакет, предназначенный для выполнения инженерных и научных расчетов. Основное достоинство пакета - естественный математический язык, на котором формулируются решаемые задачи. К тому же у пакета мощная графическая составляющая. Объединение текстового редактора с возможностью использования общепринятого математического языка и графических средств позволяет пользователю получить готовый итоговый документ в визуально приятном виде. Применение пакета существенно повышает эффективность интеллектуального труда.
В настоящее время разработано и функционирует множество различных математических систем: Maple, Matlab, Mathematica, Reduce, Derive, Theorist, Macsyma и др. Каждая из них имеет свои преимущества и недостатки, а также свои области применения.
В чем состоят основные достоинства и отличия системы MathCAD от аналогичных?
1. Универсальность. MathCAD способен решать практически все задачи из различных областей применения математики. В нем имеется мощный математический аппарат, позволяющий решать задачи без вызова внешних процедур. Перечень вычислительных инструментов, доступных в среде MathCAD следующий:
. работа с векторами и матрицами (линейная алгебра и др.);
. решение алгебраических уравнений и систем (линейных и нелинейных);
. решение обыкновенных дифференциальных уравнений и систем (задача Коши и краевая задача);
. вычисление интегралов;
. вычисление производной;
. разложение функции в ряды;
. решение дифференциальных уравнений в частных производных;
. поиск минимумов и максимумов функциональных зависимостей;
. вычислять и упрощать символьные выражения;
. использовать для вычисления интегралы и производные функции;
. решать системы линейных алгебраических уравнений, работать с матрицами и определителями;
. решать системы нелинейных алгебраических уравнений;
. строить графики как в декартовых и цилиндрических, так и в полярных координатах, различные диаграммы и гистограммы;
. создавать программы с разветвляющимися и циклическими алгоритмами, используя свой собственный, интуитивно понятный, язык программирования;
. решать дифференциальные уравнения;
. решать задачи теории вероятности и математической статистики;
. осуществлять обмен информацией с другими приложениями операционной системы Windows, такими, как Excel, Powerpoint, Word;
. документировать расчёты и создавать отчётную документацию;
. имеет более 600 встроенных математических функций;
. поддержка шаблонов документов, форматирования текста, форматирования формул;
. улучшенный модуль работы с 3D-графиками;
. статистическая обработка данных, интерполяция, экстраполяция, аппроксимация и многое другое.
Таким образом, MathCAD - это мощная и простая универсальная среда для решения задач в различных отраслях науки и техники, финансов и экономики, физики и астрономии, строительства и архитектуры, математики и статистики, организации производства и управления. Она располагает широким набором инструментальных, информационных и графических средств. MathCAD - одна из самых популярных математических систем, которая пользуется спросом у экономистов, менеджеров, инженеров, научных работников и всех тех, чья деятельность связана с количественными методами расчета.
2. Наглядность. Принцип построения интерфейса MathCAD определяется формулой “What you see is what you get” - что вы видите, то и получите. То есть математические выражения в среде MathCAD записываются в их общепринятой нотации: числитель находится сверху, а знаменатель внизу; интеграл или производная - это привычные математические знаки, а не специальным образом записанные символы, снижающие наглядность решения, в интеграле пределы интегрирования также расположены на привычных местах. Все это делает запись понятной для пользователя, читающего распечатку или глядящего на экран. Эту особенность ценят те, кому приходилось решать задачи при помощи языков программирования, где понять суть решения может лишь, владеющий подобными навыками, специалист.
В среде MathCAD процесс создания модели идет параллельно с ее отладкой. Пользователь, введя в MathCAD-документ новое выражение, может не только сразу подсчитать, чему оно равно при определенных значениях переменных, но и построить график или поверхность и увидеть, где произошла ошибка, которая была допущена при вводе формул или при создании самой математической модели. В систему MathCAD интегрированы средства символьной математики, что не только улучшает визуальное восприятие преобразований на экране, но и позволяет решать задачи или их этапы как численно, так и аналитически.
Решая поставленную задачу, пользователь может вводить числовые значения переменных и дополнять их размерностями. При этом можно выбирать и систему единиц (СИ, или другую), и конкретные размерности (мм, дюймы, футы и т.д.) - MathCAD имеет встроенную систему автоматического пересчета и контроля единиц измерении в процессе вычислений. Так, если мы определяем расстояние от одного объекта до другого как сумму отдельных расстояний с использованием различных единиц измерения (мили, футы, ярды, сантиметры), то система MathCAD автоматически произведет перерасчет всех расстояний и выдаст результат с заранее установленной единицей измерения.
Кроме этого, система MathCAD снабжена средствами анимации, что позволяет реализовывать созданные модели не только в статике, но и в динамике (анимационные клипы), что значительно повышает наглядность.
3. Интегрированность. MathCAD - это программа, позволяющая работать в тесной интеграции как с другими системами: Microsoft Word, Excel и пр., - так и эффективно использовать Web-технологии. Поддерживаются все соглашения и возможности интерфейса Windows: OLE-технология, клиент-сервер, доступ к поисковым программам с помощью Internet Explorer в среде пакета, присоединение к общедоступному Internet-форуму, объединяющему всемирное сообщество пользователей MathCAD.
Решая поставленную задачу, можно в статике (через буфер обмена) или в динамике (OLE-технология) передать данные в среду другой программы, например, в среду языка Fortran, и там решать часть задачи. Не выходя из среды MathCAD, можно открывать новые документы на других серверах и пользоваться всеми преимуществами информационных технологий, предоставляемыми системой Internet.
MathCAD может взаимодействовать с другими приложениями, например, данные программ Microsoft Excel или Matlab могут непосредственно включаться в вычислительный поток системы MathCAD: здесь допускается управлять чертежами, выполненными в AutoCAD, использовать Visual Basic для создания коммерческих приложений и др.
4. Последние версии MathCAD имеют собственный язык, который дает возможность программисту эффективно применять программный код в документах MathCAD. Простота и интуитивность этого языка позволяет быстро ему обучиться. Программные модули внутри документа MathCAD сочетают в себе и обособленность (поэтому их легко отличить от остальных формул) и простоту смыслового восприятия. Несмотря на небольшое количество операторов, язык программирования MathCAD позволяет решать довольно сложные задачи.
5. Для экономистов важны статистические и финансовые функции, реализованные в пакете. MathCAD имеет развитый аппарат работы с задачами математической статистики. С одной стороны, имеется большое количество встроенных специальных функций, позволяющих рассчитывать плотности вероятности и другие характеристики основных законов распределения случайных величин. В MathCAD запрограммировано соответствующее количество генераторов псевдослучайных чисел для каждого закона распределения, что позволяет эффективно проводить моделирование методом Монте-Карло. Имеется возможность строить гистограммы и рассчитывать статистические характеристики выборок случайных чисел и случайных процессов, таких как: средние, дисперсии, корреляции и т. п. При этом случайные последовательности могут, как создаваться генераторами случайных чисел, так и вводиться пользователем из файлов.
6. В MathCAD встроена мощная справочная база с множеством примеров, подсказок и удобной системой поиска. Если же какая-то проблема освещена недостаточно полно в справочной системе, то нужный ответ можно найти на сайте компании MathSoft, ссылки на который имеются в справочной системе MathCAD.
Пакет MathCAD дополнен справочником по основным математическим и физико-химическим формулам и константам, которые можно автоматически переносить в документ, не набирая их вручную.
7. К пакету MathCAD можно приобрести электронные учебники по различным дисциплинам: решение обыкновенных дифференциальных уравнений, статистика, термодинамика, теория управления, сопротивление материалов и т.д. Прежде чем начать решать возникшую задачу, пользователь может изучить электронный учебник и перенести из него в свой документ нужные фрагменты, отдельные формулы и константы.
Какие дополнительные особенности программы MathCAD?
В целом, можно сказать, что MathCAD - это среда для выполнения с помощью компьютера разнообразных математических и инженерно-технических расчетов, предоставляющая пользователю обширный набор инструментов для реализации графических, аналитических и численных методов решения математических задач различной сложности в любой области, где применяются математические методы.
Не так давно появилось нововведение - можно отметить лишь появление функций преобразования координат и обработки звуковых файлов, расширение справочной базы и др. Основные же функции: решение уравнений, символьные преобразования, - хорошо проработаны и в более ранних версиях пакета, так что их удобно использовать.
Программа изменяется с каждой версией и меняются системные требования. Для MathCAD 2001 было достаточно 16 Mb оперативной памяти, для последних версий - рекомендуется 512 Мб. Программа работает на Windows - платформе.
MathCAD ориентирован на IBM-совместимые персональные компьютеры. Он автоматически поддерживает работу с математическим процессором, который значительно повышает скорость расчетов и вывода графиков, что существенно в связи с тем, что MathCAD работает в графическом режиме. Это вызвано тем, что только в этом режиме можно формировать на экране специальные математические символы и одновременно применять их вместе с графиками и текстом. MathCAD поддерживает работу со многими типами принтеров, а также с плоттерами, основными типами адаптеров и дисплеев.

3. MatLab
В чем состоят особенности программы MATLAB?
MATLAB — пакет прикладных программ для решения задач технических вычислений и одноимённый язык программирования, используемый в этом пакете. MATLAB используют более 1 000 000 инженерных и научных работников, он работает на большинстве современных операционных системах, включая Linux, Mac OS, Solaris и Microsoft Windows.
MATLAB, пожалуй, наиболее мощная программа для обработки данных. Название происходит от сокращенного MATrix LABoratory - матричная лаборатория. Как и гласит название, MATLAB - идеальная среда для работы с многомерными данными, представимыми в виде таблиц (или, на математическом языке, - матриц). Именно к такому классу данных относится большинство финансовой информации: котировки, индикаторы, макроэкономическая статистика и т.п.
В чем состоит основное отличие интерфейса MATLAB от других аналогичных математических пакетов?
MATLAB не столь прост в освоении, как, например, Excel, - начинающих может отпугнуть командная строка. Многие задачи в MATLAB решаются гораздо проще и быстрее, чем в том же Excel. К тому же для многих функций в MATLAB имеется привычный графический интерфейс, а командная строка на практике оказывается не так уж и страшна, и, возможно, спустя какое-то время вам даже станет удобнее работать непосредственно через нее.

Какие функции MATLAB могут быть актуальны для студента?
1. Общие функции работы с данными: добавление и удаление элементов таблицы, сортировка, преобразование и т.п. К примеру, в MATLAB очень быстро можно перевернуть «вверх ногами» колонку котировок при помощи функции, так что вверху будут находиться более старые данные, а внизу - более новые. Это актуально при работе с некоторыми источниками котировок, с которых загружаются наоборот (сверху - новые, снизу - старые).
2. Математические функции. Возможности применения математики ограничены лишь нашей фантазией. Это же утверждение применимо и к мат. функциям. MATLAB имеет огромное количество таких встроенных функций, начиная от элементарных, напр., логарифмической, и заканчивая специальными, такими как гамма-функция и т.д. Эти функции используются в качестве «кирпичиков» при решении практически любой задачи.
3. Численные методы: интегралы и оптимизаторы. Необходимость обращения к ним обычно возникает при оптимизации портфеля, а также в управлении капиталом и риском. Задачи оптимизации в MATLAB решаются при помощи специального набора функций Optimization Toolbox. Пользователь задает начальные веса портфеля или параметры торговой системы, а MATLAB по специальным алгоритмам перебирает их, пока не будет достигнута оптимальная комбинация.
4. Статистические функции и прогнозирование: среднее арифметическое, среднее геометрическое, стандартное отклонение (волатильность), корреляции, распределения вероятностей, генераторы случайных чисел, регрессия, факторный анализ, кластерный анализ и мн. др. Эти функции пригодятся при тестировании и оптимизации торговых систем и портфелей, визуализации и поиске зависимостей в котировках. К этой же группе функций можно отнести и Neural Network Toolbox - мощный инструмент прогнозирования временных рядов.
5. Специальные пакеты (Toolboxes) финансовых функций:
- Econometrics. Может быть актуальным для прогнозирования волатильности;
- Financial: обработка котировок, теханализ, облигации, оптимизация портфеля, опционы;
- Financial Derivative: продвинутые функции для производных инструментов (экзотические опционы, опционы на процентные ставки и т.п.);
- Fixed Income: продвинутые функции для инструментов с фиксированной доходностью, например, облигаций, обеспеченных пулом ипотечных кредитов и т.п.
Также поклонникам теханализа может пригодиться Filter Design Toolbox для разработки индикаторов Технического Анализа на базе цифровых фильтров. Это весьма популярное направление в «наукоемком» теханализе.
В MATLAB имеется удобный редактор функций. С его помощью можно значительно автоматизировать рутинные задачи, комбинируя используемые при их решении встроенные функции в целые блоки пользовательских функций. Есть даже возможность создания для этих функций графического интерфейса в привычном для Windows оконно-кнопочном стиле.
Какой язык программирования является встроенным в MATLAB?
Язык MATLAB является высокоуровневым интерпретируемым языком программирования, включающим основанные на матрицах структуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования.
Программы, написанные на MATLAB, бывают двух типов — функции и скрипты. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты же используют общее рабочее пространство. Как скрипты, так и функции не компилируются в машинный код и сохраняются в виде текстовых файлов.
Основной особенностью языка MATLAB являются его широкие возможности по работе с матрицами, которые создатели языка выразили в лозунге «думай векторно» .
Какие области математики охватывает программа MATLAB?
MATLAB предоставляет пользователю большое количество (несколько сотен) функций для анализа данных, покрывающие практически все области математики, в частности:
. Матрицы и линейная алгебра — алгебра матриц, линейные уравнения, собственные значения и вектора, сингулярности, факторизация матриц и другие.
. Многочлены и интерполяция — корни многочленов, операции над многочленами и их дифференцирование, интерполяция и экстраполяция кривых и другие.
. Математическая статистика и анализ данных — статистические функции, статистическая регрессия, цифровая фильтрация, быстрое преобразование Фурье и другие.
. Обработка данных — набор специальных функций, включая построение графиков, оптимизацию, поиск нулей, численное интегрирование (в квадратурах) и другие.
. Дифференциальные уравнения — решение дифференциальных и дифференциально-алгебраических уравнений, дифференциальных уравнений с запаздыванием, уравнений с ограничениями, уравнений в частных производных и другие.
. Разреженные матрицы — специальный класс данных пакета MATLAB, использующийся в специализированных приложениях.
. Целочисленная арифметика — выполнение операций целочисленной арифметики в среде MATLAB.
Какие наборы инструментов позволяет создавать MATLAB?
Для MATLAB имеется возможность создавать специальные наборы инструментов, расширяющие его функциональность. Наборы инструментов представляют собой коллекции функций, написанных на языке MATLAB для решения определённого класса задач. Компания Mathworks поставляет наборы инструментов, которые используются во многих областях, включая следующие:
. Цифровая обработка сигналов, изображений и данных — наборы функций, позволяющих решать широкий спектр задач обработки сигналов, изображений, проектирования цифровых фильтров и систем связи.
. Системы управления — наборы функций, облегчающих анализ и синтез динамических систем, проектирование, моделирование и идентификацию систем управления, включая современные алгоритмы управления.
. Финансовый анализ — наборы функций, позволяющие быстро и эффективно собирать, обрабатывать и передавать различную финансовую информацию.
. Анализ и синтез географических карт, включая трёхмерные.
. Сбор и анализ экспериментальных данных — наборы функций, позволяющих сохранять и обрабатывать данные, полученные в ходе экспериментов, в том числе в реальном времени. Поддерживается широкий спектр научного и инженерного измерительного оборудования.
. Визуализация и представление данных — позволяет создавать интерактивные миры и визуализировать научную информацию с помощью технологий виртуальной реальности и языка VRML.
. Средства разработки — наборы функций, позволяющих создавать независимые приложения из среды MATLAB.
. Взаимодействие с внешними программными продуктами — наборы функций, позволяющие сохранять данные в различных видов таким образом, чтобы другие программы могли с ними работать.
. Базы данных — инструменты работы с базами данных.
. Научные и математические пакеты — наборы специализированных математических функций, позволяющие решать широкий спектр научных и инженерных задач, включая разработку генетических алгоритмов, решения задач в частных производных, целочисленные проблемы, оптимизацию систем и другие.
. Нейронные сети — инструменты для синтеза и анализа нейронных сетей.
. Нечёткая логика — инструменты для построения и анализа нечётких множеств.
. Символьные вычисления — инструменты для символьных вычислений с возможностью взаимодействия с символьным процессором программы Maple.

4. MS Excel
В чем назначение программы Microsoft Excel?
Программа Microsoft Excel служит для работа с большим объемом числовых данных, самые популярные электронные таблицы.
Применение электронных таблиц упрощает работу с данными и позволяет получать результаты без проведения расчетов вручную или специального программирования. Электронные таблицы предназначены для ввода и обработки табличных данных. С помощью них можно выполнять сложные вычисления с большими массивами чисел, строить диаграммы и печатать финансовые отчеты. Основное отличие электронной таблицы от обычной заключается в том, что над информацией (данными и расчетными формулами), расположенной в ячейках электронной таблицы, можно осуществлять самые различные операции и вычисления. Программные средства для проектирования электронных таблиц часто называют табличными процессорами или редакторами.
Microsoft Excel позволяет выполнять математические, финансовые и статистические вычисления, оформлять отчеты, построенные на базе таблиц, выводить числовую информацию в виде графиков и диаграмм. Microsoft Excel предназначена для обработки и хранения информации в табличном виде, который широко используется в деятельности многих пользователей.
Каковы основные возможности программы Microsoft Excel?
Наиболее широкое применение электронные таблицы нашли в экономических и бухгалтерских расчетах, но и в научно-технических задачах электронные таблицы можно использовать эффективно, например для:
. проведения однотипных расчетов над большими наборами данных;
. автоматизации итоговых вычислений;
. решения задач путем подбора значений параметров, табулирования формул;
. обработки результатов экспериментов;
. проведения поиска оптимальных значений параметров;
. подготовки табличных документов;
. построения диаграмм и графиков по имеющимся данным.
. широкий выбор функций для различных вычислений;
. присвоение имен таблицам, областям и ячейкам и введенным в них формулам, а также вставка примечаний к ячейкам;
. общие средства проверки орфографии, поиска и замены при редактировании, совместимые с Word;
. создание пользовательских списков для автозаполнения, импорта дополнительных данных в ранее построенные диаграммы;
. расширенный набор средств форматирования ячеек, выравнивания информации (текста и чисел) в ячейках, обрамления и заливки, подгонка высоты строк и ширины колонок, скрытие и отображение строк и столбцов, условное форматирование чисел;
. разнообразный выбор типов диаграмм и автоматизация их построения;
. поиск, сортировка и фильтрация при работе со списками;
. средства быстрого автоформатирования таблиц, применение шаблонов для создания типовых документов;
. широкий выбор способов представления данных на диаграммах и графиках, вплоть до нанесения диаграмм, отображающих соотношения между данными, на географических картах;
. раскрывающиеся списки, флажки - переключатели на рабочих листах, которые упрощают работу пользователя с таблицей;
. вставка в рабочий лист множества различных объектов, созданных другими приложениями, и работа с ними (текстовые документы Word, фигурный текст WordArt, различные фото, рисунки, геометрические фигуры);
. возможность работать с определённой информацией, как с базой данных;
. сохранять информацию во внешней памяти и получать копии на бумаге;
. широкие возможности по защите информации на уровне листа и книги и т.д.
Какие встроенные модули имеются в программе Microsoft Excel?
Действия, которые можно использовать в формулах, не ограничиваются только простейшими арифметическими операциями. Более сложные вычисления возможны при использовании стандартных функций. В программе Excel включить в формулу произвольную функцию можно при помощи «Мастера функций». Для облегчения выбора функции разделены на категории. Чаще всего применяют математические и статистические функции.
После того как функция выбрана, она автоматически заносится в формулу. На экране появляется специальная палитра для задания параметров функции. Если курсор установлен в поле ввода параметра, в нижней части палитры появляется текст, описывающий назначение данного параметра.
В качестве параметров можно указывать числовые значения или адреса ячеек. Некоторые функции могут принимать в качестве параметра диапазон ячеек.
Программа Excel использует еще один мастер - «Мастер диаграмм», хотя в последних версиях он так не называется и диаграммы и графики создаются через вкладку Вставка и группу Диаграммы.
Какие пакеты встроены в программу Microsoft Excel для выполнения статистических анализов и решения прикладных задач?
Программа Excel имеет еще встроенные пакеты: Анализ данных и Поиск решения.
Анализ данных позволяет выполнять основные виды статистических анализов:
. Однофакторный дисперсионный анализ
. Двухфакторный дисперсионный анализ с повторениями
. Двухфакторный дисперсионный анализ без повторений
. Корреляция
. Ковариация
. Описательная статистика
. Экспоненциальное сглаживание
. Двухвыборочный F - тест для дисперсии
. Анализ Фурье
. Гистограмма
. Скользящее среднее
. Генерация случайных чисел
. Ранг и персентиль
. Регрессия
. Выборка
. Парный двухвыборочный t - тест для средних
. Двухвыборочный t - тест с одинаковыми дисперсиями
. Двухвыборочный t - тест с различными дисперсиями
. Двухвыборочный t - тест для средних
Функция Поиск решения позволяет оптимизировать функцию, использовать симплекс-метод.

5. Примеры других математических пакетов
Какой математический пакет может быть использован для сложных математических расчетов, кроме вышеперечисленных?
Компьютерный математический пакет Maple фирмы Waterloo - это программный пакет, ориентированный на выполнение сложных математических расчетов и визуализацию результатов вычислений. Программа имеет удобный многооконный пользовательский интерфейс, справочную систему с множеством примеров, мощные библиотеки встроенных функций, обладает широкими возможностями в сфере программирования и моделирования.
Почему компьютерный математический пакет Maple рекомендуется использоваться в качестве основы для совершенствования методической системы обучения информатике на профильном уровне?
Положительные моменты того, что если в процессе обучения моделированию, алгоритмизации и программированию в курсе информатики в рамках физико-математического профиля обучения использовать компьютерные математические пакеты, в частности, систему Maple, состоят в следующем:
- развивается математическая логика и алгоритмическое мышление учащихся, и, как следствие, повышается эффективность обучения информатике;
- активизируется творческая и познавательная деятельность студентов, повышается их интерес к учебной деятельности и заинтересованность в ее конечном результате, как в рамках обучения информатике, так и в рамках межпредметной интеграции информатики и других дисциплин профильной подготовки;
- повышается профессиональная ориентация студентов в естественнонаучной и технической деятельности, развиваются практические умения в области применения информационных технологий в последующей профессиональной работе;
- компьютерный математический пакет Maple обладает возможностями (удобный интерфейс, интерактивность, структурное и объектно-ориентированное программирование, графика), эффективными для обучения моделированию, алгоритмизации и программированию в рамках физико-математического профиля подготовки студентов по информатике;
- применение пакета Maple реализует дидактический принцип наглядности в обучении, повышает мотивацию к обучению и профессиональную ориентацию студентов, развивает их научное творчество;
- использование усовершенствованной методической системы обучения моделированию, алгоритмизации и программированию, ориентированной на использование компьютерного математического пакета Maple и метода проектов, способствует повышению эффективности обучения и развитию познавательной активности учащихся, формированию потребности и практических навыков использования информационных технологий в профессиональной деятельности.
Какие достоинства имеют большинство математических пакетов?
Из множества привлекательных свойств рассматриваемых статистических пакетов выделим следующие:
1. Наличие достаточно широкого спектра статистических алгоритмов;
2. Сотни типов двумерных и трехмерных графиков;
3. Обмен данными с другими программными продуктами;
4. Большой набор возможностей манипулирования данными (сортировка, трансформация, кодировка, изменение шкалы измерения);
5. Комбинирование текста и графики для составления статистических отчетов;
6. Коррекция и преобразование элементов графических отображений (изменение цвета, заливки, шрифта, надписей, меток, масштабов и т.д.);
7. Взаимодействие пользователя с данными посредством графики (идентификация объекта, разгонка точек на диаграммах рассеивания, окраска «интересных» объектов).
Естественно, что приведенные достоинства далеко не полностью отображают все возможности анализа данных, которыми располагают компьютерные статистические пакеты, но уже достаточно информации, для того чтобы стало ясно, что работа с ними эффективна и удобна.
Наличие недостатков и, следовательно, привлекательность того или иного пакета пользователь может определить при непосредственной работе. Поэтому выбор в пользу предпочтения какого-либо программного продукта предоставляется самому исследователю, а нам лишь остается познакомить его с основными принципами работы со статистическими программами.
Какие еще математические пакеты можно назвать?
. MATHEMATICA
. MAPLE
. SPSS
. MAXIMA
. STATGRAPHICS
. STADIA
. Scilab
. SMath Studio
В лекции перечислены только самые популярные продукты из области математических пакетов. Для их освоения требуются практико ориентированные занятия с непосредственно установленными программами.

Информационные источники
1. Математические методы в психологии: учебник / О. Ю. Ермолаев - Томин. - 5-е изд., испр. и доп. - М.: Издательство Юрайт, 2014. - 511с. - Серия: Бакалавр. Базовый курс.
2. Теплотехнические этюды с Excel, Mathcad и Интернет / Под общ.
ред. В.Ф. Очкова. Издательство БХВ-Петербург. 2014. - 336 с.
3. MATLAB. Самоучитель. Практический подход. / Васильев А. Н. - 2-е изд., испр. и доп. - М.: Наука и техника, 2015. - 448с.

тождественные преобразования выражений (в том числе упрощение), аналитическое решение уравнений и систем;

дифференцирование и интегрирование, аналитическое и численное;

решение дифференциальных уравнений;

проведение серий расчетов с разными значениями начальных условий и других параметров.

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

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

Принципы построения математических моделей. Основные этапы моделирования.

Математическое моделирование –создание математического описания реального объекта и изучение этого описания.

Принципы построения математических моделей

Основные этапы моделирования

Весь процесс моделирования можно подразделить на следующие этапы:

постановка задачи моделирования;

построение схемы модели, выделение основных частей и процессов;

определение критерия оптимизации или значения, которое надо рассчитать;

выделение основных изменяемых параметров;

математическое описание основных частей и процессов;

построение решения, связывающего изменяемые параметры и критерий оптимизации или рассчитываемое значение;

исследование решения на экстремум или расчет искомого параметра.

Постановка задачи моделирования

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

Построение схемы модели, выделение основных частей и процессов

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

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

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

Должен быть сформулирован перечень всех изменяемых параметров и их характерное количественное выражение.

Математическое описание основных частей и процессов

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

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

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

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

Построение решения, связывающего изменяемые параметры и критерий оптимизации

Строится РЕШЕНИЕ, т.е. определяется явная функциональная связь: критерий оптимизации или расчетный параметр как функция изменяемых параметров.

Именно этот этап и есть основное поле приложения сил прикладных пакетов математического моделирования. Это связано с тем, что аналитические решения для математического описания сложных объектов обычно невозможны. И построение решения сводится к построению «численного решателя», который по заданным значениям изменяемых параметров может вычислить значение критерия оптимизации.

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

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

Исследование решения на экстремум

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

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

Parametric Surface Creator

Surfer

пакет Simulink

gnuplot ImageMagick

Parametric Surface Creator

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

Surfer - программа для создания трехмерных поверхностей. Коммерческие программы-симуляторы для задач с преобладанием "логических аспектов": AutoMod, Process Model, SIMFACTORY и др.

пакет Simulink , ориентированный именно на задачи имитационного моделирования.

gnuplot 1 – популярная программа для создания двух- и трёхмерных графиков. gnuplot имеет собственную систему команд, может работать интерактивно (в режиме командной строки) и выполнять скрипты, читаемые из файлов. Используется gnuplot в качестве системы вывода изображений в различных математических пакетах: GNU Octave, Maxima и многих других. ImageMagick – кроссплатформенный пакет программ для пакетной обработки графических файлов. Поддерживает огромное количество графических форматов. Может использоваться с языками Perl, C, C++, Python, Ruby, PHP, Pascal, Java, в скриптах командной оболочки или самостоятельно.

Использование компонентов

В документах-программах Mathcad есть возможность вставки модулей (component

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

Для расширенной визуализации данных предназначен компонент Axum Graph. Для работы с табличными данными - Microsoft Excel .

Компоненты Data Acquisition, ODBC Input позволяют пользоваться внешними базами данных .

Предлагаются также бесплатные модули (add-in) для интеграции Mathcad с программами Excel, AutoCAD .

Для статистического анализа предназначен компонент Axum S-PLUS Script.

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

Комплектации

Версии Mathcad могут отличатся комплектацией и лицензией пользователя. В разное время поставлялись версии Mathcad Professional , Mathcad Premium , Mathcad Enterprise Edition (отличаются комплектацией). Для академических пользователей предназначена версия Mathcad Academic Professor (обладает полной функциональностью, но отличается лицензией пользователя и имеет в несколько раз меньшую стоимость).

Некоторое время выпускались также упрощенные и заметно «урезанные» студенческие версии программы.

Однако пока математические возможности MathCad в области компьютерной алгебры намного уступают системам Maple, Mathematica, MatLab и даже малютке Derive. Однако по программе MathCad выпущено много книг и обучающих курсов, в том числе у нас в России. Сегодня эта система стала буквально международным стандартом для технических вычислений и даже многие школьники осваивают и используют MathCad. Для небольшого объема вычислений MathCad идеален - здесь все можно проделать очень быстро и эффективно, а затем оформить работу в привычном виде (MathCad предоставляет широкие возможности для оформления результатов, вплоть до публикации в Интернете). Пакет имеет удобные возможности импорта/экспорта данных. Например, можно работать с электронными таблицами Microsoft Excel прямо внутри MathCad-документа.

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

В качестве более дешевых, простых, но идеологически близких альтернатив программе MathCad можно отметить такие пакеты, как уже упомянутый YaCaS, коммерческую систему MuPAD (http://www.mupad.de/ ) и бесплатную программу KmPlot

Математический пакет Mupad

Что касается программы MuPAD (Рисунок 2.6), то она представляет собой современную интегрированную систему математических вычислений, при помощи которой можно производить численные и символьные преобразования, а также чертить двумерные и трехмерные графики геометрических объектов. Однако по своим возможностям MuPAD значительно уступает своим маститым конкурентам и является, скорее, системой начального уровня, предназначенной для обучения.

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

Ключевые возможности Matlab

· Платформонезависимый высокоуровневый язык программирования ориентированный на матричные вычисления и разработку алгоритмов

· Интерактивная среда для разработки кода, управления файлами и данными

· Функции линейной алгебры, статистики, анализ Фурье, решение дифференциальных уравнений и др.

· Богатые средства визуализации, 2-D и 3-D графика.

· Встроенные средства разработки пользовательского интерфейса для создания законченных приложений на MATLAB

· Средства интеграции с C/C++, наследование кода, ActiveX технологии

В базовый набор MatLab входят арифметические, алгебраические, тригонометрические и некоторые специальные функции, функции быстрого прямого и обратного преобразования Фурье и цифровой фильтрации, векторные и матричные функции. MatLab «умеет» выполнять операции с полиномами и комплексными числами, строить графики в декартовой и полярой системах координат, формировать изображения трехмерных поверхностей. MatLab имеет средства для расчета и проектирования аналоговых и цифровых фильтров, построения их частотных, импульсных и переходных характеристик и таких же характеристик для линейных электрических цепей, средства для спектрального анализа и синтеза.

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

Библиотека C Math позволяет пользоваться следующими категориями функций:

· операции с матрицами;.

· сравнение матриц;

· решение линейных уравнений;

· разложение операторов и поиск собственных значений;

· нахождение обратной матрицы;

· поиск определителя;

· вычисление матричного экспоненциала;

· элементарная математика;

· функции beta, gamma, erf и эллиптические функции;

· основы статистики и анализа данных;

· поиск корней полиномов;

· фильтрация, свертка;

· быстрое преобразование Фурье (FFT);

· интерполяция;

· операции со строками;

· операции ввода-вывода файлов и т.д.

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

Математический пакет Maple.

Maple (http://www.maplesoft.com/ )

Процессор Pentium III 650 МГц;

400 Мбайт дискового пространства;

Операционные системы: Windows NT 4 (SP5)/98/ME/2000/2003 Server/XP Pro/XP Home.

Программа Maple (последняя версия 10.02) - своего рода патриарх в семействе систем символьной математики и до сих пор является одним из лидеров среди универсальных систем символьных вычислений. (Рисунок 2.15,2.16) Она предоставляет пользователю удобную интеллектуальную среду для математических исследований любого уровня и пользуется особой популярностью в научной среде.

Отметим, что символьный анализатор программы Maple является наиболее сильной частью этого ПО, поэтому именно он был позаимствован и включен в ряд других CAE-пакетов, таких как MathCad и MatLab, а также в состав пакетов для подготовки научных публикаций Scientific WorkPlace и Math Office for Word. Пакет Maple - совместная разработка Университета Ватерлоо (шт. Онтарио, Канада) и Высшей технической школы (ETHZ, Цюрих, Швейцария).

Для его продажи была создана специальная компания - Waterloo Maple, Inc., которая, к сожалению, больше прославилась математической проработкой своего проекта, чем уровнем его коммерческой реализации. В результате система Maple ранее была доступна преимущественно узкому кругу профессионалов. Сейчас эта компания работает совместно с более преуспевающей в коммерции и в проработке пользовательского интерфейса математических систем фирмой MathSoft, Inc. - создательницей весьма популярных и массовых систем для численных расчетов MathCad, ставших международным стандартом для технических вычислений.

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

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

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

Интерфейс Maple основан на концепции рабочего поля (worksheet) или документа, содержащего строки ввода-вывода и текст, а также графику (Рисунок 2.17).

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

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

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

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

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

Система Maple использует процедурный язык 4-го поколения (4GL). Этот язык специально предназначен для быстрой разработки математических подпрограмм и пользовательских приложений. Синтаксис данного языка аналогичен синтаксису универсальных языков высокого уровня: C, Fortran, Basic и Pascal.

Maple может генерировать код, совместимый с такими языками программирования, как Fortran или C, и с языком набора текста LaTeX, который пользуется большой популярностью в научном мире и применяется для оформления публикаций. Одно из преимуществ этого свойства - способность обеспечивать доступ к специализированным числовым программам, максимально ускоряющим решение сложных задач. Например, используя систему Maple, можно разработать определенную математическую модель, а затем с ее помощью сгенерировать код на языке C, соответствующий этой модели. Язык 4GL, специально оптимизированный для разработки математических приложений, позволяет сократить процесс разработки, а настроить пользовательский интерфейс помогают элементы Maplets или документы Maple со встроенными графическими компонентами.

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

Пакет Mathematica.

Mathematica (http://www.wolfram.com/ )

Минимальные требования к системе:

процессор Pentium II или выше;

400-550 Мбайт дискового пространства;

операционные системы: Windows 98/Me/ NT 4.0/2000/2003 Server/2003x64/XP/XP x64.

Компания Wolfram Reseach, Inc., разработавшая систему компьютерной математики Mathematica (Рисунок 2.27,2.28), по праву считается старейшим и наиболее солидным игроком в этой области. Пакет Mathematica (текущая версия 5.2) повсеместно применяется при расчетах в современных научных исследованиях и получил широкую известность в научной и образовательной среде. Можно даже сказать, что Mathematica обладает значительной функциональной избыточностью (там, в частности, есть даже возможность для синтеза звука).

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

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

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

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

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

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

2. Решение обычных и дифференциальных уравнений, а также задач численной или символьной минимизации.

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

4. Простая и быстрая разработка приложений (RAD) для технических компаний и финансовых учреждений.

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

6. Подробная техническая документация, например, для патентов США.

7. Проведение специальных презентаций и семинаров.

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

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

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

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

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

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

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

К недостаткам системы Mathematica следует отнести разве что весьма необычный язык программирования, обращение к которому, впрочем, облегчает подробная система помощи.

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

FlatGraph позволяет:

Вводить одно или несколько функциональных выражений любой сложности для отображения и (или) их дифференцирования;

Выполнять символьное дифференцирование для указанного порядка производной, а также выполнять упрощение полученной производной;

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

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

Задавать и выводить графически параметрические функции, отображающие, например, эллипсоиды, кардиоиды, лемнискаты Бернулли и другие подобные графики (где абсцисса и ордината зависят от одного параметра "t");

Решать уравнений, системы уравнений и неравенств графическим способом;

Получать и отображать касательную к графику функции в точке x0(задается пользователем).

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

Математические пакеты. Моделирование. Перечислить возможности и основные задачи, решаемые пакетами.

Математические пакеты являются составной частью мира CAE-систем.(Computer Aided Engeneering) В настоящее время в математических пакетах применяется принцип конструирования модели, а не традиционное «искусство программирования». То есть пользователь ставит задачу, а методы и алгоритмы решения система находит сама. Современные математические пакеты можно использовать и как обычный калькулятор, и как средства для упрощения выражений при решении каких-либо задач, а также как генератор графики или даже звука! В настоящее время практически все современные математические имеют встроенные функции символьных вычислений. Однако наиболее известными и приспособленными для математических символьных вычислений считаются Maple, MathCad, Mathematica и MatLab. Математическое моделирование – создание математического описания реального объекта и изучение этого описания.

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

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

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

К таким несложным задачам относятся, например, следующие:

подготовка научно-технических документов, содержащих текст и формулы, записанные в привычной для специалистов форме;

вычисление результатов математических операций, в которых участвуют числовые константы, переменные и размерные физические величины;

операции с векторами и матрицами;

решение уравнений и систем уравнений (неравенств);

статистические расчеты и анализ данных;

построение двумерных и трехмерных графиков;

тождественные преобразования выражений (в том числе упрощение), аналитическо