Современные интегрированные математические пакеты. Информационные технологии для математических вычислений на примере пакета Maple

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Parametric Surface Creator

Surfer

пакет Simulink

gnuplot ImageMagick

Parametric Surface Creator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пакет Mathematica.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

FlatGraph позволяет:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Derive . Этот математический пакет интересен, поскольку в нем имеется возможность использования символьной математики и двух режимов работы с графикой. Наличие графического курсора позволяет определять координаты характерных точек кривых (экстремумы, корни, точки пересечения с другими кривыми). Пакет Derive и поныне привлекателен своими невзыскательными требованиями к аппаратным ресурсам. Это единственный пакет, который работает даже на ЭВМ класса IBM PC XT без жесткого диска. Более того, при решении задач умеренной сложности он показала более высокое быстродействие и большую надежность решения.

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

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

MapleV. Диапазон функциональных возможностей MapleV очень широк – охвачены следующие разделы: дифференциального и интегрального исчислений, линейной алгебры, дифференциальных уравнений, геометрии, статистики, теории чисел, теории групп, оптимизации, численных вычислений, финансовые функции, комбинаторика, теория графов и многие другие области математики. Двух- и трехмерная графика MapleV обеспечивает мощную научную визуализацию. Пакет MapleV имеет более 20 типов специальных графиков, а также большое количество доступных опций для настройки способов вывода на экран каждого графика. Кроме того, возможно оживление графиков – мультипликация. Пакет понимает многие специальные функции такие как: Дельта-функции, функции Дирака и др. MapleV имеет мощную справочную систему, которая включает файлы помощи для каждой команды, типа данных, конструкции языка и библиотеки. Ещё одним достоинством системы является огромное число описанных в ней практических примеров и перенос примеров из базы данных помощи прямо в окно редактирование с возможностью их немедленного исполнения. Кроме того, данное программное средство может использоваться для того, чтобы сгенерировать коды на языках типа C, LaTEX и др.

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

Главным достоинством пакета являются:

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

Простота в использовании;

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

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

Ввод исходных данных и вывод результатов в текстовые файлы или файлы с базами данных в других форматах;

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

Получение различной справочной информации из области математики и многое другое.

MathCad не предназначен для профессиональных математиков и для программирования сложных задач.

MatLab. Пакет MatLab был создан компанией MathWorks более десяти лет назад. Его возможности постоянно расширяются, а заложенные в нем алгоритмы совершенствуются.

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

Так, например, пакет (ToolBox) Simulink предназначен для интерактивного моделирования нелинейных динамических систем, состоящих из стандартных блоков.

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

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

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

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

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

1. встроенные средства различной степени развития той или иной системы программирования; (системы программирования, как Basic, С, Pascal)

2. специальные языки программирования; (Fortran, Prolog)

3. узкоспециальные.(пакеты MacMath, Phaser, Eureka)

4. специальные (пакеты StatGraf, Macsyma, Dynamics, Derive)

5. общие пакеты. (MathCAD, REDUCE, MatLab )

Наконец, современное развитие компьютерных технологий, ориентированных на создание интегрированных пакетов multimedia- технологии привело к появлению но­вого уровня математических пакетов, из которых наиболее известными являются па­кеты MAPLE V фирмы Maple Software Inc. и Mathematica фирмы Wolfram Research Inc.

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

Общая характеристика пакета

Пакет имеет естественный входной язык представления математических зависимостей и инструменты их набора типа предлагаемых в Microsoft Equation

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

Особенности ввода:

· Мнимая единица записывается как i или j сразу после числового множителя.

· Углы по умолчанию задаются в радианах.

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

· указывающие прядок действий круглые скобки

Набираются непосредственно с клавиатуры.

Нажатие вслед за набором латинской буквы преобразует ее в греческую.

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

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

Присваивание переменным; числовых значений производится набором кон­струкции <имя>:<число> (двоеточие будет заменено знаком присваивания).

Например x:6 получаем на экране x:=6.<

Вывод результатов выполняется по нажатию клавиши [=]. Знаки равенства в условиях и уравнениях набираются только по . Набор завершается нажатием или щелчком мышью вне поля набора.

Интерфейс пакета MATHCAD

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

Расположение нетекстовых блоков в документе имеет принципиальное значение - слева направо и сверху вниз. Точка ввода на рабочем листе отмечается красным крестиком он называется «визир »

Математические выражения

К основным элементам математических выражений MathCAD относятся типы данных, операторы, функции и управляющие структуры.

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

К типам данных относятся числовые константы, обычные и системные переменные, массивы (векторы и матрицы)

Функции

Функция - выражение, согласно которому проводятся некоторые вычисления с аргументами и определяется его числовое значение.

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

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

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


Функции в пакете MathCAD могут быть встроенные. Способы вставки встроенной функции

· Выбрать пункт меню Вставка / Функция.

· Нажать комбинацию клавиш Ctrl + E.

· Щелкнуть на кнопке

Текстовые области

Текстовая область предназначена для небольших кусков текста - подписей, комментариев и т. п. Вставляется с помощью команды Вставка / Текстовая область или комбинации клавиш Shift + " (двойная кавычка).

Графические области

Графические области делятся на три основных типа - двумерные графики, трехмерные графики и импортированные графические образы. Двумерные и трехмерные графики строятся самим MathCAD на основании обработанных данных.

Для создания декартового графика :

1. Установить визир в пустом месте рабочего документа.

2. Выбрать команду Вставка / График / Х-У график, или нажать комбинацию клавиш Shift + @, или щелкнуть кнопку

Графики. Появится шаблон декартового графика.

3. Введите в средней метке под осью Х первую независимую переменную, через запятую - вторую и так до 10, например х1, х2, …

4. Введите в средней метке слева от вертикальной оси Y первую независимую переменную, через запятую - вторую и т. д., например у1(х1), у2(х2), …, или соответствующие выражения.

5. Щелкните за пределами области графика, что бы начать его построение.

Трехмерные, или 3D-графики, отображают функции двух переменных вида Z(X, Y).

Пример:


Решение математических задач с помощью MATHCAD

Численное решение нелинейного уравнения

Для простейших уравнений вида f (x ) = 0 решение в Mathcad находится с помощью функции root.

root(f (х 1, x 2, … ), х 1, a, b )

Возвращает значение х 1 , принадлежащее отрезку [a, b ] , при котором выражение или функция f (х ) обращается в 0. Оба аргумента этой функции должны быть скалярами. Функция возвращает скаляр.

Аргументы

f (х 1, x 2, … ) - функция, определенная где-либо в рабочем документе, или выражение. Выражение должно возвращать скалярные значения.

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

a, b - необязательны, если используются, то должны быть вещественными числами, причем a < b .

Приближенные значения корней (начальные приближения ) могут быть:

1. Известны из физического смысла задачи.

2. Найдены графическим способом.

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

Пример решения нелинейного уравнения:


Нахождение корней полинома

Для нахождения корней выражения, имеющего вид

nx n + ... + v2x 2 + v 1x + v 0,

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

Polyroots(v )

возвращает корни полинома степени n . Коэффициенты полинома находятся в векторе v длины n +1. Возвращает вектор длины n , состоящий из корней полинома.

Аргументы: v - вектор, содержащий коэффициенты полинома.

Вектор v удобно создавать использую команду Символы Þ Коэффициенты полинома.

Пример нахождения корней полинома:


Решение систем уравнений

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

Для решения системы уравнений необходимо выполнить следующее:

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

2. Напечатать ключевое слово Given . Оно указывает Mathcad, что далее следует система уравнений.

3. Введите уравнения и неравенства в любом порядке. Используйте = для печати символа =. Между левыми и правыми частями неравенств может стоять любой из символов <, >,

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

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

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

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

Размещено на 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, их сравнительная характеристика и назначение. Возможности текстового и табличного редакторов, преимущества их использования и выполняемые функции, варианты загрузки и реализация основных операций.