Лекции по курсу имитационное моделирование экономических процессов составитель ст преп каф. Итим нохрина Г. Л. 2
Скачать 1.44 Mb.
|
Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л. 36 Система визуального моделирования SIMULINK Simulink - инструмент для моделирования, анализа, и моделирования физических и матема- тических систем, включая модели с нелинейными элементами и те, которые используют непре- рывное и дискретное время. Особое место среди наборов инструментов занимает система визуального моделирования SIMULINK. В определенном смысле SIMULINK можно рассматривать как самостоятельный про- дукт фирмы Math Works (который даже в некоторых случаях продается в «именной» упаковке), однако он работает только при наличииядраMATLAB и использует многие функций, входящие в его состав. Необходимо отметить, что в MATLAB использована технология ассоциативной обработки файлов, поддерживаемая операционной системой Windows. Она; заключается в том, что каждому типу файлов ставится в соответствие (ассоциируется с ним) определенное приложение, обеспечи- вающее обработку хранящихся в нем данных. Чтобы активизировать ассоциированное приложе- ние, пользователю достаточно дважды щелкнуть на значке файла кнопкой мыши. Например, при выборе файла с расширением .doc загружается текстовый редактор MS Word. Для MATLAB характерны файлы нескольких типов, для каждого из которых определен свой допустимый набор операций и реализующие их средства. При работе с SIMULINK в основном ис- пользуются файлы трех типов: М-файлы (с расширением .m) — файлы, содержащие тексты программ нa языке MATLAB; в виде М-файлов реализованы все библиотечные функции MATLAB; по умолчанию М- файлы открываются с помощью собственного редактора/отладчика MATLAB; Mdl-файлы (с расширением .mdl) — файлы моделей SIMULINK; могут быть открыты либо с помощью SIMULINK (в виде графического окна с блок-диаграммой), либо с помощью редактора/отладчика MATLAB; МАТ-файлы (с расширением .mat) — файлы, содержащие данные в двоичном коде, доступ к которым возможен либо из командного окна MATLAB, либо с помощью специальных средств SIMULINK/ Система MATLAB не зависит от платформы и может работать под управлением и других операци- онных систем — UNIX и MacOS. При этом технология моделирования средствами SIMULINK остает- ся неизменной. Разработка моделей средствами SIMULINK (в дальнейшем S-моделей) основана на технологии drag-and-drop («перетащи и оставь»). В качестве «кирпичиков» для построения S-модели используются модули (или блоки), хранящиеся в библиотеке SIMULINK. Библиотека SIMULINK хороша тем, что, с одной стороны, обеспечивает пользователю доступ ко всем основным возможностям пакета MATLAB, а с другой – является достаточно самостоятельной его ком- понентой, в том смысле, что при работе с ней не обязательно иметь навыки в использовании других ин- струментов, входящих в состав пакета. Блоки, включаемые в создаваемую модель, могут быть связаны друг с другом как по информации, так и по управлению. Тип связи зависит от типа блока и логики работы модели. Данные, которыми обмени- ваются блоки, могут быть скалярными величинами, векторами или матрицами произвольной размерно- сти. Начало работы Запуск SIMULINK можно произвести одним из трех способов: щелкнув на соответствующей кнопке панели инструментов командного окна MATLAB; введя команду simulink в активной строке командного окна; выбрав команду New ► Model (создать ►модель) в меню File (файл). Использование первого и второго способов приводит к открытию окна просмотра библиотеки SIMULINK , а при выборе команды New ►Model кроме него открывается еще и пустое окно для созда- ния S-модели. Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л. 37 Окно просмотра разделов содержит панель инструментов, собственно список разделов, реализован- ный в виде дерева, и два вспомогательных поля, одно из которых используется для вывода комментария к выбранному в списке элементу, а другое — для представления значка этого элемента. Список разделов библиотеки Simulink представлен в основном окне просмотра в виде дерева. Структура библиотеки Simulink: Основная библиотека; Разделы основной библиотеки; Блоки, входящие в разделы. Расширения основной библиотеки, относящиеся к наборам инструментов MATLAB. Нижний уровень иерархии образуют собственно блоки SIMULINK, которые и играют роль кирпичиков при построении S-модели. Чтобы вставить блок в S-модель, необходимо нажать кноп- ку мыши на графической или текстовой метке блока и, не отпуская кнопку мыши, перетащить его в окно блок-диаграммы. Строка меню окна блока-диаграммы содержит кроме общеизвестных меню ещё два: Tools – инструменты; Simulation – моделирование. Демонстрация возможностей . Чтобы получить представление о том, что такое модель, разработанная с помощью SIMULINK, можно воспользоваться демонстрационными средствами MATLAB (команда demo в активной строке командного окна). Пользователь имеет возможность выбрать один из следующих примеров, входящих в раздел Simulink-demo (демонстрационные файлы SIMULINK): New in Simulink 3 (новое в Simulink 3) — иллюстрация дополнительных возможностей версии Simulink 3.0, входящей в состав MATLAB 5.3, по сравнению с версиями Simulink 2.x, исполь- зовавшимися в предыдущих версиях MATLAB; New in Simulink 2 (новое в Simulink 2) — иллюстрация возможностей версий Simulink 2.x по сравнению с версией Simulink 1, входящей в состав MATLAB 4; Simple models (простые модели) — примеры простых S-моделей; Complex models (сложные модели) — примеры более сложных S-моделей; Advanced Products (дополнительные продукты) — вывод справочной информации по использо- ванию RTW (Real Time Workshop — «Мастерская реального времени» — средство генерации кода на языке С из блок-диаграмм, используемое при разработке программного обеспечения систем реального времени). При выделении одного из разделов в правой части окна MATLAB Demos выводится список вхо- дящих в него примеров S-моделей. В свою очередь, название отмеченной в этом списке модели отображается на расположенной ниже кнопке Run (выполнить). Щелчок по этой кнопке приводит к тому, что открывается окно, содержащее блок-диаграмму выбранной модели. Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л. 38 Библиотека блоков Simulink. Библиотека блоков Simulink. ......................................................................................................................................................... 38 Source – блоки-источники. ........................................................................................................................................................ 38 Sinks – блоки-получатели. ......................................................................................................................................................... 39 Continuous – непрерывные системы. ........................................................................................................................................ 39 Discontinuities: разрывные системы. ......................................................................................................................................... 39 Discrete – дискретные системы. ................................................................................................................................................ 39 Look-Up Tables – работа с таблицами. ..................................................................................................................................... 40 Math Operations – математические операторы. ........................................................................................................................ 40 Model Verification: Проверка модели........................................................................................................................................ 41 Model-Wide Utilities: -широкие возможности обслуживания модели ................................................................................... 41 Ports & Subsystems: Порты и Подсистемы ............................................................................................................................... 42 Signal Attributes: Признаки Сигнала ......................................................................................................................................... 42 Signal Routing: Направление Сигнала....................................................................................................................................... 42 User-Defined Functions: Определенные пользователем Функции .......................................................................................... 43 Source – блоки - источники. 1. Band-Limited White Noise: Белый шум для непрерывных (s-доменных) систем. Ограничение полосы частот с помощью фиксации нулевого порядка. 2. Chirp Signal: Вывод ЛЧМ-импульса (синусоидальная волна, частота которой изменяется линейно со временем). 3. Clock: Вывод текущего времени эмуляции. 4. Constant: Вывод константы, указанной параметром 'Значение константы'. Если 'Значение константы' - вектор и опция 'Интерпретировать параметры вектора как одномерные', то константа рассматривается как одномерный массив. Иначе - на выходе матрица с размерами - значениями константы. 5. Digital Clock: Вывод текущего времени эмуляции с указанной частотой. 6. From Workspace: Чтение значений данных, указанных в массиве или структурном формате из рабочей области MATLAB. 6.1. Формат массива (или матрицы): 6.1.1. одномерный сигнал: var=[ЗначенияВремени ЗначенияДанных] 6.1.2. Для двумерного сигнала используйте структурный формат 6.2. структурный формат: 6.2.1. var.time=[ЗначенияВремени] 6.2.2. var.signals.values=[ЗначенияДанных] 6.2.3. var.signals.размерs=[ЗначенияМассива] Выберите интерполяцию для интерполяции или экстраполяции для шагов времени, для которых данные не опре- делены. 7. From File: Чтение времени и выходных значений из первой матрицы в указанном MAT-файле. Матрица должна содержать значения времени в первой строке. Дополнительные строки соответствуют выходным элементам. Интерполяция между столбцов. 8. Ground: Используется для "заземления" входных сигналов. (Предотвращает предупреждения о неподключен- ных входных портах.) На выходе 0. 9. In1: Обеспечить подсистеме или модели входной порт. Для тиггерных подсистем, если указан пункт 'Запирать вход (буфер)', то блок входного порта синтезирует значение входа для предыдущего шага времени. Другие пара- метры могут быть использованы, чтобы явно указать атрибуты входного сигнала. 10. Pulse Generator: Генерировать импульсы с постоянными интервалами, здесь тип импульса определяет исполь- зуемую методику вычислений. 10.1. С временным критерием - рекомендуется для использования с решателем с переменным шагом, 10.2. С критерием отсчета - для решателя с фиксированным шагом в дискретной части модели, использующей решатель с переменным шагом. 11. Ramp: Генерация скатового сигнала за указанное время. 12. Random Number: Генерация нормально (по Гауссу) распределенного случайного сигнала. Генерация воспроиз- водима для указанного зерна. 13. Repeating Sequence: Генерация повторяющейся последовательности чисел, указанных в таблице пар время- значение. Значения времени должны монотонно возрастать. 14. Signal Generator: Генерация различных волновых форм. 15. Signal Builder: Sigbuilder GUI 16. Sine Wave: Выводит синусоидальную волну, где тип синуса определяет используемую методику вычислений. Параметры двух типов связаны через: 16.1. Отсчетов за период = 2*pi / (Частота * Время отсчета) 16.2. Число отсчетов смещения = Фаза * Отсчетов за период / (2*Pi) Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л. 39 Используйте тип синуса С критерием отсчета при появлении численных проблем с многократным повторением (н-р, переполнение абсолютного времени). 17. Step: Генерация ступеньки. 18. Uniform Random Number: Генерация равномерно распределенного случайного сигнала. Генерация воспроиз- водима для указанного зерна. Sinks – блоки - получатели. 1. Display: Численное отображение входных значений. 2. Floating Scope: simulink/Sinks/Floating Scope 3. Out1: Обеспечить выходной порт для подсистемы или модели. Параметры 'Выход при отключении' и 'Началь- ный выход' применяются только к условно исполняемым подсистемам. Когда условно исполняемая подсистема отключена, выход либо находится в своем последнем значении, либо устанавливается в 'Начальный выход'. Па- раметр 'Начальный выход' может быть указан как пустая матрица [], в случае чего начальный выход равен выхо- ду блока, подключенного к выходному порту. 4. Scope: simulink/Sinks/Scope 5. Stop Simulation: Остановить эмуляцию когда на входе не ноль. 6. Terminator: Используется для "завершения" выходных сигналов. (Предотвращает предупреждения о неподклю- ченных выходных портах.) 7. To File: Записать время и вход в указанный MAT-файл в формате строк. Время - в строке 1. 8. To Workspace: Записать вход в указанный массив или структуру в главной рабочей области MATLAB. Данные не будут доступны, пока эмуляция остановлена. 9. XY Graph: Осциллограф XY с использованием окна графиков MATLAB. Первый вход используется как вре- менная база. Введите диапазоны построения. Continuous – непрерывные системы. 1. Derivative: Численная производная: du/dt. 2. Integrator: Интегрирование входного сигнала в непрерывном времени. 3. State-Space: Модель в пространстве состояний: dx/dt = Ax + Bu y = Cx + Du 4. Transfer Fcn: Матричное выражение для числителя, векторное выражение для знаменателя. На выходе - ширина равна числу строк в числителе. Коэффициенты - для степеней s по убыванию. 5. Transport Delay: Применить указанную задержку к входному сигналу. Лучшая точность достигается, когда за- держка больше шага эмуляции. 6. Variable Transport Delay: Применить задержку к первому входному сигналу. Второй вход указывает время за- держки. Лучшая точность достигается, когда задержка больше шага эмуляции. 7. Zero-Pole: Матричное выражение для нулей. Векторное выражение для полюсов и k передачи. На выходе - ши- рина равна числу столбцов в матрице нулей, или единице, если нули - вектор. Discontinuities – разрывные системы. 1. Backlash: Моделировать зазор, где ширина мертвой зоны указывает величину зазора в системе. 2. Coulomb & Viscous Friction: Скачок разрыва в нулевых моделях сухого трения. Вязкое трение моделей с линей- ным коэффициентом передачи. y = sign(x) * (Gain * abs(x) + Offset) 3. Dead Zone: На выходе ноль для входного сигнала в зоне нечувствительности. Сдвиг входных сигналов на значе- ние Начала или Конца за пределами зоны нечувствительности. 4. Hit Crossing: Сравнивает входной сигнал со значением перехода через смещение. Если сигнал взрастает выше, опускается ниже или остается на значении смещения, блок выдает 1. Иначе блок выдает 0. Для решателей с пе- ременным шагом, Simulink делает временной шаг перед и после момента перехода. 5. Quantizer: Дискретизировать вход на заданном интервале. 6. Rate Limiter: Ограничить скорость возрастания и убывания сигнала. 7. Relay: Вывод значения 'вкл' или 'выкл', полученного путем сравнения входа с указанными порогами. Состояние реле вкл/выкл не зависит от значения входа между верхним и нижним пределом. 8. Saturation: Ограничить входной сигнал верхней и нижней величиной насыщения. Discrete – дискретные системы. 1. Discrete Transfer Fcn: Матричное выражение для числителя, векторное выражение для знаменателя. Выходная ширина равняется числу строк в числителе. Коэффициенты - для степеней z по убыванию. 2. Discrete Zero-Pole: Матричное выражение для нулей. Векторное выражение для полюсов и коэффициента пере- дачи. Выходная ширина равняется числу столбцов в матрице нулей или единице, если нули - вектор. 3. Discrete Filter: Векторное выражение для числителя и знаменателя. Коэффициенты - для степеней 1/z по возрас- танию. Лекции по курсу ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ ПРОЦЕССОВ Составитель – ст.преп.каф. ИТиМ Нохрина Г.Л. 40 4. Discrete State-Space: Модель с дискретным пространством состояний: x(n+1) = Ax(n) + Bu(n) y(n) = Cx(n) + Du(n) 5. Discrete-Time Integrator: Интегрирования входного сигнала в дискретном времени. 6. First-Order Hold: Фиксация первого порядка. 7. Memory: Применить задержку одного шага интегрирования. На выходе - предыдущее значение входа. 8. Unit Delay: Образец и фиксация с задержкой в один образцовый период. 9. Zero-Order Hold: Фиксация нулевого порядка. Look-Up Tables – работа с таблицами. 1. Direct Look-Up Table (n-D): Выбор члена таблицы. На входах - индексы таблицы с отсчетом от нуля. Блок мо- жет также использоваться для выбора из таблицы столбца или двумерной матрицы. Первый индекс выбора соот- ветствует верхнему (или левому) входному порту. 2. |