ВВЕДЕНИЕ 5
1 КРАТКИЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ 6
1.1. КЛАССИФИКАЦИЯ МОДЕЛЕЙ, СПОСОБЫ МОДЕЛИРОВАНИЯ 6
1.2 ДИНАМИЧЕСКИЕ СИСТЕМЫ И ФОРМА ИХ ОПИСАНИЯ 9
1.3 КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ ДИНАМИЧЕСКИХ СИСТЕМ 11
1.4 КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ ДИНАМИЧЕСКИХ СИСТЕМ НА ОСНОВЕ АНАЛИТИЧЕСКОГО ПРЕДСТАВЛЕНИЯ
15
2 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ РЕДАКТОРА ФОРМУЛ 22
2.1 СТРУКТУРА ДАННЫХ 22
2.2 КЛАССЫ СТРУКТУРНЫХ ЭЛЕМЕНТОВ МАТЕМАТИЧЕСКОЙ МОДЕЛИ 27
2.3 ОПИСАНИЕ АЛГОРИТМОВ И СТРУКТУР ДАННЫХ 30
3 ТЕСТИРОВАНИЕ ПРОГРАММЫ 44
ЗАКЛЮЧЕНИЕ 52
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Математические модели на данный момент используются как основной компонент для научных исследований процессов или объектов. Однако их использование в изначально заданном виде достаточно трудоемкий процесс, поэтому появляется необходимость перенести математическую модель на ЭВМ. Для этого необходимы программные средства, позволяющие формировать компьютерные модели различных типов и проводить на их основе численные эксперименты.
Математические модели, как правило, описываются в виде уравнений. Многие
программы, такие как MATLAB Simulink, используют графические средства для построения компьютерной модели в виде блок-схем, но для некоторых задач более
удобным является создание компьютерной модели непосредственно на основе исходной либо определенным образом модифицированной системы уравнений. Разработка подобного инструмента позволит расширить возможности существующих
программных пакетов для компьютерного моделирования.
Цель дипломной работы: создание программного модуля, позволяющего вводить и редактировать математические модели, описанные системами алгебраических и дифференциальных уравнений, в том числе с использованием векторноматричной формы уравнений и формировать для них описание на специальном
формальном языке
Для достижения цели дипломной работы необходимо решить следующие задачи:
1. Разработка структур данных для внутреннего представления модели в целом и отдельных ее структурных элементов.
2. Разработка пользовательского интерфейса, обеспечивающего отображение уравнений в естественном виде, а также удобный ввод и редактирование формул.
3. Разработка и реализация алгоритма преобразования введенной системы
уравнений в описание на формальном языке.
Для разработки редактора формул была использована среда разработок
QtCreator, язык С++.
В результате выполнения дипломной работы был разработан программный
модуль для ввода и редактирования математических моделей динамических систем,
представленных в аналитическом виде и преобразование его в описание на формальном языке.
В ходе выполнения работы были решены все поставленные задачи:
1. Разработана система классов для внутреннего представления модели в
целом и отдельных ее структурных элементов, из объектов которого
формируется внутреннее представление модели в виде дерева.
2. Разработан пользовательский интерфейс, обеспечивающий отображение
уравнений в естественном виде, а также удобный ввод и редактирование
формул.
3. Реализован алгоритм преобразования введенной системы уравнений в
описание на формальном языке.
Разработанный редактор формул должен использоваться совместно с транслятором математических моделей в качестве инструментального средства для создания расчетных модулей компьютерных моделей непосредственно на основе их аналитического описания в виде систем дифференциальных и алгебраических уравнений в скалярной и векторно-матричной формах.
Недостатками же является явная скудность интерфейса, сложность программного кода на котором написан модуль.
Развитие возможностей редактора в дальнейшем предполагает расширение
набора структурных элементов формул, повышение удобства ввода формул, а также
добавление возможности экспорта описания формул модели в формат TeX.