Системы имитационного моделирования. Технология имитационного моделирования (Разделы 9-10 учебного пособия "Моделирование систем"), страница 3

2-й TERM - выход отказных заявок. END - конец сетевых операторов. После INIT - начало и окончание имитации. FIN - конец программы.

9.5. MATLAB

          Система MATLAB является интерактивной системой, ориентированной на работу с массивами данных. Допускает обращение к программам, написанным на языках FORTRAN, С и С++. Это одновременно и операционная среда, и язык программирования. Содержит коллекции М-файлов (расширение - m) для решения многих задач или проблем из различных областей знания. Пользователь сам может написать специализированные функции и программы в виде М-файлов для многократного использования. М-файлы являются текстовыми файлами на языке MATLAB интерпретируемого характера. Переменные, записываемые в рабочую область памяти MATLAB, могут быть сохранены в двоичном формате в MAT-файлах (расширение - mat) для последующего вызова и использования. Все функции, разработанные на внешнем по отношению к MATLAB языке, оформляются в виде MEX-файлов [6].

          Визуальные средства MATLAB содержат большую библиотеку блоков, выполняющих ряд функций, которые можно переносить в рабочее поле монитора и собирать в виде замкнутой системы или совокупности субсистем с входами и выходами, служащими для обмена информацией.

          Дополнительно MATLAB содержит программное средство The MATLAB Notebook, позволяющее создать посредством Microsoft Word интерактивные текстовые продукты (М-книги), непосредственно связанные с MATLAB.

          Важной частью системы MATLAB являются демонстрационные модули, показывающие структуру моделей, используемые команды и работу функциональных блоков.

          MATLAB содержит большое количество программных подсистем, предназначенных для обслуживания конкретных предметных областей и имеющих определенное целевое назначение.

          Подсистема Simulink - интерактивная среда для имитационного моделирования и анализа широкого класса динамических систем, использующая графический язык блок-диаграмм. Предоставляет возможность моделирования непрерывных, дискретных и гибридных систем. Включает в себя библиотеку блоков (непрерывные и дискретные элементы, математические функции, нелинейные элементы, источники и приемники сигналов, дополнительные блоки), которые можно использовать для создания новых систем. Позволяет объединять блок-диаграммы в составные блоки (SubSystem), что обеспечивает иерархическое представление структуры модели. Содержит средства для создания блоков и библиотек, определяемых пользователем. Дает возможность моделировать подсистемы, имеющие изменяемую во времени структуру. Simulink-модели оформляются в виде файлов с расширением mdl.

          Процесс построения модели Simulink включает в себя компоновку и задания необходимых параметров. Компоновка заключается в выборе из библиотек Simulink необходимых блоков, размещении их в поле модели и задании межблочных связей. Далее для каждого блока устанавливаются соответствующие параметры, отвечающие требованиям моделируемой системы.

          Библиотечный Simulink-блок представляет собой систему типа вход-выход-состояние (иногда только вход или выход) и может быть как простым, так и составным. С точки зрения объектно-ориентированной структуры каждый блок библиотеки является классом, а блок модели - экземпляром класса. В этом экземпляре пользователь может задавать свои параметры в зависимости от требований, предъявляемых к моделируемой системе.

          В пакете Simulink различают два "времени": непрерывное и дискретное. Для последнего необходимо задать величину шага приращения скалярной величиной.

          Для реализации гибридного поведения модели в пакете Simulink предусмотрены специальные средства, реагирующие на особые события и вырабатывающие специальные сигналы. К этим средствам относятся блоки Enable (доступен), Trigger (скачок) и Hit Crossing (локализация момента смены знака). Первый реагирует на появление у переменной отрицательных значений и отключает блок, внутри которого он расположен, до тех пор, пока значение переменной опять не станет положительным. Второй имеет два входа и реагирует на "скачок", подаваемый на специальный вход, запоминая при этом значение переменной, подаваемой на второй ход. Третий способен найти значение времени, при котором входной сигнал принимает нулевое значение, и выдать соответствующий сигнал.

          Simulink Extras - библиотека расширения Simulink, содержащая специализированные средства визуализации спектрального анализа, отображения корреляционных характеристик, преобразования числовых величин и координат, моделирования двустабильных ячеек, решения задач линеаризации.

          DSP Blockset - библиотека моделирования дискретных систем, связанных с цифровой обработкой процессов, корреляционным анализом, линейным предсказанием и сжатием информации. Блоки накопителей данной библиотеки позволяют описывать накопление и хранение поступающей информации или заявок на обслуживание. Эти блоки могут быть использованы при моделировании запоминающих устройств вычислительных систем и систем массового обслуживания. Queue-блоки обеспечивают сохранение величин в регистрах, имеющих формат FIFO. Stack-блок сохраняет входные данные в регистре формата LIFO. Блок Distributor накапливает N значений и выдает их одновременно на N каналов (период выдачи данных в  N раз меньше периода поступления). Statistics - блоки, непосредственно включаемые в структуру модели и позволяющие автоматизировать анализ процессов.