Какие программные средства могут быть использованы для реализации компьютерной математической
Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Михайлов Дмитрий Юрьевич
Инженерная сфера требует использования программных средств моделирования, тестирования и отладки управляющих программ. Критериями выбора являются возможности ПО, его ресурсные ограничения, стоимость, доступность справочного материала. Проводится краткий обзор используемых для этих целей приложений.
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Михайлов Дмитрий Юрьевич
Использование свободных программ в научных исследованиях Выполнение научно-технических расчетов с помощью свободно распространяемых программ Операционная система в техническом университете: проблема выбора Готовность педагога к использованию систем компьютерной математики в учебном процессе Инструментарий моделирования динамики летательного аппарата i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.BRIEF REVIEW OF MATHEMATICAL SOFTWARE
Engineering requires software tools for modeling, testing and control program debugging. The selection criteria are software capabilities, software resource limitations, cost, availability of reference materials. The article provides brief review of applications used for these purposes.
Текст научной работы на тему «Краткий обзор математического программного обеспечения»
Moiseev Anton Stanislavovich, the head of department, asmoiseev 71 @yandex. ru, Russia, Tula, JSC «KBP»
КРАТКИЙ ОБЗОР МАТЕМАТИЧЕСКОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
Инженерная сфера требует использования программных средств моделирования, тестирования и отладки управляющих программ. Критериями выбора являются возможности ПО, его ресурсные ограничения, стоимость, доступность справочного материала. Проводится краткий обзор используемых для этих целей приложений.
Ключевые слова: компьютерное моделирование, программное обеспечение, инженерные расчеты.
В настоящее время технические устройства любых назначений и свойств широко распространены во всем мире. В качестве одного из наиболее распространённого способа для отработки модели изделия, удешевления производства, а также для упрощения процесса испытаний используют компьютерное моделирование.
Важными критериями выбора необходимого программного обеспечения (ПО) являются функциональные возможности, ресурсные ограничения, стоимость продукта, лицензионные ограничения, доступность литературы. Существует множество математических программ, позволяющих заниматься совершенно разными техническими задачами - от калькулятора, работающего с числами и буквенными выражениями, до приложений, позволяющих смоделировать целые динамически изменяющиеся системы. Остановимся на некоторых из них.
Программа Macsyma (Massachusetts computation symbolic algebra) (рис. 1) - одна из первых оперирующих символьной математикой математических программ, что позволяет вести расчеты не только численно, но и аналитически. Приложение является развитым аппаратом линейной алгебры и дифференциальных уравнений, ориентированным не на теоритиче-ские исследования, а на прикладные расчеты. Следствием этого является отсутствие (сокращение) разделов, связанных с теорией (теория групп, теория чисел и др.).
В качестве одного из главных преимуществ этого приложения можно отметить возможность пользователем решать аналитически и численно большое количество различных типов уравнений в частных производных [4].
Macsyma работает в интерактивном режиме - команды и результат отображаются в командной строке.
Рис. 1. Интерфейс пользователя в виде рабочей тетради
Для решения специализированных задач программа имеет специальные пакеты расширений: графика, геометрический пакет, прикладная математика, векторное исчисление, интегральные преобразования, обыкновенные дифференциальные уравнения, интегральные уравнения, а также обработка данных [4].
Данный инженерный программный продукт может иметь применение в школьном учебном процессе, а также при ведении расчетов без использования визуального программирования процессов.
Mathcad (рис. 2) - программное средство для выполнения на компьютере математических расчетов, имеющее простой в работе и освоении графический интерфейс. Инструментарий приложения позволяет работать с формулами, текстами, графиками, числами. МаШсаё имеет большое количество логических функций, а также операторов, позволяющих проводить вычисления как численно, так и символьно, операции с векторными, скалярными величинами, матрицами. Также имеется возможность перевода единиц измерения [5].
МаШсаё имеет широкие возможности: решение дифференциальных уравнений, построение графиков, использование греческого алфавита, символьные операции, работа с векторами и матрицами, аппроксимация, поиск корней функций и многочленов, работа с единицами измерения.
В качестве достоинства программы можно отметить автоматизацию процесса вычисления, удобный интерфейс программы, интеграцию численных и символьных математических инструментов, поддержку работы с единицами измерения физических величин.
Для решения каких-либо специализированных задач возможности программ могут расширяться пакетами, имеющими дополнительные функции и константы: пакет для анализа данных, обработки сигналов, изображений и многое другое.
Рис. 2. Программа Mathcad
MathCad позволяет работать с данными программ Машой Excel, MatLab, ANSYS ШогкЬепсЬ Результаты всех вычислений сохраняются в рабочих листах с возможностью преобразования в ряд форматов, включая MS ШоМ, XML, PDF и HTML.
Приложение имеет широкое применение при решении инженерных задач, создании интерактивных документов для обучения, визуализации вычислений. К недостаткам ПО относятся: невозможность построения параметрически заданных поверхностей с непрямоугольной областью определения параметров, отсутствие библиотек для визуального моделирования, отсутствие автоматического переноса длинных уравнений.
Octave (рис. 3) был задуман в 1988 году как программное обеспечение для изучения химической конструкции реактора и представляет собой интерактивный командный интерфейс.
Рис. 3. Программа Octave
ПО поддерживает работу со всеми основными ОС [3], данные в которых представляются в виде матриц. Ойауе включает в себя функции для дифференцирования, интегрирования, а также численного и аналитического решения нелинейных систем и уравнений. Приложение позволяет решать разнообразные задачи при помощи инструментов оптимизации, анализа и обработки данных эксперимента, идентификации, и т.д.
К недостаткам данного ПО для его применения в моделировании систем автоматического управления (САУ) можно отнести отсутствие библиотек для визуализации модели, а также только численное решение математических задач, что не всегда дает необходимую точность.
LabVIEW (ЬаЬога1;огу Virtual Instrument Engineering ШогкЬепеИ) -это коммерческий продукт, появившийся на рынке в 1986 году, являющийся средой графического программирования, выпущенной для инженеров, преподавателей, технических специалистов, ученых. Приложение позволяет разрабатывать прикладное ПО для организации связи с управляющей и измерительной аппаратурой, сбора, обработки, отображения информации и результатов, а также моделирования систем и их объектов.
Одной из «изюминок» программы является возможность создания виртуальной панели приборов, что превращает персональный компьютер и набор произвольного контрольно-измерительного оборудования в многофункциональный измерительно-вычислительный комплекс. Пакет также может работать с данными программ MathCad, MatLab, Sci^s. Программа LabVEIW является средой графического программирования, что означает сведение работы к созданию блок-диаграмм и в дальнейшем - к компиляции в бинарный исполняемый код.
К недостаткам LabVIEW - системы относятся сложность в освоении и большая стоимость лицензии, так как первоначально пакет был создан для использования в исследовательских лабораториях фундаментальной науки (например CERN в Европе), а также в отраслевых промышленных лабораториях.
SciLab (рис. 4). ПО разрабатывалось исследовательскими институтами INRIA и ENPC, а с мая 2003 г. Scilab Сошогйит взял на себя поддержку этого продукта [7].
Хотя Scilab распространяется с открытым исходным кодом и бесплатно, его возможности вычисления вполне сравнимы с компьютерными математическими системами профессионального уровня.
Являясь некоммерческим аналогом инженерного ПО MatLab, Scilab имеет схожий с ним интерфейс, принципы взаимодействия с пользователем (через командную строку), то есть, по сути, является облегченным вариантом вышеупомянутого коммерческого приложения с сохранением основных возможностей [13]. К специальным функциям, поддерживаемым Scilab, относятся функции сглаживания и аппроксимации, функции Бесселя, эллиптические интегралы, а также возможность работы с матричными и обычными полиномами. Scilab предназначен почти исключительно для реализации численных методов и по умолчанию оперирует с любыми значениями как с числами с плавающей точкой, что также является его особенностью.
Рис. 4. Программа Scilab
Приложение имеет профессионально выполненную графическую часть, позволяющую выводить поток данных как во внешние файлы, так и на экран.
Scilab содержит полноценную справочную систему с полным справочником по функциям в HTML-формате, а также с коллекцией примеров.
Хотя Scilab является типичным интерпретатором, его стандартные средства включают некоторые интерактивные возможности, делающие процесс общения с системой более простым и наглядным, например, создание диалоговых окон, выполнение файловых операций и ввод матриц.
SciLab обеспечивает широкий набор дополнительных инструментов: моделирование систем в режиме реального времени, бибилотеки для численных расчетов, работы в области робототехники, летательных аппа-
ратов, построения графиков. Также имеются узкоспециализированные пакеты для анализа динамических систем, цифровой обработки сигналов, оптимизации.
В качестве входных данных инженерный пакет SciLab использует полученную из программ Maple, MatLab, LabVIEW информацию.
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.Модуль Sci^, входящий в состав данного ПО, - это система компьютерного моделирования, аналогичная Simulink - инструменту для редактирования блочных диаграмм и симуляции.
ПО поддерживает взаимодействие с кодом на языках С и РоНтап, а также имеет возможность отладки процесса моделирования, что дает возможность получать информацию о переменных по ходу выполнения процедуры.
Среди недостатков, присущих пакету, можно отметить следующие: слабая поддержка аналитических операций, ограничение количества символьно-аналитических операций, неинтерактивность отладчика.
Таким образом, можно сделать вывод, что данное ПО позволяет создавать недорогие конкурентоспособные решения в области численной реализации алгоритмов и обработки данных. Возможности SciLab хорошо подходят для ведения научных расчетов и анализа полученной информации в области физики, энергетики, химии.
Одной из старейших программ (создана в 70-е гг. прошлого века) для систем автоматизации математических расчетов является Matlab (рис. 5). Она основана на расширенном применении и представлении матричных операций.
Рис. 5. Программа Matlab
Язык Matlab - высокоуровневый интерпретируемый язык программирования, включающий матричные структуры данных, интегрированную среду разработки, обширный спектр возможностей, объектно-ориентированные функции и интерфейсы к программам, которые созданы при помощи других языков программирования.
Различают два типа программ, созданных при помощи пакета Matlab - скрипты и функции. Функции содержат входные и выходные аргументы, а также свое рабочее пространство для сохранения промежуточных результатов расчетов и переменных. В свою очередь, скрипты оперируют общим рабочим пространством. Кроме того, можно сохранить pre-parsed - программы - функции и скрипты, которые обработаны в виде, удобном для машинного исполнения, выполняющиеся значительно быстрее обычных.
Расширить функции Matlab помогает возможность создания специальных наборов инструментов. Они представляют собой коллекцию функций, которые написаны на языке Matlab для решения специализированных задач. В частности, это:
- цифровая обработка сигналов, изображений и данных: DSP Тоо1Ьох;
- системы управления: Control Systems Тоо1Ьох;
- сбор и анализ экспериментальных данных: Data Acquisitiоn ТооШох;
- набор инструментов для визуализации и представления данных: Virtual Reality ТооШох;
- инструменты для синтеза и анализ нейронных сетей: Neural Net^^rk ТооШох [1].
К совместимым с Matlab программам относятся: GNU ОctaveMaxima, FreeMat, Scilab, Maple, Таблицы Exce1.
Matlab включает в свой состав библиотеку визуального программирования Simulink. Это позволяет построить логическую схему системы управления, используя стандартный набор блоков. Закончив конструирование схемы, можно детально проанализировать ее работу. Значения параметров, сигналы и атрибуты схемы отображаются непосредственно на самой схеме или вводятся из текстовой консоли. Программа Matlab осуществляет работу с различными типами данных: вещественными, целыми, матрицами, с фиксированной запятой, комплексными, векторами, при этом также работает и с пользовательскими типами данных.
Matlab является инженерным пакетом высокого уровня, который тщательно отлажен. Он широко используется в различных сферах инженерных расчетов, научных исследований, а также проектировании систем автоматического управления.
Библиотеки программы Matlab обладают высокой скоростью численных вычислений. Основой составлений уравнений состояния динамических объектов и систем, а также автоматического решения и являются матрицы. Пакет Matlab - один из наиболее мощных и универсальных интегрированных пакетов компьютерной математики [1].
Кроме того, эта программа обладает хорошей справочной системой. Фирменная документация содержит почти 5 тысяч страниц, что, правда, делает ее труднообозримой. Стоит отметить, продукт является коммерческим и не имеет открытого программного кода, а также имеет высокую стоимость лицензии.
Matlab широко используется в науке, технике и образовании. Он дает возможность анализировать данные, которые охватывают практически все области математики: многочлены и интерполяция, матрицы и линейная алгебра, математическая статистика и анализ, дифференциальные уравнения, обработка данных, разреженные матрицы.
Обширные возможности визуализации данных также предоставлены в Matlab. В его составе есть достаточное количество функций, чтобы построить графики, в том числе трёхмерные, провести визуальный анализ данных и создать анимированные ролики.
Matlab - одна из самых глобальных программ компьютерной математики, которая вобрала опыт, правила и методы математических вычислений, объединила знания за тысячи лет развития математики. Документацию системы вполне можно считать фундаментальным многотомным электронным справочником по математическому обеспечению [1].
SimlnTech - российская система модельно-ориентированного проектирования САУ. Программное обеспечение SimInTech состоит из графической среды разработки и исполнительной системы реального времени NordWind. SimInTech - среда создания математических моделей, интерфейсов управления и алгоритмов управления.
SimInTech предназначен для подробного исследования и анализа нестационарных процессов в различных объектах управления. Приложение позволяет решать задачи моделирования энергетических объектов, а также транспортных, нефтегазовых и др. Возможности SimInTech позволяют также создавать тренажеры [8].
На данный момент SimInTech проигрывает Matlab в количестве дополнительных модулей для специализированных задач.
Данный обзор включает в себя далеко не все приложения, позволяющие заниматься инженерными расчетами и математическим моделированием. Современные математические и инженерные пакеты могут быть успешно использованы для совершенно разных задач. В зависимости от поставленных целей и имеющихся ресурсов пользователь может как заниматься расчетами формул в пакете Mathcad, так и моделировать динамику объекта в SciLab. Среди представленных в обзоре вариантов программного
обеспечения наиболее мощный и развитый инструментарий имеет ПО Matlab, что позволяет ему максимально эффективно выполнять задачи расчетов, моделирования и отладки сложных технических систем.
1. Дьяконов В. П. MATLAB. Полный самоучитель. М.: ДМК Пресс, 2012. 768 с.
2. В.Ф. Худяков, В. А. Хабузов. Моделирование источников вторичного электропитания в среде MATLAB 7.x: учеб. пособие. СПб.: ГУАП, 2008. 332 с.
3. Алексеев Е.Р., Чеснокова О.В. Введение в Octave для инженеров и математиков. М.: ALT Linux, 2012. 368 с.
4. Чичкарёв Е.А. Компьютерная математика с Maxima: руководство для школьников и студентов. М.: ALT Linux, 2012. 384 с.
5. Очков В.Ф. Теплотехнические этюды с Excel, Mathcad и Интернет, 2014. 336 с.
6. Макаров Е. Инженерные расчеты в MathCAD: учеб. курс. СПб.: Питер, 2003. 218 с.
7. Алексеев Е.Р., Чеснокова О.В., Рудченко Е.А. Scilab: Решение инженерных и математических задач. М.: ALT Linux; БИНОМ. Лаборатория знаний, 2008. 260 с.
8. Среда динамического моделирования технических систем SimlnTech. Практикум по моделированию систем автоматического регулирования / Б.А. Карташов, Е.А. Шабаев, О.С. Козлов, А.М. Щекатуров. ДМК Пресс, 2017. 424 с.
Михайлов Дмитрий Юрьевич, инженер, khkedratula. net, Россия, Тула, АО «КБП»
BRIEF REVIEW OF MATHEMATICAL SOFTWARE D. Y. Mikhailov
Engineering requires software tools for modeling, testing and control program de-hugging. The selection criteria are software capabilities, software resource limitations, cost, availability of reference materials. The article provides brief review of applications used for these purposes.
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.Key words: computer simulation, software, engineering evaluation.
Mikhaylov Dmitry Yuryevich, engineer, khkedratula. net, Russia, Tula, JSC «KBP»
Какая информационная модель называется математической?
- Записанные только на одном из формальных языков
- Построенная с использованием математических понятий и формул
- Любая описательная модель
- Любая знаковая модель
Вопрос 2
Какие математические модели называются компьютерными?
- Результат выполнения которых можно рассчитать только с помощью компьютера
- Реализованные на компьютере с помощью различных программных средств
- Имитирующие работу сложных систем
- Случайным образом генерирующие новые элементы системы
Вопрос 3
Какая математическая модель называется логической.
- Записанная на языке алгебры
- Записанная на языке геометрии
- Записанная на языке алгебры логики
- Построенная на основании описания
Вопрос 4
Какие программные средства из перечисленных, могут быть использованы для реализации компьютерной математической модели?
- Электронные таблицы
- Калькулятор
- Языки программирования
- Графические редакторы
- Математические пакеты
Вопрос 5
Какие требования учитываются при построении математической модели?
- Универсальность
- Адекватность
- Полнота
- Краткость
- Точность
- Экономичность
Вопрос 6
Какие компьютерные модели называют имитационными?
- Моделирующие работу систем с учетов всех их свойств
- Реализованные с использованием языка программирования
- Описывающие работу систем, параметры которых могут принимать случайные значения в определенных пределах.
- Реализованные с использованием средств визуализации
Вопрос 7
В чем заключается главное преимущество компьютерных математических моделей перед обычными?
- Их можно быстро задать
- Они всегда верны
- Скорость расчета при различных параметрах
- Они короче
Вопрос 8
Какое действие алгебры логики изображено на данной схеме?
Вопрос 9
Какие зависимости можно формализовать используя язык алгебры?
Вопрос 10
Какому из требований не соответствует математическая модель, если её результат имеет слишком большую погрешность?
Современные математические пакеты можно использовать и как обычный калькулятор, и как средства для упрощения выражений при решении каких-либо задач, и как генератор графики или даже звука. Стандартными стали также средства взаимодействия с Интернетом, и генерация HTML-страниц выполняется теперь прямо в процессе вычислений. Теперь можно решать задачу и одновременно публиковать для коллег ход ее решения на своей домашней странице.
Рассказывать о программах математического моделирования и возможных областях их применения можно очень долго, но мы ограничимся лишь кратким обзором ведущих программ, укажем их общие черты и различия. В настоящее время практически все современные CAE-программы (Computer Aided Engineering, пакеты математического моделирования) имеют встроенные функции символьных вычислений.
Так что же делают эти программы и как они помогают математикам? С помощью описываемого ПО можно сэкономить массу времени и избежать многих ошибок при вычислениях. Отметим, что спектр задач, решаемых подобными системами, очень широк [2]:
Наиболее известными и приспособленными для математических символьных вычислений считаются следующие математические пакеты:
Пакет Mathematica, представленный на рисунке 1, повсеместно применяется при расчетах в современных научных исследованиях и получил широкую известность в научной и образовательной среде.
Несмотря на свою направленность на серьезные математические вычисления, системы класса Mathematica просты в освоении и могут использоваться довольно широкой категорией пользователей -- студентами и преподавателями вузов, инженерами, аспирантами, научными работниками и даже учащимся математических классов общеобразовательных и специальных школ. При этом широчайшие функции программы не перегружают ее интерфейс и не замедляют вычислений. Mathematica неизменно демонстрирует высокую скорость символьных преобразований и численных расчетов [3]. Программа Mathematica из всех рассматриваемых систем наиболее полна и универсальна, однако у каждой программы есть как свои достоинства, так и недостатки.
Рисунок 1. Mathematica
Таким образом, Mathematica -- это, с одной стороны, типичная система программирования на базе одного из самых мощных проблемно-ориентированных языков функционального программирования высокого уровня, предназначенная для решения различных задач (в том числе и математических), а с другой -- интерактивная система для решения большинства математических задач в диалоговом режиме без традиционного программирования. Mathematica, как система программирования, имеет все возможности для разработки и создания практически любых управляющих структур, организации ввода-вывода, работы с системными функциями и обслуживания любых периферийных устройств, а с помощью пакетов расширения появляется возможность подстраиваться под запросы любого пользователя.
К недостаткам системы Mathematica следует отнести разве что весьма необычный язык программирования, обращение к которому, впрочем, облегчает подробная система помощи.
Программа Maple -- своего рода патриарх в семействе систем символьной математики и до сих пор является одним из лидеров среди универсальных систем символьных вычислений. Она предоставляет пользователю удобную интеллектуальную среду для математических исследований любого уровня и пользуется особой популярностью в научной среде. Отметим, что символьный анализатор программы Maple является наиболее сильной частью этого ПО, поэтому именно он был позаимствован и включен в ряд других CAE-пакетов, таких как MathCad и MATLAB, а также в состав пакетов для подготовки научных публикаций Scientific WorkPlace и Math Office for Word [4].
Maple предоставляет удобную среду для компьютерных экспериментов, в ходе которых пробуются различные подходы к задаче, анализируются частные решения, а при необходимости программирования отбираются требующие особой скорости фрагменты. Пакет позволяет создавать интегрированные среды с участием других систем и универсальных языков программирования высокого уровня. Когда расчеты произведены и требуется оформить результаты, то можно использовать средства этого пакета для визуализации данных и подготовки иллюстраций для публикации. Для завершения работы остается подготовить печатный материал в среде Maple, а затем можно приступать к очередному исследованию. Работа проходит интерактивно -- пользователь вводит команды и тут же видит на экране результат их выполнения (рисунок 2). При этом пакет Maple совсем не похож на традиционную среду программирования, где требуется жесткая формализация всех переменных и действий с ними. Здесь же автоматически обеспечивается выбор подходящих типов переменных и проверяется корректность выполнения операций, так что в общем случае не требуется описания переменных и строгой формализации записи.
Рисунок 2. Maple
Maple -- это удачно сбалансированная система и бесспорный лидер по возможностям символьных вычислений для математики. При этом оригинальный символьный движок сочетается здесь с легко запоминающимся структурным языком программирования, так что Maple может быть использована как для небольших задач, так и для серьезных проектов.
К недостаткам системы Maple можно отнести лишь ее некоторую «задумчивость», причем не всегда обоснованную, а также очень высокую стоимость этой программы.
Система MATLAB, представленная на рисунке 3, относится к среднему уровню продуктов, предназначенных для символьной математики, но рассчитана на широкое применение в сфере CAE.
MATLAB -- одна из старейших, тщательно проработанных и проверенных временем систем автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций. Это нашло отражение и в самом названии системы -- MATrix LABoratory, то есть матричная лаборатория. Однако синтаксис языка программирования системы продуман настолько тщательно, что данная ориентация почти не ощущается теми пользователями, которых не интересуют непосредственно матричные вычисления.
Библиотеки MATLAB отличаются высокой скоростью численных вычислений. Однако матрицы широко применяются не только в таких математических расчетах, как решение задач линейной алгебры и математического моделирования, обсчета статических и динамических систем и объектов. Они являются основой автоматического составления и решения уравнений состояния динамических объектов и систем. Именно универсальность аппарата матричного исчисления значительно повышает интерес к системе MATLAB, вобравшей в себя лучшие достижения в области быстрого решения матричных задач. Поэтому MATLAB давно уже вышла за рамки специализированной матричной системы, превратившись в одну из наиболее мощных универсальных интегрированных систем компьютерной математики.
Рисунок 3. MATLAB
Из недостатков системы MATLAB можно отметить невысокую интегрированность среды (очень много окон, с которыми лучше работать на двух мониторах), не очень внятную справочную систему (объем фирменной документации достигает почти 5 тыс. страниц, что делает ее трудно обозримой) и специфический редактор кода MATLAB-программ (рисунок 4). Сегодня система MATLAB широко используется в технике, науке и образовании, но все-таки она больше подходит для анализа данных и организации вычислений, нежели для чисто математических выкладок.
В отличие от мощного и ориентированного на высокоэффективные вычисления при анализе данных пакета MATLAB, программа MathCad -- это, скорее, простой, но продвинутый редактор математических текстов с широкими возможностями символьных вычислений и прекрасным интерфейсом. MathCad не имеет языка программирования как такового, а движок символьных вычислений заимствован из пакета Maple. Зато интерфейс программы MathCad очень простой, а возможности визуализации богатые. Все вычисления здесь осуществляются на уровне визуальной записи выражений в общеупотребительной математической форме. Пакет имеет хорошие подсказки, подробную документацию, функцию обучения использованию, целый ряд дополнительных модулей и приличную техническую поддержку производителя. Однако пока математические возможности MathCad в области компьютерной алгебры намного уступают системам Maple, Mathematica, MATLAB. Однако по программе MathCad выпущено много книг и обучающих курсов. Сегодня эта система стала международным стандартом для технических вычислений, и даже многие школьники осваивают и используют MathCad.
Рисунок 4. MathCad
Для небольшого объема вычислений MathCad идеален -- здесь все можно проделать очень быстро и эффективно, а затем оформить работу в привычном виде (MathCad предоставляет широкие возможности для оформления результатов, вплоть до публикации в Интернете). Пакет имеет удобные возможности импорта/экспорта данных. Например, можно работать с электронными таблицами Microsoft MS Excel прямо внутри MathCad-документа [5].
В общем, MathCad -- это очень простая и удобная программа, которую можно рекомендовать широкому кругу пользователей, в том числе не очень сведущих в математике, а особенно тем, кто только постигает ее азы.
В качестве более дешевых, простых, можно отметить такие пакеты, как UMS, Microsoft MS Excel.
Когда-то системы символьной математики были ориентированы исключительно на узкий круг профессионалов и работали на больших компьютерах. Но с появлением ПК эти системы были переработаны под них и доведены до уровня массовых серийных программных систем. Сейчас на рынке сосуществуют системы символьной математики самого разного калибра -- от рассчитанной на широкий круг потребителей системы MathCad до компьютерных монстров Mathematica, MATLAB и Maple, имеющих тысячи встроенных и библиотечных функций, широкие возможности графической визуализации вычислений и развитые средства для подготовки документации.
Отметим, что практически все эти системы работают не только на персональных компьютерах, оснащенных популярными операционными системами Windows, но и под управлением операционных системы Linux, UNIX, Mac OS, а также на КПК [6].
Перейдем к пакетам наиболее часто используемых в школах при проведении уроков математики в старших классах. К ним относятся: Universal Math Solver (UMS), Microsoft MS Excel.
Программа UMS - "Универсальный математический решатель" позволяет решать задания из многих разделов алгебры и анализа. Знания "Универсального решателя" охватывают почти весь курс по алгебре и анализу средней школы и первых курсов вузов [7].
В отличие от ряда мощных математических пакетов, UMS доступен для быстрого изучения благодаря простому интерфейсу и расправляется с предложенными задачами исключительно "школьными" методами, оформляя все этапы решения так, как это бы сделал учитель (рисунок 5).
Если смотреть на практическую ценность Universal Math Solver шире, то приложение с успехом сослужит службу родителям, привыкшим контролировать выполнение домашних заданий ребёнком, и учителям математики. Последние могут использовать интерактивные возможности программы в учебном процессе, возлагая объяснение решений задач на "плечи" электронного педагога.
Universal Math Solver поставляется в двух редакциях - стационарной и сетевой. Стоимость годичной лицензии за одну инсталляцию первой версии составляет 3000 тенге, цена сетевой редакции - в три раза выше [8].
Рисунок 5. Universal Math Solve
К сожалению, в школьной практике нет возможности использовать такие мощные математические пакеты, как Mathematica, Mathcad, MathLab, Maple из-за дороговизны их лицензионных копий. Однако офисные приложения MS Office есть в каждой школе. Применение математической оболочки офисного табличного процессора MS Excel позволяет решать математические задачи высокой сложности.
В качестве программного средства моделирования может быть использована любая из существующих программных сред, однако принято использовать специфические программы, специально предназначенные для компьютерного моделирования.
Наиболее известные и применяемые программы численного моделирования.
MATLAB (сокращение от англ. «Matrix Laboratory») — пакет прикладных программ для решения задач технических вычислений, а также к используемый в этом пакете язык программирования. Работает на Windows, Linux и Mac OS. Язык MATLAB является высокоуровневым интерпретируемым языком программирования, включающим основанные на матрицах структуры данных, широкий спектр функций, интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования.
Имеет прекрасный аппарат представления результатов (графики самых разных типов, средства подготовки печатных документов и Web-страниц).
Simulink- интерактивный инструмент для моделирования, имитации и анализа динамических систем. Он дает возможность строить графические блок-диаграммы, имитировать динамические системы, исследовать работоспособность систем и совершенствовать проекты. Simulink полностью интегрирован с MATLAB, обеспечивая немедленным доступом к широкому спектру инструментов анализа и проектирования. Simulink также интегрируется с Stateflow для моделирования поведения, вызванного событиями. Эти преимущества делают Simulink наиболее популярным инструментом для проектирования систем управления и коммуникации, цифровой обработки и других приложений моделирования. В состав Simulink входят наборы Toolbox иBlockset содержащие готовые модели и специальные инструменты для моделирования, интегрирования и имитации различных систем.
MATHCAD – математический редактор, позволяющим проводить разнообразные научные и инженерные расчеты, начиная от элементарной арифметики и заканчивая сложными реализациями численных методов. Основным его достоинством является простота применения, наглядность математических действий, обширная библиотека встроенных функций и численных методов, возможность символьных вычислений, а также аппарат представления результатов (графики самых разных типов, средства подготовки печатных документов и Web-страниц),
Mathcad, в отличие от большинства других современных математических приложений, построен в соответствии с принципом WYSIWYG ("What You See Is What You Get" — "что Вы видите, то и получите"). Поэтому он очень прост в использовании, в частности, из-за отсутствия необходимости сначала писать программу, реализующую те или иные математические расчеты, а потом запускать ее на исполнение. Вместо этого достаточно просто вводить математические выражения с помощью встроенного редактора формул, причем в виде, максимально приближенном к общепринятому, и тут же получать результат.
VisSim — это универсальная система блочного имитационного визуально-ориентированного математического моделирования и одновременно – это визуальный язык программирования, предназначенный для моделирования динамических систем, а также проектирования, базирующегося на моделях, для встроенных микропроцессоров. Язык разработан американской компанией Visual Solutions. В настоящее время полностью интегрирован с MATHCAD.
SCILAB — пакет прикладных математических программ, предоставляющий открытое окружение для инженерных (технических) и научных расчётов. Был спроектирован как открытая система, и пользователи могут добавлять в него свои типы данных и операции. Scilab имеет схожий с MATLAB язык программирования. В состав пакета входит утилита, позволяющая конвертировать документы Matlab в Scilab. Программа доступна для Linux и Windows.
В состав пакета также входит инструмент для редактирования блочных диаграмм и симуляции Scicos (Scilab Connected Object Simulator) что обеспечивает возможность визуального моделирования динамических систем. Scicos является аналогом Simulink в пакете MATLAB.
Существует возможность совместной работы Scilab с программой LabVIEW.
LabView –программа моделирования систем и анализа данных National Instruments будет рассмотрена детально в последующих лекциях.
Контрольные вопросы к разделу 3
1. Методы моделирования систем, их достоинства и недостатки.
2. Какой метод исследования систем является наиболее точным?
3. Какой метод исследования систем является наиболее универсальным?
4. Какой метод позволяет выполнять исследование систем на моделях любой степени детализации?
5. Какие методы моделирования относятся к компьютерному моделированию?
6. Объясните термин «компьютерная модель».
7. В чем состоит разница между математической и структурно-функциональной моделью?
8. Какие модели называются имитационными?
9. В чем разница между количественными и качественными результатами моделирования?
Моделирование – это метод научного исследования явлений, процессов, объектов, устройств или систем, основанный на построении, изучении и использовании моделей с целью получения новых знаний, совершенствования характеристик объектов исследования или управления ими.
Моделирование необходимо для изучения сущности изучаемого объекта, определения способ управления им, прогнозирования возможных последствий тех или иных событий, решения задач прикладного характера – все это делает моделирование необходимым изобретением для многих сфер жизни общества. Одним из видов моделирования является компьютерноемоделирование.
Компьютерное моделирование – это метод решения задачи, анализа или синтеза сложной системы на основе использования ее компьютерной модели.
Компьютерная модель бывает двух видов:
1. Структурно-функциональная модель – условный образ объекта, описанный с помощью взаимосвязанных компьютерных таблиц, диаграмм, рисунков и т.д.
2. Имитационная модель– отдельная программа, позволяющая воспроизводить процессы функционирования объекта при воздействии на него различных факторов.
Компьютерное моделирование, как деятельность, предполагает поэтапность :
- Анализ требований и проектирование (постановка цели и задачи моделирования, сбор информации об объекте, построение концептуальной и проверка её достоверности)
- Разработка модели ( выбор среды моделирования, составление логической модели, назначение модели и модельного времени, проверка истинности и адекватности модели)
- Проведение эксперимента ( запуск, прогноз и отладка модели, анализ результатов моделирования и подведение итогов)
Нас интересует второй этап, а именно среда моделирования.
Несмотря на наличие множества специализированных пакетов компьютерного моделирования, табличный процессор Microsoft Excel является наиболее доступным, поэтому именно его применяют для решения большинства прикладных задач. В связи с этим рассмотрим именно его в качестве примера.
Microsoft Excel позволяет решать оптимизационные задачи, что является актуальным для коммерсанта. Среди них выделяют следующие :
- Задача сетевого планирования и управления.
- Задачи массового обслуживания.
- Задачи управления запасами
- Задачи распределения ресурсов
- Задачи ремонта и замены оборудования
- Задачи составления расписания.
- Задачи планировки и размещения
- Задачи выбора маршрута или сетевые задачи.
Оптимизационная задача– это экономико-математическая задача, цель которой состоит в нахождении наилучшего варианта использования имеющихся ресурсов.
Давайте рассмотрим некоторые аспекты работы с Microsoft Excel, позволяющие решать оптимизационные задачи.
Элементы экрана : открываяMicrosoft Excelмы видим таблицу, которая называется рабочим листом. Таблица состоит из строк и столбцов, образуя ячейки в которые вводятся данные. Сверху таблицы находиться строка заголовка, строка меню и строка формулы с отображением активной ячейки. Все это можно увидеть на рисунке.
Формулы служат для проведения разнообразных расчетов. С помощью Excel можно быстро вводить формулу. Формула состоит из трех основных частей :
- Знак равенства
- Совокупность значений или ссылки на ячейки, с которыми выполняются расчеты
- Операторы
Если знак равенства не введен, то вводимые значения воспринимаются как просто данные.
Так же функцию можно ввести нажав на специальную кнопку вызова функции.
Надстройка – поиск решения : Надстройка «поиск решения» позволяет решать оптимизационные задачи.
В строке меню выбираем поиск решения и у нас открывается диалоговое окно «параметры поиска решения», в которых указаны три основных поля:
1. Оптимизировать целевую функцию
2. Изменяя ячейки переменных
3. В соответствии с ограничениями.
Оптимизировать целевую ячейку означает выбрать ту ячейку, которая будет связана с другими ячейками формулой и которая будет отображать результат задачи. Можно выбирать поиск max и min значения ячейки, в зависимости от условия.
Изменяя ячейки переменных означает, что нужно указать переменные ячейки, которые не должны содержать формул и в которых изменение их значения должно повлиять на результат целевой ячейки.
В соответствии с ограничениям означает, что надо указать ячейки, которые будут отображать ограничения данной задачи. Все это можно увидеть на рисунке.
В целом решение оптимизационной задачи в Microsoft Excel состоит из следующих этапов:
- Ввести исходные данные
- Ввести зависимость для целевой функции
- Ввести зависимость для ограничений
- Запустить команду Поиск решения
- Оптимизировать целевую функцию
- Изменить ячейки переменных
- Ввести ограничения
- Найти решение и создать отчеты.
В данной работе мы в краткой форме рассмотрели сущность компьютерного моделирования, как вид моделирования и один из видов программного обеспечения, а именно Microsoft Excel, предназначенного для моделирования на ЭВМ. А в Excel был продемонстрирован один способов решения прикладных задач, связанных с компьютерным моделированием, тем самым была обоснована актуальность данной темы.
Читайте также: