Математические пакеты примеры. Профессиональные математические пакеты в образовании. Вычисления в Maple

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

  • 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, а также на КПК. Они давно знакомы пользователям и широко распространены на всех платформах - от наладонника до суперкомпьютера.

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

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

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

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

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

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

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

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

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

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

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

Математические пакеты можно разделить
на 4 группы:
- программы численных расчетов;
- программы аналитических
вычислений;
- программы построения графиков;
- программы верстки математических
текстов.

Scilab
Scilab - пакет прикладных математических программ,
предоставляющий открытое окружение для инженерных
(технических) и научных расчётов.
Это самая полная общедоступная альтернатива MATLAB.

Возможности
2D и 3D графики, анимация
Линейная алгебра, разреженные
матрицы (sparse matrices)
Полиномиальные и рациональные
функции
Интерполяция, аппроксимация
Симуляция: решение ОДУ и ДУ
Scicos: гибрид системы моделирования
динамических систем и симуляции
Дифференциальные и не
дифференциальные оптимизации
Обработка сигналов
Параллельная работа
Статистика
Работа с компьютерной алгеброй
Интерфейс к
Fortran, Tcl/Tk, C, C++, Java, LabVIEW

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

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

10.

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

11.

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

12.

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

13.

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

14.

Программы
построения
графиков

15.

Advanced Grapher
Advanced Grapher - Мощная и простая в использовании программа для
построения графиков и их анализа. Поддерживает построение графиков
функций вида Y(x), X(y), в полярных координатах, заданных
параметрическими уравнениями, графиков таблиц, неявных функций
(уравнений) и неравенств. До 100 графиков в одном окне.

16.

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

17.

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

18.

Программы верстки
математических текстов.

19.

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

20.

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

информатики

Математические пакеты или

системы компьютерной

математики

CAD\CAM\CAE системы

информатики

Символьная, или, как еще говорят, компьютерная, математика либо

компьютерная алгебра, - большой раздел математического

моделирования. В принципе, программы такого рода можно отнести к

инженерным программам автоматизированного проектирования. Таким

образом, в области инженерного проектирования выделяют три

основных раздела:

CAD - Computer Aided Design;

CAM - Computer Aided Manufacturing;

CAE - Computer Aided Engeneering.

Сегодня серьезное конструирование, градостроительство и архитектура,

электротехника и масса смежных с ними отраслей, а также учебные

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

систем автоматизированного проектирования (САПР), производства и

расчетов.

Математические пакеты являются составной частью мира CAE-систем, но

некоторые задачи вообще невозможно решить без помощи

компьютера. Более того, к системам символьной математики сегодня

прибегают даже теоретики (так называемые чистые, а не прикладные

математики), например для проверки своих гипотез.

информатики

Спектр задач, решаемых CAE системами:

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

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

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

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

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

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

Математические пакеты

информатики

Математические пакеты или системы компьютерной математики

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

Все они имеют развитые средства научной графики, удобную справочную систему, а также средства оформления отчетов. К системам компьютерной математики (СКМ) или математическим пакетам можно отнести системы, среды, языки типа Mathematica, Maple, MatLAB, Mathcad, а также семейство систем статистического анализа данных - таких как SPSS, Statistica, Statgraphics, Stadia и др.

информатики

Разработчик -Компания Wolfram Reseach, Inc.

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

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

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

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

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

информатики

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

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

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

Система снабжена базой помощи.

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

информатики

Центральное место в системах класса

Mathematica занимает машинно-

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

операций, которое позволяет переносить

систему на различные компьютерные

платформы. Для переноса системы на

другую компьютерную платформу

используется программный

интерфейсный процессор Front End.

Именно он определяет, какой вид имеет

пользовательский интерфейс системы.

Ядро сделано достаточно компактным

для того, чтобы можно было очень

быстро вызвать из него любую функцию.

Для расширения набора функций служат

библиотека (Library) и набор пакетов

расширения (Add-on Packages). Пакеты

расширений готовятся на собственном

языке программирования систем

Mathematica и являются главным

К недостаткам системы Mathematica следует отнести разве

средством для развития возможностей

что весьма необычный язык программирования, обращение к

системы и их адаптации к решению

которому облегчает подробная система помощи

конкретных классов задач пользователя.

Maxima и Kalamaris

информатики

Maxima - это некоммерческий

проект с открытым кодом. В

программе Maxima для

математической работы

используется язык, сходный с

языком в пакете Mathematica, а

графический интерфейс

построен по тем же принципам.

Изначально программа

называлась Xmaxima и

создавалась для UNIX-систем.

Сейчас у системы Maxima есть еще более мощный, эффективный и

дружественный кроссплатформенный графический интерфейс, который

называется Wxmaxima

Maxima и Kalamaris

информатики

Kalamaris, это проект, который имеет подход и идеологию, схожие с

системой Mathematica. Проект является неплохой бесплатной

альтернативой такому коммерческому продукту, как Mathematica.

информатики

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

к системе:

процессор Pentium III

128 Мбайт оперативной

256 Мбайт);

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

пространства;

операционные системы:

(SP5)/98/ME/2000/2003

Server/XP Pro/XP Home

Это наиболее удачно

сбалансированная система и

бесспорный лидер по возможностям

символьных вычислений для

математики и может быть

использована как для небольших

задач, так и для серьезных

проектов.

информатики

Символьный анализатор программы Maple является наиболее

сильной частью этого ПО, поэтому именно он был позаимствован

и включен в ряд других CAE-пакетов, таких как MathCad и MatLab,

а также в состав пакетов для подготовки научных публикаций

Scientific WorkPlace и Math Office for Word.

Пакет Maple - совместная разработка Университета Ватерлоо (шт.

Онтарио, Канада) и Высшей технической школы (ETHZ, Цюрих,

Швейцария). Для его продажи была создана специальная компания -

Waterloo Maple, Inc., которая, к сожалению, больше прославилась

математической проработкой своего проекта, чем уровнем его

коммерческой реализации. В результате система Maple ранее была

доступна преимущественно узкому кругу профессионалов. Сейчас эта

компания работает совместно с более преуспевающей в коммерции и

в проработке пользовательского интерфейса математических систем

фирмой MathSoft, Inc.

информатики

Данный продукт часто называют системой символьных вычислений или

системой компьютерной алгебры.

Maple позволяет выполнять как численные, так и аналитические расчеты

с возможностью редактирования текста и формул на рабочем листе.

Благодаря представлению формул в полиграфическом формате,

великолепной двух- и трехмерной графике и анимации Maple является

одновременно и мощным научным графическим редактором.

Простой и эффективный язык-интерпретатор, открытая архитектура,

возможность преобразования кодов Maple в коды C делает его очень

эффективным средством создания новых алгоритмов.

Обладающий интуитивно понятным интерфейсом, простыми правилами

работы и широким функционалом, этот продукт уже завоевал

популярность у российских математиков и инженеров.

Maple является первым универсальным математическим пакетом,

который предлагает встроенную поддержку протокола TCP/IP для

обеспечения динамического доступ к информации из других Интернет-

ресурсов, например к данным для финансового анализа в реальном

времени или к данным о погоде.

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

информатики

В качестве более простых, но идеологически близких альтернатив программе Maple можно отметить такие пакеты, как Derive, Scientific WorkPlace и YaCaS

информатики

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

информатики

информатики

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

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

400 Мбайт дискового пространства (только для самой системы MatLab и ее Help);

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

MatLab - одна из старейших, тщательно проработанных и проверенных временем систем автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций. Это нашло отражение и в самом названии системы - MATrix LABoratory, то есть матричная лаборатория.

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

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

информатики

В системе MatLab также существуют широкие возможности для программирования. Ее

библиотека C Math (компилятор MatLab) является объектной и содержит свыше 300

процедур обработки данных на языке C. Внутри пакета можно использовать как

процедуры самой MatLab, так и стандартные процедуры языка C, что делает этот

инструмент мощнейшим подспорьем при разработке приложений (используя

компилятор C Math, можно встраивать любые процедуры MatLab в готовые

приложения).

Все библиотеки MatLab отличаются высокой скоростью численных вычислений. Однако

матрицы широко применяются не только в таких математических расчетах, как решение

задач линейной алгебры и математического моделирования, обсчета статических

систем и объектов.

Они являются основой автоматического составления и решения уравнений состояния

динамических объектов и систем. Именно универсальность аппарата матричного

исчисления значительно повышает интерес к системе MatLab, вобравшей в себя

лучшие достижения в области быстрого решения матричных задач. Поэтому MatLab

давно уже вышла за рамки специализированной матричной системы, превратившись в

одну из наиболее мощных универсальных интегрированных систем компьютерной

математики.

Для визуализации моделирования система MatLab имеет библиотеку Image Processing

Toolbox, которая обеспечивает широкий спектр функций, поддерживающих

визуализацию проводимых вычислений непосредственно из среды MatLab, увеличение

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

Octave и Scilab

информатики

Сейчас существует сразу два бесплатных аналога пакета MATLAB.

Первый из них - Scilab, который развивается французским

Институтом исследований в области информатики и автоматизации

(INRIA), а второй - проект Octave.

Программы имеют интерфейс аналогичный интерфейсу ранних

версий MATLAB, сохраняют идеологию MATLAB, и практически

повторяют его язык.

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

информатики

информатики

Минимальные

требования к

процессор Pentium II

или выше;

оперативной памяти

Мбайт или больше);

200-400 Мбайт

дискового

пространства;

операционные

системы: Windows

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Федеральное агентство по образованию Российской Федерации

Государственное образовательное учреждение высшего профессионального образования

Находкинский инженерно-экономический институт (филиал)

Дальневосточного государственного технического университета

ДВПИ им. В.В. Куйбышева

Контрольная работа

по предмету: «Информатика»

на тему

Математические пакеты (Matlab, Mathcad)

научный руководитель

Мирошник Е.Н.

Находка 2011

Введение

Описание языка

Применение

Наборы инструментов

Основные возможности

Сравнительная характеристика

Расширение функциональности

Список литературы

Введение

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

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

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

Одна из задач в области компьютерных технологии - автоматизация интеллектуального труда и повышение эффективности научных исследований - успешно решается путем созданных универсальных пакетов, в частности, математических. Современные математические пакеты (СМП), разработанные при участии профессиональных математиков, используют все достижения, накопленные фундаментальной и прикладной наукой. С другой стороны, пакеты, созданные программистами /1, 2, 3, 4/, имеют удобные, гибкие, отвечающие современным стандартам интерфейсы, предоставляют пользователю удобные средства ввода условий и данных задачи, инструменты для наглядности предоставления результатов вычислений, средства подготовки для грамотного оформления отчетов.

В настоящее время в университетах всего мира широко распространена система инженерных и научных расчетов MATLAB. Она является интерактивной средой, имеет математический сопроцессор и допускает возможность обращения к программам на языках Fortran, C и С++.

Области применения системы MATLAB:

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

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

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

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

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

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

Эта система выполняет все вычисления в арифметике с плавающей точкой в отличие от систем DERIVE, Maple, Mathematica, где преобладает целочисленное представление и символьная обработка данных.

Система MATLAB является одновременно операционной средой и языком программирования. Пользователь может написать специализированные функции и программы, которые оформляются в виде М-файлов. Классифицируя по типу задач, можно сформировать их в пакеты прикладных программ (ППП). Приведем несколько систем и ППП MATLAB:

MATLAB for Windows- система инженерных и научных расчетов;

MATLAB С++ Math Library- библиотека математических функций MATLAB на языке С++;

The Stydent Edition- версия MATLAB для студентов;

Statistics Toolbox- статистика;

Optimization Toolbox- оптимизация;

Partial Differential Equations Toolbox - уравнения в частных производных;

Symbolic Math Toolbox - символьная математика;

Database Toolbox - работа с базами данных и др.

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

Другой наиболее известный и широко используемый пакет - это MathCAD (Mathematical Computer Aided Design - математическая система автоматизированного проектирования) фирмы Math Soft / 2/. Первая версия пакета MathCAD для Doc появилась в 1986 г., вторая (2.01) - в 1987 г.; версия 2.52 - в 1989 г. Пакет постоянно совершенствуется. Начиная с версии MathCAD Plus 6.0, появляется встроенный язык программирования. В настоящее время в арсенале пользователя имеются версии MathCAD 7.0, MathCAD 8.0, MathCAD 2000 для Windows, предназначенные для выполнения инженерных и научных расчетов.

Основные достоинства пакета:

1) программирование на общепринятом математическом языке позволяет преодолеть языковой барьер между пользователем и ЭВМ;

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

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

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

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

1. MATLAB

История

MATLAB как язык программирования был разработан Кливом Моулером (англ. Cleve Moler) в конце 1970-х годов, когда он был деканом факультета компьютерных наук в Университете Нью-Мексико. Целью разработки служила задача дать студентам факультета возможность использования программных библиотек Linpack и EISPACKбез необходимости изучения Фортрана. Вскоре новый язык распространился среди других университетов и был с большим интересом встречен учёными, работающими в области прикладной математики. До сих пор в Интернете можно найти версию 1982 года, написанную на Фортране, распространяемую с открытым исходным кодом. Инженер Джон Литтл (англ. John N. (Jack) Little) познакомился с этим языком во время визита Клива Моулера вСтэнфордский университет в 1983 году. Поняв, что новый язык обладает большим коммерческим потенциалом, он объединился с Кливом Моулером и Стивом Бангертом (англ. Steve Bangert). Совместными усилиями они переписали MATLAB на C и основали в 1984 компанию The MathWorks для дальнейшего развития. Эти переписанные на С библиотеки долгое время были известны под именем JACKPAC. Первоначально MATLAB предназначался для проектирования систем управления (основная специальность Джона Литтла), но быстро завоевал популярность во многих других научных и инженерных областях. Он также широко использовался и в образовании, в частности, для преподавания линейной алгебры и численных методов.

Описание языка

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

Программы, написанные на MATLAB, бывают двух типов -- функции и скрипты. Функции имеют входные и выходные аргументы, а также собственное рабочее пространство для хранения промежуточных результатов вычислений и переменных. Скрипты же используют общее рабочее пространство. Как скрипты, так и функции не компилируются в машинный код и сохраняются в виде текстовых файлов. Существует также возможность сохранять так называемые pre-parsed программы -- функции и скрипты, обработанные в вид, удобный для машинного исполнения. В общем случае такие программы выполняются быстрее обычных, особенно если функция содержит команды построения графиков.

Основной особенностью языка MATLAB является его широкие возможности по работе с матрицами, которые создатели языка выразили в лозунге «думай векторно» (англ. Think vectorized).

Примеры

Пример кода, являющегося частью функции magic.m, генерирующего магический квадрат M для нечётных значений размера стороны n:

Meshgrid(1:n);

A = mod(I+J-(n+3)/2,n);

B = mod(I+2*J-2,n);

M = n*A + B + 1;

Пример кода, загружающего одномерный массив A значениями массива B в обратном порядке (только если векторA определен, и число его элементов совпадает с числом элементов вектора B):

A(1:end) = B(end:-1:1);

График sinc-функции, нарисованный с помощью MATLAB

Пример кода, рисующего график sinc-функции:

Meshgrid(-8:.5:8);

R = sqrt(X.^2 + Y.^2);

Пример векторизации кода. Код

ww = repmat (w, );

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

for i = 1:size(b,1)

for j = i:size(b,1)

A (i, j) = sum (b (i,:).*b (j,:).*w);

A (i, j) = A (j, i);

который делает то же самое.

Применение

П 1 . Математика и вычисления

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

§ Матрицы и линейная алгебра -- алгебра матриц, линейные уравнения, собственные значения и вектора,сингулярности, факторизация матриц и другие.

§ Многочлены и интерполяция -- корни многочленов, операции над многочленами и их дифференцирование, интерполяция и экстраполяция кривых и другие.

§ Математическая статистика и анализ данных -- статистические функции, статистическая регрессия, цифровая фильтрация, быстрое преобразование Фурье и другие.

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

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

§ Разреженные матрицы -- специальный класс данных пакета MATLAB, использующийся в специализированных приложениях.

§ Целочисленная арифметика -- выполнение операций целочисленной арифметики в среде MATLAB.

П. 2 Разработка алгоритмов

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

П. 3 Визуализация данных

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

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

П. 4 Внешние интерфейсы

Пакет MATLAB включает различные интерфейсы для получения доступа к внешним подпрограммам, написанным на других языках программирования, данным, клиентам и серверам, общающимся через технологииComponent Object Model или Dynamic Data Exchange, а также периферийным устройствам, которые взаимодействуют напрямую с MATLAB. Многие из этих возможностей известны под названием MATLAB API.

П. 5 COM

Пакет MATLAB предоставляет доступ к функциям, позволяющим создавать, манипулировать и удалять COM-объекты (как клиенты, так и сервера). Поддерживается также технология ActiveX. Все COM-объекты принадлежат к специальному COM-классу пакета MATLAB. Все программы, имеющие функции контроллера автоматизации (англ. Automation controller) могут иметь доступ к MATLAB как к серверу автоматизации (англ. Automation server).

П. 6 .NET

Пакет MATLAB в Microsoft Windows предоставляет доступ к программной платформе.NET Framework. Имеется возможность загружать.NET сборки (Assemblies) и работать с объектами.NET классов из среды MATLAB. В версии MATLAB 7.11 (R2010b) поддерживается.NET Framework версий 2.0, 3.0, 3.5 и 4.0.

П. 7 DDE

Пакет MATLAB содержит функции, которые позволяют ему получать доступ к другим приложениям средыWindows, равно как и этим приложениям получать доступ к данным MATLAB, посредством технологии динамического обмена данными (DDE). Каждое приложение, которое может быть DDE-сервером, имеет своё уникальное идентификационное имя. Для MATLAB это имя -- Matlab.

П. 8 Веб-сервисы

В MATLAB существует возможность вызывать методы веб-сервисов. Специальная функция создаёт класс, основываясь на методах API веб-сервиса.

MATLAB взаимодействует с клиентом веб-сервиса с помощью принятия от него посылок, их обработки и посылок ответа. Поддерживаются следующие технологии: Simple Object Access Protocol (SOAP) и Web Services Description Language (WSDL).

П. 9 COM-порт

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

П. 10 MEX-файлы

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

П. 11 DLL

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

Кроме того, в MATLAB имеется возможность получить доступ к его встроенным функциям через C-интерфейс, что позволяет использовать функции пакета во внешних приложениях, написанных на C. Эта технология в MATLAB называется C Engine.

Наборы инструментов

Для MATLAB имеется возможность создавать специальные наборы инструментов (англ. toolbox), расширяющих его функциональность. Наборы инструментов представляют собой коллекции функций, написанных на языке MATLAB для решения определённого класса задач. Компания Mathworks поставляет наборы инструментов, которые используются во многих областях, включая следующие:

§ Цифровая обработка сигналов, изображений и данных: DSP Toolbox, Image Processing Toolbox, Wavelet Toolbox, Communication Toolbox, Filter Design Toolbox -- наборы функций, позволяющих решать широкий спектр задач обработки сигналов, изображений, проектирования цифровых фильтров и систем связи.

§ Системы управления: Control Systems Toolbox, µ-Analysis and Synthesis Toolbox, Robust Control Toolbox, System Identification Toolbox, LMI Control Toolbox, Model Predictive Control Toolbox, Model-Based Calibration Toolbox -- наборы функций, облегчающих анализ и синтез динамических систем, проектирование, моделирование и идентификацию систем управления, включая современные алгоритмы управления, такие как робастное управление, H?-управление,ЛМН-синтез, µ-синтез и другие.

§ Финансовый анализ: GARCH Toolbox, Fixed-Income Toolbox, Financial Time Series Toolbox, Financial Derivatives Toolbox, Financial Toolbox, Datafeed Toolbox -- наборы функций, позволяющие быстро и эффективно собирать, обрабатывать и передавать различную финансовую информацию.

§ Анализ и синтез географических карт, включая трёхмерные: Mapping Toolbox.

§ Сбор и анализ экспериментальных данных: Data Acquisition Toolbox, Image Acquisition Toolbox, Instrument Control Toolbox, Link for Code Composer Studio -- наборы функций, позволяющих сохранять и обрабатывать данные, полученные в ходе экспериментов, в том числе в реальном времени. Поддерживается широкий спектр научного и инженерного измерительного оборудования.

§ Визуализация и представление данных: Virtual Reality Toolbox -- позволяет создавать интерактивные миры и визуализировать научную информацию с помощью технологий виртуальной реальности и языка VRML.

§ Средства разработки: MATLAB Builder for COM, MATLAB Builder for Excel, MATLAB Builder for NET, MATLAB Compiler, Filter Design HDL Coder -- наборы функций, позволяющих создавать независимые приложения из среды MATLAB.

§ Взаимодействие с внешними программными продуктами: MATLAB Report Generator, Excel Link, Database Toolbox, MATLAB Web Server, Link for ModelSim -- наборы функций, позволяющие сохранять данные в различных видов таким образом, чтобы другие программы могли с ними работать.

§ Базы данных: Database Toolbox -- инструменты работы с базами данных.

§ Научные и математические пакеты: Bioinformatics Toolbox, Curve Fitting Toolbox, Fixed-Point Toolbox, Fuzzy Logic Toolbox, Genetic Algorithm and Direct Search Toolbox, OPC Toolbox, Optimization Toolbox, Partial Differential Equation Toolbox,Spline Toolbox, Statistic Toolbox, RF Toolbox -- наборы специализированных математических функций, позволяющие решать широкий спектр научных и инженерных задач, включая разработку генетических алгоритмов, решения задач в частных производных, целочисленные проблемы, оптимизацию систем и другие.

§ Нейронные сети: Neural Network Toolbox -- инструменты для синтеза и анализ нейронных сетей.

§ Нечёткая логика: Fuzzy Logic Toolbox -- инструменты для построения и анализа нечётких множеств.

§ Символьные вычисления: Symbolic Math Toolbox -- инструменты для символьных вычислений с возможностью взаимодействия с символьным процессором программы Maple.

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

компьютерный пакет mathcad matlab

2. Mathcad

Скриншот программы Mathcad 15 в Windows 7

Тип - Система компьютерной алгебры

Разработчик - PTC

ОС - Microsoft Windows

Язык интерфейса 10 языков

Первый выпуск 1986

Лицензия Проприетарная

Сайт ptc.com

Основные возможности

Трёхмерный график, построенный в Mathcad

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

Среди возможностей Mathcad можно выделить:

§ Решение дифференциальных уравнений, в том числе и численными методами

§ Построение двумерных и трёхмерных графиков функций (в разных системах координат, контурные, векторные и т. д.)

§ Использование греческого алфавита как в уравнениях, так и в тексте

§ Выполнение вычислений в символьном режиме

§ Выполнение операций с векторами и матрицами

§ Символьное решение систем уравнений

§ Аппроксимация кривых

§ Выполнение подпрограмм

§ Поиск корней многочленов и функций

§ Проведение статистических расчётов и работа с распределением вероятностей

§ Поиск собственных чисел и векторов

§ Вычисления с единицами измерения

§ Интеграция с САПР системами, использование результатов вычислений в качестве управляющих параметров

С помощью Mathcad инженеры могут документировать все вычисления в процессе их проведения.

Сравнительная характеристика

П 1 .Назначение

Mathcad относится к системам компьютерной алгебры, то есть средств автоматизации математических расчетов. В этом классе программного обеспечения существует много аналогов различной направленности и принципа построения. Наиболее часто Mathcad сравнивают с такими программными комплексами, как Maple, Mathematica,MATLAB, а также с их аналогами MuPAD, Scilab, Maxima и др. Впрочем, объективное сравнение осложняется в связи с разным назначением программ и идеологией их использования.

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

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

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

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

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

П . 2 Интерфейс

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

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

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

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

П. 3 Графика

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

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

Расширение функциональности

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

§ Пакет для анализа данных (англ. Data Analysis Extension Pack) -- обеспечивает Mathcad необходимыми инструментами для анализа данных.

§ Пакет для обработки сигналов (англ. Signal Processing Extension Pack) -- содержит более 70 встроенных функций для аналоговой и цифровой обработки сигналов, анализа и представления результатов в графическом виде.

§ Пакет для обработки изображений (англ. Image Processing Extension Pack) -- обеспечивает Mathcad необходимыми инструментами для обработки изображений, анализа и визуализации.

§ Пакет для работы с фунциями волнового преобразования (англ. Wavelets Extension Pack) -- содержит большой набор дополнительных вейвлет-функций, которые можно добавить в библиотеку встроенных функций базового модуля Mathcad Professional. Пакет предоставляет возможность применить новый подход к анализу сигналов и изображений, статистической оценки сигналов, анализа сжатия данных, а также специальных численных методов. Функциональность включает одно- и двухмерные вейвлеты, дискретные вейвлет-преобразования, мультианализ разрешения и многое другое. Пакет объединяет более 60 функций ключевых вейвлетов. Включены ортогональные и биортогональные семейства вейвлетов, среди прочего -- вейвлет Хаара, вейвлет Добеши, симлет,койфлет и B-сплайны. Пакет также содержит обширную диалоговую документацию по основным принципам вейвлетов, приложения, примеры и таблицы ссылок.

§ Библиотека строительства (англ. Civil Engineering Library) -- включает справочник англ. Roark"s Formulas for Stress and Strain (Формулы Роарка для расчета напряжений и деформаций), настраиваемые шаблоны для строительногопроектирования и примеры тепловых расчётов.

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

§ Библиотека машиностроения (англ. Mechanical Engineering Library) -- включает справочник англ. Roark"s Formulas for Stress and Strain (Формулы Роарка для расчета напряжений и деформаций), содержащий более пяти тысяч формул, вычислительные процедуры из справочника McGraw-Hill и метод конечных элементов. Текстовые пояснения, поисковая система и примеры облегчают работу. В состав библиотеки включена электронная книга Дэвида Пинтура «Введение в метод конечных элементов».

Список литературы

1. Дьяконов В.П. Справочник по применению системы PC MATLAB. -- М.: «Физматлит», 1993. -- С. 112. --ISBN 5-02-015101-7

2. Дьяконов В.П. Компьютерная математика. Теория и практика. -- СПб: «Питер», 1999, 2001. -- С. 1296. -- ISBN 5-89251-065-4

3. Дьяконов В.П. MATLAB 5 - система символьной математики. -- М.: «Нолидж», 1999. -- С. 640. -- ISBN 5-89251-069-7

4. Дьяконов В.П., Абраменкова И.В. MATLAB. Обработка сигналов и изображений. Специальный справочник. -- СПб.: «Питер», 2002. -- С. 608. -- ISBN 5-318-00667-608

5. Дьяконов В.П., Круглов В.В. MATLAB. Анализ, идентификация и моделирование систем. Специальный справочник. -- СПб.: «Питер», 2002. -- С. 448. -- ISBN 5-318-00359-1

6. Дьяконов В. П. Simulink 4. Специальный справочник. -- СПб.: «Питер», 2002. -- С. 528. -- ISBN 5-318-00551-9

7. Дьяконов В.П. MATLAB 6/6.1/6.5 + Simulink 4/5. Основы применения. Полное руководство пользователя. -- Москва.: «СОЛОН-Пресс», 2002. -- С. 768. -- ISBN 5-98003-007-7

8. Дьяконов В.П. MATLAB 6/6.1/6.5 + Simulink 4/5 в математике и моделировании. Основы применения. Полное руководство пользователя. -- Москва.: «СОЛОН-Пресс», 2003. -- С. 576. -- ISBN 5-93455-177-9

9. Дьяконов В.П. MATLAB 6.0/6.1/6.5/6.5+SP1 + Simulink 4/5. Обработка сигналов и изображений. Полное руководство пользователя. -- Москва.: «СОЛОН-Пресс», 2005. -- С. 592. -- ISBN 5-93003-158-8

10. Дьяконов В.П. MATLAB 6.5/7.0 + Simulink 5/6. Основы применения. Библиотека профессионала. -- Москва.:«СОЛОН-Пресс», 2005. -- С. 800. -- ISBN 5-98003-181-2

11. Дьяконов В.П. MATLAB 6.5/7.0 + Simulink 5/6 в математике и моделировании. Библиотека профессионала. -- Москва.: «СОЛОН-Пресс», 2005. -- С. 576. -- ISBN 5-98003-209-6

12. Дьяконов В.П. MATLAB 6.5/7.0 + Simulink 5/6. Обработка сигналов и проектирование фильтров. Библиотека профессионала. -- Москва.: «СОЛОН-Пресс», 2005. -- С. 576. -- ISBN 5-98003-206-1

13. Дьяконов В.П. MATLAB 6.5/7.0/7 SP1 + Simulink 5/6. Работа с изображениями и видеопотоками. Библиотека профессионала. -- Москва.: «СОЛОН-Пресс», 2005. -- С. 400. -- ISBN 5-98003-205-3

14. Дьяконов В.П. MATLAB 6.5/7.0/7 SP1/7 SP2 + Simulink 5/6. Инструменты искусственного интеллекта и биоинформатики. Библиотека профессионала. -- Москва.: «СОЛОН-Пресс», 2005. -- С. 456. -- ISBN 5-98003-255-X

15. Дьяконов В.П. MATLAB R2006/2007/2008 + Simulink 5/6/7. Основы применения. Изд-е 2-е, переработанное и дополненное. Библиотека профессионала. -- Москва.: «СОЛОН-Пресс», 2008. -- С. 800. -- ISBN 978-5-91359-042-8

16. Дьяконов В.П. MATLAB 7.*/R2006/2007. Самоучитель. -- Москва: «ДМК-Пресс», 2008. -- С. 768. -- ISBN 978-5-94074-424-5

17. Дьяконов В.П. SIMULINK 5/6/7. Самоучитель. -- Москва: «ДМК-Пресс», 2008. -- С. 784. -- ISBN 978-5-94074-423-8

18. Дьяконов В.П. Вейвлеты. От теории к практике. Полное руководство пользователя. Изд-е 2-е переработанное и дополненное. -- Москва: «СОЛОН-Пресс», 2004. -- С. 400. -- ISBN 5-98003-171-5

19. Чарльз Генри Эдвардс, Дэвид Э. Пенни Дифференциальные уравнения и проблема собственных значений: моделирование и вычисление с помощью Mathematica, Maple и MATLAB = Differential Equations and Boundary Value Problems: Computing and Modeling. -- 3-е изд. -- М.: «Вильямс», 2007. -- ISBN 978-5-8459-1166-7

20. Алексеев Е.Р., Чеснокова О.В MATLAB 7. Самоучитель.. -- Пресс, 2005. -- С. 464.

21. Курбатова Екатерина Анатольевна MATLAB 7. Самоучитель. -- М.: «Диалектика», 2005. -- С. 256. -- ISBN 5-8459-0904-X

22. Джон Г. Мэтьюз, Куртис Д. Финк Численные методы. Использование MATLAB = Numerical Methods: Using MATLAB. -- 3-е изд. -- М.: «Вильямс», 2001. -- С. 720. -- ISBN 0-13-270042-5

Размещено на A

Подобные документы

    Программы в составе интегрированного пакета для MS Office, общий интерфейс пользователя. Компоненты: текстовый редактор (Word), табличный процессор (Excel), создание презентаций (PowerPoint), управление базами данных (Access). Функции и их применение.

    презентация , добавлен 20.01.2012

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

    курс лекций , добавлен 10.11.2010

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

    презентация , добавлен 06.01.2014

    Текстовый процессор и визуальный редактор Html Writer. Табличный процессор Calc. Программа подготовки презентаций Impress. Base механизм подключения к внешним СУБД и встроенная СУБД HSQLDB. Векторный графический редактор Draw. Редактор формул Math.

    курсовая работа , добавлен 09.02.2010

    Текстовый редактор, графический редактор, электронные таблицы, компьютерные математические системы. Реализация текстового редактора Micfrosoft Word в процессе обучения математики. Графический редактор CorelDRAW в создании рисунков и графических объектов.

    курсовая работа , добавлен 27.03.2013

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

    контрольная работа , добавлен 04.05.2012

    Текстовый процессор – общее название программных средств для создания, редактирования и форматирования текстовых документов. Операции для работы с текстом в текстовом процессоре Microsoft Word. Создание и режимы отражения документа. Порядок ввода текста.

    презентация , добавлен 31.10.2016

    Краткая история развития поисковых систем. Обзор мировых и российских поисковых систем: Google, Yahoo, Baidu, Yandex, Rambler, Апорт, Mail.ru. Текстовый процессор Microsoft Word. Табличный редактор Excel. Организация рабочего места оператора ЭВМ.

    курсовая работа , добавлен 20.12.2008

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

    реферат , добавлен 23.02.2012

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




Top