- •Имитационное моделирование
- •Оглавление
- •Глава 1. Математическое моделирование 8
- •Глава 2. Имитация случайных процессов 54
- •Глава 3. Имитационное моделирование 70
- •Предисловие
- •Введение
- •Глава 1. Математическое моделирование
- •1.1. Модели и их виды
- •1.2. Моделирование
- •1.3. Модельное время и виды процессов
- •1.4. Построение дискретной (пошаговой) аналитической модели
- •1.4.1. Сущность пошагового моделирования
- •1.4.2. Принципы построения пошаговой модели
- •1.4.3. Примеры моделей
- •1.5. Построение аналоговой (дифференциальной) аналитической модели
- •1.5.1. Сущность дифференциального (функционального) подхода
- •1.5.2. Диаграммы процессов и переход к дифференциальным уравнениям
- •1.5.3. Принципы построения дифференциальной модели
- •1.5.4. Примеры
- •1.6. Упражнения
- •Вопросы к главе
- •Глава 2. Имитация случайных процессов
- •2.1. Базовые сведения о случайных величинах
- •2.1.1. Случайные величины и их распределения
- •2.1.3. Характеристики случайных величин
- •2.1.4. Метод Монте-Карло
- •2.2. Дискретные случайные числа и их имитация
- •2.3. Непрерывные случайные числа и их имитация
- •2.4. Упражнения
- •Вопросы к главе
- •Глава 3. Имитационное моделирование
- •3.1. Постановка задачи имитационного моделирования
- •3.2. Специфика имитационных моделей
- •3.3. Построение дискретной (пошаговой) имитационной модели
- •3.3.1. Построение пошаговой имитационной модели
- •3.3.2. Примеры
- •3.4. Блочное моделирование
- •3.4.1. Преимущества блочного моделирования
- •3.4.2. Принципы блочного подхода к составлению дифференциальной модели
- •3.4.3. Переход от диаграммы процессов к блочной модели
- •3.4.4. Примеры
- •3.5. Стохастическое моделирование
- •3.5.1. Основы теории очередей
- •3.5.2. Принципы построения систем массового обслуживания
- •3.5.3. Текстовое моделирование
- •3.5.4. Примеры
- •3.6. Упражнения
- •3.6. Вопросы к главе
- •Заключение
- •Библиографический список
- •Имитационное моделирование
3.4.3. Переход от диаграммы процессов к блочной модели
Если внимательно присмотреться к блочным моделям, то можно увидеть их явное сходство с диаграммами потоков (сравните, например, модель на рис. 22. с моделями на рис. 11 и 12). В обоих случаях связи обозначаются стрелками, отдельные подсистемы и преобразования представлены специальными обозначениями. Это позволяет интерпретировать блочную модель в контексте теории систем дифференциальных уравнений: выявляются исследуемые критерии, описывается взаимное влияние подсистем и осуществляется комплексный пересчёт в аналоговом или дискретном пространстве состояний.
Для ознакомления с принципами блочного моделирования воспользуемся программой MatLab корпорации MathWorks. Это универсальная среда моделирования, содержащая мощное математическое ядро и средства научной графики. Одним из базовых компонентов данного пакета является модуль Simulink, позволяющий создавать и просчитывать модели.
Модуль Simulink предназначен для визуального конструирования моделей методом Drag & Drop, позволяя создавать модели без написания кода или формул. Несмотря на это, сохраняется возможность обращения к ядру системы MatLab и создания её средствами управляющих модулей с использованием встроенного языка программного пакета MatLab.
Для запуска Simulink достаточно открыть программу MatLab и нажать на кнопку . Запустится панель Simulink Library Browser, состоящая из двух частей: первая – дерево контейнеров (библиотека блоков), при выборе любого из которых во второй части появляется набор графических объектов, при помощи которых можно составлять модель (рис. 23). Основными разделами библиотеки являются следующие:
• Continuous – линейные блоки.
• Discrete – дискретные блоки.
• Functions & Tables – функции и таблицы.
• Math – блоки математических операций.
• Nonlinear – нелинейные блоки.
• Signals & Systems – сигналы и системы.
• Sinks – регистрирующие устройства.
• Sources – источники сигналов и воздействий.
• Subsystems – блоки подсистем.
Рис. 23. Окно Library Browser
Модель составляется в специальном поле моделирования, на которое переносятся нужные блоки и соединяются между собой (рис. 24). Оно хранится в специальных файлах с расширением mdl, которые требуют англоязычного наименования.
Прежде чем перейти к рассмотрению принципов конструирования моделей, необходимо знать, как инициализировать модель. Для этого требуется задать модельное время и период моделирования. Выбрав пункт меню Simulation\Simulation Parameters, на вкладке Solver можно настроить следующие установки просчёта модели (рис. 25):
Рис. 24. Поле моделирования
Рис. 25. Диалог настройки процесса просчёта
• Start time – начальный момент моделирования (положительное число).
• Stop time – конечный момент моделирования.
• Type – тип модельного времени (Fixed-step – дискретное время с фиксированным шагом; Variable-step – аналоговое время с переменным шагом).
Для конструирования блочных моделей необходимо знать базовые объекты библиотеки. Рассмотрим некоторые из них.
При помощи блоков, представленных в табл. 14, можно конструировать как простую динамику исследуемых объектов, так и сложную. Всё зависит от последовательности соединения блоков: одно и то же взаимодействие можно описать как в блоке «функция», так и сочетанием более простых объектов.
Соединение блоков осуществляется с помощью специальных интерфейсов, расположенных по периметру контура объекта (например, см. форму блока Умножение). Для корректного просчёта модели каждый интерфейс должен быть занят, и связи не должны прерываться и «висеть» в поле моделирования.
В ряде случаев получаемый сигнал необходимо передать не одному, а сразу нескольким блокам. Это бывает необходимо, когда один фактор влияет сразу на несколько подсистем в системе, и при этом он каждый раз сам пересчитывается в модели. Для этого в системе Simulink реализована возможность присоединения связей к уже существующим. На рис. 24 представлен пример модели, в которой часть связей «замкнуты». В точках присоединения видны характерные узлы. При этом для объединения сигнала используются блоки Сумматор и Умножение, а для дублирования – просто дополнительная «нагрузочная» связь.