Математическое моделирование – это моделирование, при котором описание исследуемого объекта осуществляется на языке математики, а изучение построенной модели проводится с использованием тех или. иных математических методов.
Введение
В начале эпохи компьютерного моделирования каждая программа, предназначенная для моделирования, была уникальной и формировалась на одном из языков программирования, существовавших в то время В качестве спецификации будущего программного продукта, использовалась отображение модели на языке математики. В те времена практически единственно возможным вариантом было применение языка Ассемблер.
Чтобы сформировать даже достаточно простую моделирующую программу непосредственно на каком-либо из процедурных языков требуется достаточно много времени. При этом, когда программист переводит математическое описание модели в программные коды, существует достаточно большая вероятность появления ошибок. Но с другой стороны, программа моделирования может стать и достаточно эффективной. В случае её многократного использования с небольшими корректировками для долговременных расчётных процедур с большим числом параметров, то преимущества по производительности способны перекрыть всю сложность формирования программы. При работе со сложными моделями, а также с моделями, имеющими исследовательский тип, когда начальные математические модели ещё являются достаточно «сырыми», могут применяться системы автоматизации процессов моделирования. Такие системы иногда именуются просто системами моделирования или пакетами моделирования. Первый инструментарий, предназначенный для автоматизации моделирования, был разработан именно для формирования моделей систем массового обслуживания, а именно, моделей, имеющих переменную структуру и набор параллельных процессов.
Система автоматизации моделирования даёт возможность построения моделирующей программы согласно математической модели системы и в автоматическом режиме формировать из результатов вычислительного эксперимента абстрактную математическую модель. Это позволяет исключить из процесса формирования модели трудовые затраты на программирование в ручном режиме, а, кроме этого, и вероятные ошибки при программировании. Применение систем автоматизации моделирования может позволить существенно увеличить производительность труда при формировании моделей, повысить их уровень надёжности и существенно расширить границы использования методов компьютерного моделирования. Когда применяется система автоматизации моделирования, специалист выстраивает математическую модель изучаемой системы на формализованном исходном языке моделирования.
Программные продукты в математическом моделировании
Сегодняшние пакеты моделирования, обычно, имеют специализированные визуальные редакторы, позволяющие задавать описание системы, подлежащей моделированию, в формате, максимально удобном для человеческого восприятия. Структурная организация и реакции системы на разные воздействия могут быть отображены в форме структурной схемы и как графы переходов. Данные графические описания в автоматическом режиме преобразуются в программу модели, которая совместно с исполняющей системой пакета моделирования и является моделирующей программой.
«Программа модели» способна стать или на самом деле набором программных модулей на определённом промежуточном языке программирования, который в дальнейшем сопрягается с модулями исполняющей системы пакета моделирования и становится независимой исполняемой программой (данный пакет принято называть компилирующим), или специализированным внутренним отображением описания модели, воспринимаемым и интерпретируемым исполняющей системой пакета (данный пакет принято называть интерпретирующим).
Со временем графические описания подвергались унификации, операции систематизировались, и начали появляться языки моделирования. Необходимость применения специализированных языков моделирования объясняется следующими обстоятельствами:
- Стандартный язык математики сориентирован на людей как интерпретаторов и не принимает во внимание значительное число мелочей, которые несомненно необходимы для чёткого и ясного отображения описания модели и понятны транслятору пакета моделирования.
- Чтобы обеспечить пользователям удобную работу с языком моделирования, в состав языка вставляют семантические выражения конкретной сферы использования. К примеру, существуют языки для моделирования систем массового обслуживания.
Специальные пакеты применяют специализированные термины конкретных прикладных областей, таких как, радиоэлектроника, электротехника, химическая технология, теплотехника и так далее, и обладают узкой сферой применения.
Область использования универсальных пакетов значительно более широкая, так как они сориентированы на целый класс математических моделей и используются для всех прикладных областей, в которых данные модели могут применяться.
Специальные пакеты трудно применять для моделирования и изучения сложных систем с элементами различной физической природы, так как все компоненты нужно будет исследовать в автономном режиме при помощи разных пакетов. По этой причине даже когда выполняется моделирование отдельной подсистемы лучше применять универсальные пакеты, которые в свою очередь делятся на математические пакеты и пакеты поэлементного моделирования.
В математических пакетах (Maple, Mathematica, MATLAB, Mathcad) предусматривается, что математическая модель всей моделируемой системы уже построена и ее нужно лишь исследовать. Такой подход характерен в основном для научных исследований, когда необходимо, прежде всего, убедиться в наличии необходимых свойств в новой модели. Математические пакеты позволяют проводить символьное преобразование модели, находить, если это возможно, решение уравнений в замкнутой форме, а в случае неудачи – решать уравнение численно.