Материал: 6386

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Профессиональные математические пакеты

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

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

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

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

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

Программирование. Система Maple использует процедурный язык 4-го поколения (4GL). Этот язык специально предназначен для быстрой разработки математических подпрограмм и пользовательских приложений. Maple может генерировать код, совместимый с такими языками программирования, как C++, и с языком набора текста LaTeX. Используя систему Maple, можно разработать определенную математическую модель, а затем с ее помощью сгенерировать код на языке Си, соответствующий этой модели.

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

1.3.Пакет математических и инженерных вычислений MatLab

Система математических и инженерных вычислений MatLab [3], разработанная MathWorks Inc. [http://www.mathworks.com/] относится к среднему уровню продуктов, предназначенных для символьной математики, но рассчитана на широкое применение в

11

Глава 1. Обзор вычислительных математических пакетов

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

Несмотря на то, что изначально MatLab

предназначалась

исключительно

для

численных

расчетов,

в

дополнение

к

прекрасным

вычислительным

средствам,

у

фирмы

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

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

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

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

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

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

 

Для визуализации

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

MatLab

имеет

библиотеку

Image Processing Toolbox,

которая обеспечивает

широкий

спектр

функций,

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

12

Профессиональные математические пакеты

Основные средства библиотеки Image Processing Tollbox: построение фильтров, фильтрация и восстановление изображений; увеличение изображений; анализ и статистическая обработка изображений; выделение областей интересов, геометрические и морфологические операции; манипуляции с цветом; двумерные преобразования; запись/чтение графических файлов. Среди других библиотек системы MatLab можно также отметить System Identification Toolbox – набор инструментов для создания математических моделей динамических систем, основанных на наблюдаемых входных/выходных данных. Эта подсистема позволяет организовать итеративный процесс создания моделей для получения оценок и выделения наиболее значимых данных, выделения области возможных значений данных, удаления погрешностей, предотвращения ухода данных от характерного для них уровня и т.п.

Что касается математических вычислений, то MatLab предоставляет доступ к огромному количеству подпрограмм, содержащихся в библиотеке NAG Foundation Library компании Numerical Algorithms Group Ltd [http://www.nag.co.uk/]

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

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

1.4.Программный комплекс MathCAD

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

MathCAD [4] был задуман и первоначально написан Алленом Раздовом из Массачусетского технологического института (MIT), соучредителем

компании Mathsoft [http://www.mathsoft.com/], которая с 2006 г. является частью корпорации PTC [http://communities.ptc.com] (Parametric Technology Corporation).

MathCAD не имеет языка программирования как такового, а ядро символьных вычислений заимствовано из пакета Maple. Некоторые из математических возможностей MathCAD (версии до 13.1 включительно) основаны на подмножестве системы компьютерной алгебры Maple (MKM, Maple Kernel Mathsoft). Начиная с 14 версии — использует символьное ядро MuPAD.

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

13

Глава 2. Программный комплекс MathCAD

2.ПРОГРАММНЫЙ КОМПЛЕКС MATHCAD

2.1.Интерфейс математического процессора MathCAD

Программный комплекс MathCAD (Mathematical Computer Aided Design –

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

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

При запуске MathCAD на экране появляется окно интерфейса (Рис. 1).

текстовый регион

математический регион

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

Рис. 1 – Окно интерфейса MathCAD с загруженным документом

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

WYSIWYG (What You See Is What You Get – что видишь, то и получаешь).

Рабочий лист и регионы

В поле основного окна отображается продолжаемый вправо и вниз бесконечный рабочий лист (worksheet). На рабочем листе в произвольном порядке располагаются регионы. Существует три типа регионов:

•математические,

•графические,

•текстовые.

14

Профессиональные математические пакеты

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

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

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

Рис. 2 – Панели инструментов и линейка их вызова

15

Источник: https://studfile.net/preview/16438534/