Математические пакеты
Введение
В этой теме мы рассмотрим такие математические пакеты как Excel, Maple, Mathcad, Mathematica, MATLAB, их основные характеристики, назначение, возможности и отличительные характеристики каждого пакета.
План:
1. Excel.
2. Maple.
3. Mathcad.
4. Mathematica.
5. MATLAB.
В настоящее время при решении на компьютере инженерно-технических задач наметилась стойкая тенденция перехода от использования языков программирования к работе с универсальными математическими пакетами. Математические пакеты позволяют на порядок ускорить процесс создания расчетных проектов. Такое же ускорение наблюдалось при переходе от работы с машинными кодами к работе с языками программирования.
Все математические пакеты разделяются на:
· непрофессиональные (Microsoft Excel);
· профессиональные (Maple, Mathcad, Mathematica, MATLAB и др.).
Математические пакеты предоставляют широкие возможности для численных методов анализа и графической интерпретации результатов.
Необходимость использования пакетов обусловлена отсутствием для большинства задач аналитических решений.
Эти системы в полной мере демонстрируют возможности применения компьютера в математике. Они решают аналитически сложные алгебраические, трансцендентные уравнения, неравенства и системы, находят производные и первообразные, производят всевозможные символьные преобразования математических выражений, решают системы обыкновенных дифференциальных уравнений и уравнений в частных производных.
С помощью профессиональных математических
пакетов Вы научитесь решать аналитически и численно большое количество типовых
математических задач.
1.
Microsoft Excel.
Microsoft Excel используется для решения задач линейного программирования, поскольку это наиболее распространенные задачи и для их решения достаточно встроенных возможностей математического моделирования данной среды. Для решения же задач из других разделов математического программирования требуется хорошая математическая подготовка и умение работать в специально ориентированных (профессиональных) математических пакетах. [3]
Подбор параметра является частью блока задач, который иногда называют инструментами анализа "что - если".
Анализ «что – если» – процесс изменения значений ячеек и анализа влияния этих изменений на результат вычисления формул на листе. Например, изменение процентной ставки, используемой в таблице амортизации для определения сумм платежей.
Когда желаемый результат одиночной формулы (совокупности значений, ссылок на другие ячейки, именованных объектов, функций и операторов, позволяющей получить новое значение) известен, но неизвестны значения, которые требуется ввести для получения этого результата, можно воспользоваться средством «Подбор параметра» выбрав команду Подбор параметра в меню Сервис.
Подбор параметра – способ поиска
определенного значения ячейки путем изменения значения в другой ячейке. При
подборе параметра значение в ячейке изменяется до тех пор, пока формула,
зависящая от этой ячейки, не вернет требуемый результат.
При подборе параметра Microsoft Excel изменяет значение в одной конкретной ячейке до тех пор, пока формула, зависимая от этой ячейки, не возвращает нужный результат.
Сценарии тоже являются частью блока задач, который иногда называют инструментами анализа "что-если".
Сценарий — это набор значений, которые Microsoft Excel сохраняет и может автоматически подставлять на листе.
Сценарии можно использовать для прогноза результатов моделей и систем расчетов. Существует возможность создать и сохранить на листе различные группы значений, а затем переключаться на любой из этих новых сценариев для просмотра различных результатов.
Создание сценариев. Например, если требуется создать бюджет, но доходы точно не известны, можно определить различные значения дохода, а затем переключаться между сценариями для выполнения анализов «что - если».
Итоговые отчеты по сценариям. Для сравнения нескольких сценариев можно создать отчет, обобщающий их на одной странице. Сценарии в отчете могут располагаться один рядом с другим, либо могут быть обобщены в отчете сводной таблицы.
Поиск решений тоже является частью блока задач, который иногда называют анализ «что-если». Процедура поиска решения позволяет найти оптимальное значение формулы, содержащейся в ячейке, которая называется целевой. Эта процедура работает с группой ячеек, прямо или косвенно связанных с формулой в целевой ячейке. Чтобы получить по формуле, содержащейся в целевой ячейке, заданный результат, процедура изменяет значения во влияющих ячейках. Чтобы сузить множество значений, используемых в модели, применяются ограничения.
Ограничения – ограничения на значения изменяемых ячеек, конечных ячеек или других ячеек, прямо или косвенно связанных друг с другом, задаваемые при постановке задачи.
Эти ограничения могут ссылаться на другие влияющие ячейки.
Процедуру поиска решения можно использовать для определения значения влияющей ячейки, которое соответствует экстремуму зависимой ячейки — например можно изменить объем планируемого бюджета рекламы и увидеть, как это повлияет на проектируемую сумму расходов.
Средство поиска решения использует алгоритм нелинейной оптимизации, разработанный Леоном Ласдоном и Аланом Уореном.
Алгоритмы симплексного метода и метода «branch-and-bound» для решения линейных и целочисленных задач с ограничениями разработаны Джоном Уотсоном и Деном Филстра.
Таблицы данных тоже являются частью блока задач, который иногда называют инструментами анализа «что-если».
Таблица данных представляет собой диапазон ячеек, показывающий, как изменение определенных значений в формулах влияет на результаты этих формул.
Таблицы предоставляют способ быстрого вычисления нескольких версий в рамках одной операции, а также способ просмотра и сравнения результатов всех различных вариантов на одном листе.
Таблицы данных с одной переменной. Таблица данных с одной переменной используется, например, при необходимости просмотреть, как различные процентные ставки влияют на размер ежемесячных выплат по закладной.
Таблицы данных с двумя переменными. Таблица данных с двумя переменными может показать влияние на размер ежемесячных выплат по закладной различных процентных ставок и сроков займа.
Подсчет таблицы данных. Таблицы подстановки данных пересчитываются всякий раз при пересчете листа, даже если в них не были внесены изменения. Для ускорения процесса пересчета листа, содержащего таблицу подстановки данных, следует так изменить параметр Вычисления, чтобы автоматически пересчитывался лист, но не таблицы.
2. Система Maple.
Maple принадлежит к классу прикладных программных пакетов,
объединенных под общим названием Computer Algebra Systems (CAS) - системы
компьютерной алгебры. Программа разработана исследовательской группой (The
Symbolic Computation Groop) отделения вычислительной техники университета
Waterloo, Канада, которая была образована в декабре 1980 Кейтом Геддом и
Гастоном Гонэ. Основное направление деятельности этой группы - исследования в
области символьных вычислений также называемой компьютерной алгеброй. [1]
Разработчики других известных математических пакетов, таких как MathCad и MatLab используют символьный процессор Maple в своих программах.
Самым важным отличием Maple от других систем является то, что она была изначально задумана как символьный пакет. Как и любой представитель данного семейства продуктов, Maple ориентирована на решение широкого ряда математических проблем. Она включает в себя большое количество специальных пакетов для решения задач линейной и тензорной алгебры, евклидовой и аналитической геометрии, теории чисел, теории графов, теории вероятностей, математической статистики, комбинаторики, теории групп, численной аппроксимации и линейной оптимизации, задач финансовой математики и многих других.
Она также является уникальной программной средой, ускоряющей разработку математических программ благодаря своей большой библиотеке встроенных функций и операций.
В основу Maple положен алгоритмический язык высокого уровня, предназначенный для реализации обычного процедурного программирования. Maple - язык "понимает" все стандартные объекты типа циклов (while, for), операторов условного перехода (if-then-else), массивов (array), списков (list), наборов (set), таблиц и т.д.
Есть возможность работы с файлами, что позволяет строить системы, состоящие из множества модулей, подгружая необходимые процедуры в процессе выполнения программы, а также реализовывать ввод и вывод больших объемов данных. Реализованы также все стандартные процедуры обработки строковой информации (конкатенация, различные виды поиска подстрок в строках. Любое строковое выражение можно с помощью специальной функции сделать переменной, т.е. просто сгенерировать переменную прямо в процессе работы программы.
Maple - это среда для выполнения математических
расчетов на компьютере, может решать большое количество математических задач
путем введения команд, без всякого предварительного программирования. [2]
Кроме того, Maple может оперировать не только приближенными числами, но и точными целыми и рациональными числами. Это позволяет получить ответ с высокой, в идеале с бесконечной, точностью.
Но, что самое важное, решение задач может быть получено аналитически, то есть в виде формул, состоящих из математических символов. Вследствие этого Maple называют также пакетом символьной математики.
К настоящему времени программа превратилась в мощную вычислительную систему, предназначенную для выполнения сложных проектов. Maple умеет выполнять сложные алгебраические преобразования и упрощения над полем комплексных чисел, находить конечные и бесконечные суммы, произведения, пределы и интегралы, решать в символьном виде и численно алгебраические системы уравнений и неравенств, находить все корни многочленов, решать аналитически и численно системы обыкновенных дифференциальных уравнений и некоторые классы уравнений в частных производных.
Интерфейс Maple
Рабочие листы системы Maple могут быть использованы либо как интерактивные средства для решения задач, либо как система для составления технической документации.
Исполнительные группы и электронные таблицы облегчают взаимодействие пользователя с вычислительной машиной Maple, выполняя роль тех первичных средств, с помощью которых в систему Maple передаются запросы на выполнение конкретных задач и вывод результатов. Оба этих типа первичных средств допускают возможность ввода команд Maple.
Система Maple позволяет вводить электронные таблицы, содержащие как числа, так и символы. Они совмещают в себе математические возможности системы Maple с уже знакомым форматом из строк и столбцов традиционных электронных таблиц.
Электронные таблицы системы Maple можно использовать для создания таблиц формул.
Для облегчения документирования и организации результатов вычислений имеются опции разбиения на параграфы, разделы, добавления гиперссылок.
Рабочие
листы можно организовать иерархически, в виде разделов и подразделов. Разделы и
подразделы можно как расширять, так и сворачивать. Ниже даны примеры
подразделов для данного раздела. [1]
Гиперссылка является навигационным средством. Одним щелчком мыши по ней вы можете перейти к другой точке в пределах рабочего листа, к другому рабочему листу, к странице помощи, к рабочему листу на Web-сервере или к любой Web-странице.
Система Maple подобно другим текстовым редакторам также поддерживает опцию закладок.
Вычисления в Maple
Систему Maple можно использовать и на самом элементарном уровне ее возможностей, – как очень мощный калькулятор.
Главным достоинством системы Maple является ее способность выполнять арифметические действия. При работе с дробями и корнями они не приводятся в процессе вычисления к десятичному виду, что позволяет избежать ошибок при округлении. При необходимости работы с десятичными эквивалентами в системе Maple имеется команда, аппроксимирующая значение выражения в формате чисел с плавающей запятой.
Система Maple вычисляет конечные и бесконечные суммы и произведения, выполняет вычислительные операции с комплексными числами, легко приводит комплексное число к числу в полярных координатах, числовые значения элементарных функций, а также многих специальных функций и констант.
Систему Maple можно использовать для решения уравнений и систем алгебраических уравнений.
Maple может вычислять пределы функций, как конечные, так и стремящиеся к бесконечности, а также распознает неопределенные пределы.
В
системе Maple можно решать множество обычных дифференциальных уравнений, а
также дифференциальные уравнения в частных производных, в том числе задачи с
начальными условиями, и задачи с граничными условиями. [2]
Одним из наиболее часто используемых в системе Maple пакетов программ является пакет линейной алгебры, содержащий мощный набор команд для работы с векторами и матрицами. Maple может находить собственные значения и собственные векторы, вычислять криволинейные координаты, находить матричные нормы и вычислять множество различных типов разложения матриц.
Для технических применений в Maple включены справочники физических констант и единицы физических величин с автоматическим пересчетом формул.
Графика в Maple
Maple поддерживает как двумерную, так и трехмерную графику. Можно графически представить явные, неявные и параметрические функции, а также наборы данных.
Графические средства Maple позволяют строить двухмерные графики сразу нескольких функций, создавать конформные графики функций с комплексными числами и строить графики функций в логарифмической, двойной логарифмической, параметрической, фазовой, полярной и контурной форме. Можно графически представлять неравенства, неявно заданные функции, решения дифференциальных уравнений и корневые годографы. Также имеются все возможности для выбора шрифтов для названий, надписей и другой текстовой информации на графиках.
Maple может строить поверхности и кривые в трехмерном представлении, включая поверхности, заданные явной и параметрической функциями, а также решениями дифференциальных уравнений. Имеется возможность изменения качества вывода графика на экран путем изменения таких параметров, как шрифты, яркость и цвет.
Maple поддерживает двух- и трехмерные анимации. Эту особенность системы можно использовать для отображения процессов, протекающих в режиме реального времени.
Специализированные приложения
В Maple включены пакеты подпрограмм для решения задач линейной и тензорной алгебры, Евклидовой и аналитической геометрии, теории чисел, теории вероятностей и математической статистики, комбинаторики, теории групп, интегральных преобразований, численной аппроксимации и линейной оптимизации (симплекс метод) а также задач финансовой математики и многих других задач.
Финансовые вычисления в Maple
Для финансовых расчетов предназначен программный пакет finance. C его помощью можно вычислять текущую и накопленную сумму ежегодной ренты, совокупную ежегодную ренту, сумму пожизненной ренты, совокупную пожизненную ренту, и процентный доход на неименные облигации. Более того, этот пакет также поможет в расчете дохода, получаемого до срока погашения облигации. Вы можете строить таблицу амортизации, определять реальную сумму ставки для сложных процентов и вычислять текущее и будущее фиксированное количество для конкретной ставки сложных процентов.
Программирование
Система Maple использует исключительно процедурный язык 4-го поколения (4GL). Этот язык специально предназначен для быстрой разработки математических подпрограмм и пользовательских приложений.
Синтаксис этого языка аналогичен синтаксису языков Си, FORTRAN, BASIC и Pascal.
Maple обладает
развитым языком программирования. Это дает возможность пользователю
самостоятельно создавать команды и таким образом расширять возможности Maple
для решения специальных задач. Хороший текстовый редактор и прекрасные
графические средства позволяют профессионально оформить выполненную работу. [1]
Maple может генерировать код, совместимый с такими языками программирования, как FORTRAN и Cи, и с языком набора текста LaTeX. Одним из преимуществ этого свойства является способность обеспечивать доступ к специализированным числовым решающим программам, максимально ускоряющим решение сложных задач.
· Intel 386, 486, Pentium, или полностью совместимый процессор;
· от 18 до 42 МБ свободного дискового пространства;
· минимум 8 МБ оперативной памяти;
· Microsoft Windows 3.1x , Windows NT 3.5 или Windows 95.
Программа Maple достаточно легко осваивается, удобна в работе, так что ее может использовать даже школьник или студент для простых расчетов или для освоения математики.
Работа в среде Maple может осуществляться в двух режимах: интерактивном и пакетном.
Интерактивный режим предполагает прямое
общение с системой через интерфейс с помощью команд встроенного языка. Просто
введя в командной строке системы уравнение, начинающееся с символа
">", к примеру, solve(x^2-3*x+2=0, x); и нажав Enter, вы тут же, в
этом же окне, получите ответ: {x=1, x=2}.
Большинство прикладных задач, не требующих интенсивных вычислений, реализуется
именно в интерактивном режиме, где есть возможность не только ввода и
выполнения команд, но и записи комментариев, создания гиперссылок, параграфов,
что позволяет делать работу программы наиболее наглядной.
Пакетный режим работы предполагает выполнение ряда операций, при котором исключена возможность какого-либо вмешательства со стороны пользователя в процесс работы программы и предназначен для быстрой реализации громоздких повторных вычислений. Но даже в этой ситуации отлаживать программу лучше всего в интерактивном режиме, а конечный вариант реализовать в пакетном.
Наиболее просто научиться работать с Maple и получать много полезных результатов в интерактивном режиме. При загрузке программы автоматически загружается новый рабочий лист (worksheet), на котором вы увидите приглашение для ввода команды > (prompt). В командную строку можно записать любое алгебраическое выражение, то есть выражение, состоящее из имен переменных и функций, чисел и символьных констант, соединенных алгебраическими операторами. Если в конце выражения поставить знак ";" (точка с запятой), то при нажатии клавиши Enter или кнопки с восклицательным знаком на инструментальной панели выражение будет обработано программой, а результат выведен на дисплей, например
> 2*3^5-x^2*sin(y-Pi);
Мы видим, что автоматически производятся арифметические действия и выводится результат.
Таким образом, мы можем получать вычисленные значения выражений, введенных в командную строку, то есть работать с программой, как с калькулятором. Мы можем также присваивать имена вводимым выражениям при помощи оператора присваивания :=, например
> R:=5/Pi*exp(x);
Теперь можно ввести предыдущее выражение, просто записав присвоенное ему имя
> R;
Фактически, каждое выражение, содержащее операторы, и на конце которого стоит точка с запятой, является командой Maple, приводящей к выполнению операторов выражения. Однако в Maple используются и другого рода команды: команды-процедуры.
Такая команда вводится следующим способом:
> Имя_команды (аргумент, опции);
На конце команды обязательно должен стоять символ конца команды - точка с запятой или двоеточие. В противном случае команда не будет выполняться. Если поставлена точка с запятой, то команда будет выполнена и результат будет выведен на экран дисплея. Если после конца команды стоит двоеточие, то результат не будет выведен на дисплей, а только сохраниться в памяти компьютера.
Аргументом команды является в общем случае последовательность математических выражений, над которыми, собственно говоря, и выполняется команда.
Команды Maple очень короткие и простые, по названию легко понять их назначение. Легко также получить справку по любой команде, записав ее предположительное название после знака вопроса и нажав клавишу Enter.
Например, следующим образом можно получить справку для команды expand:
> ?expand
Следующие примеры иллюстрируют действие некоторых команд. Командой combine можно упростить тригонометрическое выражение:
> combine(sin(x)^4-cos(x)^4);
Командой plot3d построить график поверхности (рис. 1).
> plot3d(sin(x*y),x=-Pi..Pi,y=-Pi..Pi);
Рис. 1.
Справочная система
Информацию о командах и основных принципах работы системы Maple вы можете получить различными способами. Вот лишь самые основные из них:
1. Контекстно-зависимая помощь.
2. Браузер помощи – очень удобный инструмент, позволяющий по темам и ключевым словам найти нужную информацию.
3. Тематический поиск.
4. Полнотекстовый поиск.
5. История – для возвращения к странице справке, просматривавшейся уже в текущем сеансе.
Интернет-совместимость
Maple
является первым универсальным математическим пакетом, который предлагает полную
поддержку стандарта MathML 2.0, который управляет как внешним видом, так и
смыслом математики в Интернет. Эта эксклюзивная функция делает текущую версию
MathML основным средством Интернет математики, а также устанавливает новый
уровень совместимости многопользовательской среды. TCP/IP протокол обеспечивает
динамический доступ к информации из других Интернет-сайтов, например, к данным
для финансового анализа в реальном времени и данным о погоде. [2]
Программа Mathcad сочетает в себе:
· набор мощных инструментов для технических расчетов с полиграфическим качеством написания формул;
· гибкий, полнофункциональный текстовый редактор.
С помощью
эффективной среды решения задач программы Mathcad можно выполнять работу и
демонстрировать результаты в одном и том же документе – на рабочей странице
Mathcad. Прекрасное взаимодействие с другими инженерными, графическими и бизнес
приложениями делает Mathcad необходимым элементом любого многогранного решения.
Мощные средства Интернет-опубликования ускоряет процесс ознакомления с
документами коллег и других Mathcad пользователей. [1]
В отличие от другого технического программного обеспечения Mathcad осуществляет математические расчеты в той же последовательности, в которой Вы их записываете. Вводятся уравнения, данные для построения графика функции и текстовые примечания в любом месте страницы, при этом математические выражения в Mathcad записываются в полиграфическом формате.
Единственная разница с обычным текстом, включающим математические формулы и графики состоит в том, что Mathcad уравнения и графики – «живые». Изменение значений переменных, данных графика или уравнений приведет к немедленному перевычислению рабочей страницы.
Набор математических функций и методов вычислений, входящих в Mathcad настолько велик, что его можно сравнить с математической энциклопедией с живыми формулами.
Например, Mathcad содержит все элементарные математические функции и большое количество специальных функций; обрабатывает данные, в том числе статистическими методами, находит подгоночные функции; строит двух- и трехмерные графики; решает численно и аналитически системы дифференциальных уравнений, как обыкновенных, так и с частными производными, а также решает множество других задач.
Вы
можете легко расширить вычислительную мощность Mathcad, используя
специализированные OLE объекты, позволяющие связываться с другими приложениями
и источниками данных. Например, конструкторские чертежи, созданные при помощи
программ SmartSketch и AutoCad, могут быть помещены в рабочий документ Mathcad
и взаимодействовать с переменными Mathcad. Обратно, Mathcad вычисления можно
интегрировать в другие приложения для решения задач или демонстрации идей.
Например, Excel Add-in для Mathcad позволяет вставлять Mathcad вычисления в
электронные таблицы Excel. Вы можете автоматизировать Ваши AutoCAD чертежи и
автоматически изменять их из Mathcad в соответствии со спецификациями. Вы
можете даже использовать Visual Basic и OLE объекты для создания независимых
приложений, включающих Mathcad вычисления. [1]
В стандартный комплект поставки Mathcad входят компоненты для связи со следующими приложениями: Excel, MATLAB, S-PLUS, Axum, и SmartSketch, которые требуют наличия соответствующих версий этих продуктов.
Существуют следующие интерактивные учебные материалы:
· Tutorials;
· QuickSheets;
· Reference Tables.
Tutorials (Учебники) могут быть полезны пользователям с любым опытом работы. Для начинающих имеется руководство, позволяющее шаг за шагом изучить правила построения и редактирования выражений, форматирования графиков, ввода и форматирования текста, работы с единицами физических величин, использования встроенных функций и операторов.
QuickSheets – набор рабочих документов для типичных графиков, вычислений и анализов. Вы можете найти готовые модели для большого количества Ваших задач и, меняя входные параметры, получать нужные Вам результаты.
Reference Tables (справочные таблицы) – содержат физические постоянные и математические формулы, Вы можете найти нужные Вам формулы без других математических или инженерных справочников.
Mathcad – это Интернет инструмент, помогающий использовать Интернет как ресурс и публиковать Ваши Mathcad электронные документы в HTML формате. Mathcad 12 включает расширения для математической нотации в HTML документах – язык MathML.
Арифметические действия в Mathematica производятся так же, как в электронном калькуляторе. Можно производить точные вычисления, а можно приближенные с любой степенью точности. Mathematica «помнит» все простые элементарные функции и может конструировать их алгебраические комбинации, а также итерации функций.
Предусмотрено удобное пользование предыдущим результатом.
Mathematica рассматривает т.н. списки - упорядоченные последовательности объектов. Такое упорядоченное множество принято заключать в фигурные скобки, в то время как аргументы функций берутся в квадратных скобках. Номер элемента в списке (а также мультииндексы координат тензора) записываются в двойные фигурные скобки). Так, если b вектор (упорядоченный набор чисел), то b[[4]]- четвертая координата этого вектора, если d-тензор валентности два, то d[[3,5]] означает координату тензора с мультииндексом 3,5.
Различные разделы математики собраны в соответствующие пакеты. Важной особенностью Mathematica является возможность ее расширения, т.е. при необходимости «включить» новый пакет, содержащий недостающие функции или алгоритмы.
Mathematica может производить символьные вычисления, т.е. алгебраические вычисления над буквенными объектами. Весьма удобны операции с многочленами одного или нескольких переменных. Mathematica производит все алгебраические действия над многочленами, включая операцию разложения на множители. С ее помощью можно (одной командой) решить уравнение – алгебраическое или трансцендентное. Машина делает это либо по известной формуле, либо применяет методы (алгоритмы) численного анализа.
Особенным понятием Mathematica, не имеющем, пожалуй, соответствия в математической науке, является понятие шаблона (pattern). С помощью этого понятия возможны упрощения в программировании на языке Mathematica.
Задачи дифференциального и интегрального исчислений также являются объектами применения алгоритмов и методов системы Mathematica. С ее помощью можно интегрировать, дифференцировать, решать дифференциальные уравнения (численно и, когда это возможно, аналитически).
Очень удобны способы построения графиков функций. Можно строить графики в двумерном и трехмерном пространстве, можно строить графики неявных функций, поверхности уровня функций - и все это в различных модификациях. Иногда удобно иллюстрировать график функции, зависящей от параметра несколькими графиками, соответствующими различным параметрам.
После этого, включив анимацию, получаем своеобразное кино, движущиеся во времени кривые или другие объекты.
Система Mathematica может воспроизводить звук и делать анализ Фурье данных функций.
Предусмотрены связи Mathematica c такими пакетами как TEX, FORTRAN и др.
Имеется возможность перестраивать графики и картинки из Mathematica в другие форматы. Например, можно перенести причудливый график функции в трехмерном пространстве в статью, написанную в системе Word.
Разумеется, предусмотрены обмены данными с другими программами.
Хорошо представлена в Mathematica линейная алгебра. Легко и удобно записываются сами матрицы, их матричные произведения, определители, миноры и пр. Добавим, что такая «многоходовая» задача, как задача линейного программирования решается в Mathematica одной командой (ConstrainedMin).
Удобный Help может дать пользователю описание любой команды из Mathematica.
4. MATLAB.
Для сотен тысяч специалистов в различных отраслях промышленности, занятых инженерными и научными исследованиями, система MATLAB обеспечила превосходную среду для организации вычислений.
Система MATLAB применяется в таких курсах как алгоритмы и численные методы, линейная алгебра, прикладная математика, теория управления, цифровая обработка сигналов и изображений, курсах по специальностям.
Зарождение системы MATLAB относится к концу 70-х годов, когда первая версия этой системы была использована в Университете Нью Мехико и Станфордском университете для преподавания курсов теории матриц, линейной алгебры и численного анализа. В это время активно разрабатывались пакеты прикладных программ по линейной алгебре LINPACK и EISPACK на языке FORTRAN, и авторы системы MATLAB искали способы использовать эти пакеты, не программируя на языке FORTRAN.
Сейчас возможности системы значительно превосходят возможности первоначальной версии матричной лаборатории Matrix Laboratory. Нынешний MATLAB - это высокоэффективный язык инженерных и научных вычислений. Он поддерживает математические вычисления, визуализацию научной графики и программирование с использованием легко осваиваемого операционного окружения, когда задачи и их решения могут быть представлены в нотации, близкой к математической.
Наиболее известные области применения системы MATLAB:
· математика и вычисления;
· разработка алгоритмов;
· вычислительный эксперимент, имитационное моделирование, макетирование;
· анализ данных, исследование и визуализация результатов;
· научная и инженерная графика;
· разработка приложений, включая графический интерфейс пользователя.
MATLAB - это интерактивная система, основным объектом которой является массив, для которого не требуется указывать размерность явно. Это позволяет решать многие вычислительные задачи, связанные с векторно-матричными формулировками, существенно сокращая время, которое понадобилось бы для программирования на скалярных языках типа C или FORTRAN.
Версия MATLAB 5.3 - это последнее достижение разработчиков; она содержит существенные изменения и улучшения в каждом разделе, начиная от встроенных математических функций и новых конструкций программирования и заканчивая новыми структурами данных, объектно-ориентированным подходом, новыми средствами визуализации и графическим интерфейсом пользователя.
Одно из назначений математики - служить языком общения между учеными и инженерами. Матрицы, дифференциальные уравнения, массивы данных, графики - это общие объекты и конструкции, используемые как в прикладной математике, так и в системе MATLAB. Именно эта фундаментальная основа обеспечивает системе MATLAB непревзойденную мощь и доступность.
Система MATLAB - это одновременно и операционная среда, и язык программирования. Одна из наиболее сильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы для многократного использования. Пользователь может сам написать специализированные функции и программы, которые оформляются в виде М-файлов. По мере увеличения количества созданных программ возникают проблемы их классификации и тогда можно попытаться собрать родственные функции в специальные папки. Это приводит к концепции пакетов прикладных программ, которые представляют собой коллекции М-файлов для решения определенной задачи или проблемы.
Операционная среда системы MATLAB 5 - это множество интерфейсов, которые поддерживают связь этой системы с внешним миром. Это диалог с пользователем через командную строку или графический интерфейс, просмотр рабочей области и путей доступа, редактор и отладчик М-файлов, работа с файлами и оболочкой DOS, экспорт и импорт данных, интерактивный доступ к справочной информации, динамическое взаимодействие с внешними системами Microsoft Word, Excel Microsoft Word, Excel и др. Реализуются эти интерфейсы через командное окно, инструментальную панель, системы просмотра рабочей области и путей доступа, редактор/отладчик М-файлов, специальные меню и т.п.
MATLAB выполняет множество компьютерных задач для поддержки научных и инженерных работ, начиная от сбора и анализа данных до разработки приложений. Среда MATLAB объединяет математические вычисления, визуализацию и мощный технический язык. Встроенные интерфейсы позволяют получить быстрый доступ и извлекать данные из внешних устройств, файлов, внешних баз данных и программ. Кроме того, MATLAB позволяет интегрировать внешние процедуры, написанные на языках С, С++, Fortran и Java с вашими MATLAB-приложениями.
Основные функции:
· быстрые и точные численные алгоритмы;
· графика для анализа и отображения данных;
· интерактивный язык и среда программирования;
· инструменты для настройки пользовательских интерфейсов;
· интерфейсы с внешними языками, такими как С, С++, Fortran и Java;
· поддержка импорта данных из файлов и внешних устройств плюс доступ к базам данных и вспомогательному оборудованию при помощи приложений;
· преобразование MATLAB приложений в С и С++ при помощи набора Compiler Suite.
Этот широкий набор возможностей делает MATLAB идеальной базой для решения технических проблем.
Среда MATLAB спроектирована для интерактивных или автоматических вычислений. Используя встроенные математические и графические функции и простые в использовании инструменты вы можете анализировать и отображать ваши данные на лету. Структурированный язык и программные инструменты позволяют сохранить результат ваших интерактивных исследований, разрабатывать собственные алгоритмы и приложения.
Пользователи, работающие в широком спектре применений с различным уровнем сложности находят MATLAB эффективной и гибкой средой, расширяемой в соответствии с их нуждами. Используя интерфейс MATLAB, вы можете настроить его для удовлетворения вашего стиля работы и избирательного использования функций, необходимых вам для каждой фазы проекта.
Каждый инструмент в интерфейсе MATLAB является связующим звеном с определенным аспектом среды MATLAB.
Гибкая, интуитивная среда для интерактивных исследований. С помощью MATLAB вы можете экспериментировать интерактивно, проверяя ваши идеи, применяя набор аналитических и графических функций. В новом интерфейсе MATLAB 6 вы можете получить быстрый доступ к файлам данных, программам, графикам, интерактивной справке и так далее. Вы можете так настроить интерфейс, чтобы он включал инструменты, которые вы используете наиболее часто. Эта конфигурация интерфейса включает окно команд (Command Window), окно ранее использованных команд (Command History), окно запуска, браузер рабочей среды и редактор массивов.
Доступ к демонстрациям, справке и инструментам Окно запуска (Launch Pad) отображает список продуктов, инсталлированных в вашей системе. В окне запуска можно просмотреть также демонстрации ваших продуктов, вызвать справку и примеры. Например, вы можете вызвать демонстрационное окно MATLAB, чтобы увидеть функции MATLAB в действии, или получить доступ к интерфейсу приложения Signal Processing Tool (SPTool), чтобы просмотреть и проанализировать векторные данные. Новая система MATLAB 6 содержит документацию с гиперсвязями для всех инсталлированных продуктов.
Быстрое создание прототипов и проектирование Редактор / Отладчик m-файлов позволяет быстро просмотреть, разработать и отладить программу MATLAB. Этот рисунок показывает streamrib.m файл. Используя меню, вы можете выбрать сегмент кода для запуска в окне команд. Большая часть MATLAB программ разработаны и распространяются как читаемые M-файлы, так что вы можете прочитать исходный код, изучить его и изменить для своих приложений. Вы можете легко добавить ваши собственные функции и связаться с внешними программами и источниками данных.
MATLAB содержит много функций для осуществления математических вычислений и анализа данных включая:
1. Линейную алгебру и арифметику матриц, линейные уравнения, собственные значения, сингулярные значения и матричные разложения.
2. Полиномы и интерполяцию – стандартные полиномиальные операции, такие как вычисление корней полиномов, дифференцирование, аппроксимация кривыми и разложение функций.
3. Обработка сигналов – цифровые фильтры, быстрое преобразование Фурье и свертка.
4. Анализ данных и статистика – описательная статистика, предварительная обработка данных, регрессия, аппроксимация кривыми, фильтрация данных.
5. MATLAB-функции, работающие не с массивами данных, а с математическими функциями, включая функции построения графиков, оптимизации, нахождения нулей и численного интегрирования.
6. Дифференциальные уравнения – решение дифференциальных уравнений, включая задачи с начальными значениями для обыкновенных дифференциальных уравнений и дифференциально-алгебраические уравнения, а также задачи с граничными условиями и смешанного типа для систем эллиптических и параболических уравнений с частными производными.
7. Разреженные матрицы – включая как специальные, так и общие математические операции, в том числе итеративные методы для разреженных систем линейных уравнений.
MATLAB содержит специализированные графики, используемые в науке и технике, помогающие понять сложные системы, начиная от линий на плоскости и контурных графиков и кончая интерактивными графическими пользовательскими интерфейсами. С помощью MATLAB вы можете настроить фактически любой аспект вашего графика и создать высококачественную графику для публикуемой живой презентации.
MATLAB обеспечивает немедленный доступ к специализированным графическим функциям, включая:
· двух- и трехмерные графики, такие как линейные, логарифмические, гистограммы, графики поверхностей различного типа (проволочный каркас, гладкие, кусочно-гладкие и др.);
· поддержка триангулированных и решетчатых данных;
· объемная визуализация для наблюдения скалярных и векторных данных;
· вывод изображений на экран и в файл;
· интерактивное редактирование и аннотирование графиков;
· аппаратная и программная поддержка OpenGL;
· различного вида диаграммы: рассеяния, столбчатые, секторные и др.;
· анимация (мультипликация) и звук;
· различные источники освещения для цветных поверхностей;
· наблюдение при помощи камер и управление перспективой;
· интерактивное и программируемое управление индивидуальными атрибутами графиков, такими как линии, оси, легенды и параметры страницы;
· освещение прямым источником, по методу Гуро и Фонга;
· инструменты построения при помощи мыши графического пользовательского интерфейса и поддержка API;
· импортирование графических файлов известных форматов, таких как EPS, TIFF, JPEG, PNG, BMP, HDF, AVI и PCX;
· печать и экспорт графики в другие приложения, такие как Word и PowerPoint, в различных популярных форматах;
· расширенная поддержка цифровой обработки изображений и приложения географического картографирования при помощи тулбоксов.
MATLAB содержит полный набор инструментов для визуализации трехмерных скалярных и векторных данных, включая функции создания изоповерхностей и линий тока. Эти функции предназначены, чтобы помочь ученым и инженерам наблюдать и понимать большие, часто сложные многомерные данные.
Дополнительные приложения, такие как Image Processing Toolbox и Mapping Toolbox, расширяют возможности MATLAB для применений, включающих цифровую обработку данных и географическую картографию.
Вы используете тот же самый язык в MATLAB при интерактивных вычислениях и при разработке программ в редакторе-отладчике. Эта совместимость позволяет изучать только один язык и синтаксис, ваша интерактивная работа может быть сохранена и использована для будущих проектов без повторного программирования.
MathWorks разрабатывает и поставляет множество специализированных приложений – тулбоксов и других продуктов, расширяющих возможности MATLAB для применения в:
· тестировании и измерениях;
· математическом моделировании и анализе;
· обработке сигналов;
· обработке изображений и картографии;
· распространении MATLAB приложений в кодах С, С++ и другие.
Сравнительная таблица
|
Maple |
Mathcad |
Mathematica |
MATLAB |
Особенности
|
это университетская
компьютерная математика, символьный
пакет |
это математика технических вузов, опирающаяся на число. Mathcad - универсальный, но не специализированный пакет, быстрее работает с численными данными. Включает в себя ядро Maple для проведения символьных вычислений |
визуализация
различных математических объектов, символьных вычислений |
численный пакет, реализует возможности моделирования физических и механических
процессов |
Интерфейс |
имеются опции разбиения на параграфы, разделы, добавления гиперссылок, закладок |
можно выполнять работу и
демонстрировать результаты в одном и том же документе – на рабочей странице
Mathcad |
различные разделы математики собраны в соответствующие пакеты, есть возможность расширения, т.е. при необходимости «включить» новый пакет, содержащий недостающие функции или алгоритмы. Особенностью является понятие шаблона, С
помощью которого возможны упрощения в программировании |
конфигурация интерфейса включает окно команд,
окно ранее использованных команд, окно запуска, браузер рабочей среды и
редактор массивов. Быстрый доступ к файлам данных, программам, графикам,
интерактивной справке |
Вычисления |
выполняет арифметические действия,
вычислительные операции с комплексными числами, вычисляет конечные и
бесконечные суммы и произведения, легко приводит комплексное число к числу в
полярных координатах |
содержит все элементарные математические функции
и большое количество специальных функций; обрабатывает данные, в том числе
статистическими методами; решает численно и аналитически системы
дифференциальных уравнений, а также решает множество других задач |
арифметические действия производятся так же, как в электронном калькуляторе. Можно производить точные вычисления, а можно приближенные с любой степенью точности |
содержит много функций для осуществления математических вычислений и анализа данных, включая: линейную алгебру и арифметику матриц, полиномы и интерполяцию, анализ данных и статистика, регрессия, аппроксимация кривыми |
Графика |
достаточно иметь только вид
функции одной или двух переменных, чтобы строить самые сложные графики и
поверхности, допустима визуализация данных из векторов и матриц |
фактически нет графиков
функции, а есть только визуализация данных,
хранящихся в векторах и матрицах |
двух- и трехмерные графики, можно строить графики неявных функций, поверхности уровня функций, анимация и звук |
двух- и трехмерные графики, объемная визуализация, диаграммы различного вида, анимация и звук, расширенная поддержка цифровой обработки
изображений и приложения географического картографирования при помощи
тулбоксов |
Программирование |
язык Maple оснащен средствами отладки, чего нет у языка Mathcad; сразу подгружаются библиотеки, предоставляется пользователю возможность работы с единицами измерений. Многие функции и операторы
не корректно работают с размерными аргументами и операндами |
многие функции и операторы не корректно работают с размерными аргументами и операндами |
|
|
Взаимодействие с другими приложениями
|
программный пакет finance предназначен для финансовых вычислений |
специализированные OLE объекты позволяют
связываться с другими приложениями и источниками данных. В стандартный
комплект поставки Mathcad входят компоненты для связи с приложениями Excel,
MATLAB, S-PLUS, Axum, и SmartSketch |
Предусмотрены связи c такими пакетами как TEX, FORTRAN и др. Имеется возможность перестраивать графики и картинки из Mathematica в другие форматы. Предусмотрены обмены данными с другими программами |
множество специализированных приложений –
тулбоксов и других продуктов, расширяющих возможности MATLAB |
Какой же пакет выбрать?
Mathcad в каком-то смысле универсальный, но не специализированный пакет. В нем есть и средства решения уравнений и систем, и средства оптимизации, и научная графика, и символьная математика, и линейная алгебра, и статистика, и многое другое. Однако если пользователю, к примеру, нужно углубиться в символьную математику, то ему лучше работать не с Mathcad, а с Maple. Серьезные задачи линейной алгебры требуют MatLab и т.д. MatLab и Mathematica стоят почти на порядок дороже Mathcad.
Mathematica "может больше" по части визуализации различных математических объектов, символьных вычислений. MathCad быстрее работает с численными данными, однако включает в себя и ядро Maple для проведения символьных вычислений, MatLab реализует возможности моделирования физических и механических процессов и также является численным пакетом.
MatLab
Система изначально была предназначена для численных вычислений. С течением времени количество возможностей MatLab существенно возросло, появились библиотеки, которые реализуют уникальные для математических пакетов функции. Например, широко известная библиотека Simulink, реализуя принцип визуального программирования, позволяет, не написав ни строчки кода построить функциональную схему системы управления из стандартных блоков (усилитель, сумматор, интегратор и т.д.) и проанализировать ее работу.
MatLab отличается высокой скоростью численных вычислений.
Из недостатков следует отметить невысокую интегрированность среды, не совсем удачный Help и специфический редактор кода MatLab-программ.
MathCad
Весьма своеобразная САE-программа. Давно завоевал популярность как непревзойденный редактор математических текстов. В MathCad нет как такового языка программирования. Вычисления осуществляются на уровне визуальной записи выражений в общеупотребительной математической форме. "Движок" символьных вычислений заимствован из Maple. MathCad хорош для небольшого объема вычислений, он предоставляет широкие возможности для оформления работы в привычном виде. Большие возможности импорта/экспорта данных, интеграция с Internet, возможность работы с электронными таблицами Excel внутри MathCad-документа.
Maple
Это, пожалуй, самая удачно сбалансированная система, бесспорный лидер по возможностям символьных вычислений. Оригинальный символьный "движок" сочетается с легкозапоминающимся структурным языком программирования. Maple легко может быть использован и для небольших задач и для серьезных проектов.
Большой "плюс" Maple - высокая интеграция среды, отличный Help.
К недостаткам следует отнести иногда необоснованную "задумчивость" системы.
Maple
Повышена скорость вычислений и построения графики, путем более широкой поддержки вычислений с использованием сопроцессора.
Maple также использует технологию OpenGL для построения 3D-графики, есть возможность экспорта графики в VRML-формат.
Еще более улучшена система помощи. Добавлены палитры быстрого ввода выражений.
В рабочий документ можно
встроить электронную таблицу для символьных вычислений, но возможности работы с
ней ограничены. Экспорт/импорт с традиционными электронными таблицами напрямую
невозможен.
Заключение
В этой теме мы рассмотрели: такие математические пакеты как Excel, Maple, Mathcad, Mathematica, MATLAB, их основные характеристики, назначение, возможности и отличительные характеристики каждого пакета.
В следующей теме мы рассмотрим этапы моделирования, дискретную арифметику и ее особенности, системы символьных вычислений и графическое представление результатов.
Литература:
3. Городецкая Н.В. Системный анализ. Практикум (часть 2): Учеб. пособие / Под ред. Л.И. Долинера. Екатеринбург: Рос. гос. проф.-пед. ун-т, 2003. 64 с.