Курсовая работа (т): Моделирование процесса изменения рыночных цен по критерию уровня активов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Задание класса устройств и его переменных

Для того, чтобы задать новый класс устройств, необходимо в окне Test Bench нажать кнопку  и в появившемся диалоговом окне выбрать пункт New Class. Затем необходимо в окне Test Bench подвести появившийся крестообразный курсор к месту, где необходимо разместить левый верхний угол нового устройства, затем нажать на левую кнопку мышки и, не отпуская ее, растянуть прямоугольник, изображающий новое устройство. После необходимо отпустить кнопку мышки, в результате чего в окне Test Bench появится изображение экземпляра устройства с именем Dev_1 по умолчанию.

Чтобы изменить имя устройства, необходимо выделить поле имени и выполнить команду Edit или просто дважды щелкните мышью в этом поле. Окончание редактирования происходит при нажатии клавиши "Enter" или щелчку мыши за пределами элемента редактирования, отказ от изменений - при нажатии "Esc".

Обратите внимание: как только пользователь создал прообраз нового устройства, в окне Project Manager автоматически появился новый класс Class_1. Для того чтобы наполнить вновь созданный класс соответствующим содержимым, необходимо перейти в окно редактирования класса. Это можно сделать двумя способами:

в окне Test Bench необходимо щелкнуть правой кнопкой мышки в поле прямоугольника, соответствующего созданному устройству, а затем выполнить команду "Class" в появившемся всплывающем меню;

в окне Project Manager необходимо раскрыть узел "Device Classes", выделить элемент "Class_1" и дважды щелкнуть на нем мышкой или выполнить команду меню "Edit".

В результате появиться окно редактирования класса (рис.4.3).

Для того, чтобы ввести новые параметры, входные или выходные переменные, статические переменные или константы в классе, необходимо выделить узел "Parameters" (или другой) в окне редактирования класса и нажать кнопку  или выполнить команду "Edit/Add..." главного командного меню. На экране появится диалоговое окно, с помощью которого можно ввести имя параметра, выбрать его тип, указать значение по умолчанию и ввести комментарий, поясняющий назначение параметра. При задании значений параметров могут использоваться выражения, содержащие элементарные функции и значения других параметров или переменных (при условии, что взаимные ссылки не образуют циклов, что проверяется при вводе).

Рис. 4.3

Для того, чтобы добавить входные и выходные переменные в классе, необходимо выделить соответственно узлы "Inputs" и "Outputs" и далее действовать по той же схеме, что описана ранее. При добавлении выходной переменной (и входной) дополнительно возникнет окно структуры, в котором необходимо указать нажатием левой кнопки мышки в соответствующей точке требуемое положение выхода или входа. Стрелки, соответствующие входам и выходам, располагаются на сторонах прямоугольника, изображающего устройство.

Создание карты поведения

Для того, чтобы задать карту поведения данного класса устройств, необходимо дважды щелкнуть левой кнопкой мышки на узле "Main B-Chart" окна редактирования класса. В появившимся окне главной карты поведения появиться узел Init (унаследованный от класса CDevice) (рис.4.4). Этот узел является начальным узлом карты поведения. Для того, чтобы создать новый узел, необходимо выбрать вторую сверху кнопку на вертикальной панели инструментов окна главной карты поведения, подвести появившийся крестообразный курсор к месту, где необходимо разместить новый узел и, удерживая левую кнопку мышки, растянуть прямоугольник с закругленными краями (символизирующий узел). Для того, чтобы соединить два узла, необходимо выбрать кнопку  и, нажав левую кнопку мышки на символе узла от которого ведется переход (при этом появиться знак + в кружочке) провести курсором прямую к символу другого узла (пока опять не появиться знак + в кружочке) и затем отпустить кнопку. Узел обладает рядом свойств, доступ к которым открывается при нажатии правой кнопки мышки в его поле.

Для того, чтобы задать непрерывное поведение в узле, необходимо (открыв таким способом всплывающее меню) выполнить команду "Create local Continuous behavior". В результате этих действий в описании класса появится новое непрерывное поведение Equations_1, а также появится соответствующее ему окно Редактора формул (рис.4.5). Тот же результат может быть достигнут и другой последовательностью действий: сначала в окне описания класса создается новая функция непрерывного поведения, а затем способом "drag and drop" буксируется в окно главной карты поведения и «кладется» на изображение узла. Изображение узла после этого будет нарисовано толстой сплошной линией - это означает, что узлу приписано некоторое непрерывное локальное поведение. Если узлу приписана локальная карта поведения, то он изображается двойной тонкой линией (для того, чтобы задать локальную карту поведения, необходимо выбрать во всплывающем меню пункт Create local B-chart).

В окне непрерывного поведения можно с помощью соответствующей кнопки или всплывающего меню добавить любой из описанных ранее типов уравнений (см. рис.4.5).

Рис. 4.4

Рис. 4.5

Наследование класса устройств

Допустим, в модели понадобилось ввести новый класс устройств, который во многих пунктах совпадает с уже существующим классом, но должен в некоторых аспектах отличаться от него. Можно, конечно, ввести новый класс и заново описать все его свойства, но лучше поступить проще и «идейно правильнее»: сделать новый класс прямым потомком предыдущего сходного с ним класса. Это можно реализовать двумя способами:

дважды щелкнуть мышкой на поле Superclass в окне описания нового класса и в появившемся диалоге выбрать в качестве суперкласса необходимый класс;

просто перетащить мышью класс-предок из окна Project Manager на поле Superclass окна описания класса-потомка. После этого класс-потомок сразу унаследует все элементы описания класса-предка (унаследованные элементы отмечены направленными вверх синими стрелками). Кроме унаследованных, класс может обладать и некоторыми своими свойствами.

Запуск модели в MVS

Для начала необходимо сохранить изменения, произведенные при редактировании модели. Для этого надо выбрать в главном меню пункт Project/Save или нажать кнопку . Теперь можно нажать кнопку  на инструментальной панели главного окна или выполнить команду "Model/Run...".

После нажатия кнопки "Run" на экране появиться сначала окно генератора кода, а затем одно за другим два окна консольных приложений - компилятора ресурсов (необходим для присоединения иконки класса) и компилятора Pascal Delphi. Вся работа с промежуточным кодом проводится в локальной папке ...\Tmp, в ней же формируется файл model. exe. При выходе из интегрированной среды все содержимое этой папки автоматически уничтожается. Поэтому, если необходимо для каких-либо целей оставить промежуточный код или выполняемую модель для независимого использования, надо воспользоваться кнопкой  или командой "Model /Build...". Выполнение команды "Run" завершается запуском созданной программы model.exe.

После первого запуска выполняемой модели автоматически открываются окно "Test bench", которое является основным «путеводителем» по моделируемой системе.

Запуск выполнения модели производится с помощью кнопки  (на инструментальной панели главного окна модели) или с помощью команды "Simulation/Run". Останавливается выполнение с помощью кнопки  или команды "Simulation \Stop", а перезапуск осуществляется с помощью кнопки  или команды "Simulation \Restart".

В результате этих действий данный экземпляр испытуемой системы будет уничтожен и создан новый, снова с начальными значениями переменных. Модельное время снова будет равно 0.

С помощью кнопки  или команды "Window/ New Diagram" можно создать окно диаграммы (по умолчанию это будет временная диаграмма, т.е. по оси абсцисс будут откладываться значения модельного времени). Также в пакете MVS возможно создание 2-D и 3-D анимации.

Исследования способностей практического применения программы

Моделируем поставленную задачу: вводим необходимые уравнения и задаем переменные, параметры и выходные значения, формируем условия для выведения сообщения (Рис.1)

Задаем начальные параметры:=1 - Коэффициент чувствительности темпа изменения активов от разницы предложения и спроса;=2 - Некоторый фиксирован уровень актива;=2 - Коэффициент линейной зависимости предложения от цены;=2 - Коэффициент линейной зависимости спроса от цены;= 0 - Начальный уровень предложения;=5 - Начальный уровень спроса;= 0,1 - Коэффициент чувствительности цены от разницы текущего и фиксированного уровней актива;= 0,1 Коэффициент чувствительности цены от скорости изменения активов;= 0 - Коэффициент чувствительности нелинейной составляющей предложения от цены;=0 - коэффициент чувствительности нелинейной составляющей спроса от цены;

Задаём начальные состояния:= Q0 - Уровень актива;= P0*(1+DP) - Цена;= S0 - Предложение;= D0 - Cпрос.

Рис.5.1 Модель с начальными данными

Запускаем проект и получаем начальные данные:

Рис.5.2 Начальное состояние модели

Рис.5.3 Результат запуска модели с исходными данными

Для анализа построенной модели изменим коэффициент чувствительности цены от скорости изменения активов на Кp2=0 ( Рис.5.4-5.5)

Рис.5.4 Начальное состояние модели при Кp2=0

Рис.5.5 Результат запуска модели при Кp2=0

Наблюдая за изменением цены при разных коэффициентах чувствительности Кp2, можно сказать, что при Кp2=0.1 значение цены в основном уменьшается, а при Кp2=0 значение цены периодически возвращается в начальное состояние.

Вывод

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

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

Список использованной литературы

Хемди А. Таха Глава 18. Имитационное моделирование 7-е изд. - М.: «Вильямс» <http://ru.wikipedia.org/w/index.php?title=%D0%92%D0%B8%D0%BB%D1%8C%D1%8F%D0%BC%D1%81_%28%D0%B8%D0%B7%D0%B4%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE%29&action=edit&redlink=1>, 2009. - С. 697-737..

Строгалев В. П., Толкачева И. О. Имитационное моделирование - МГТУ им. Баумана, 2010. - С. 697-737.

Самарский А.А. <http://ru.wikipedia.org/wiki/%D0%A1%D0%B0%D0%BC%D0%B0%D1%80%D1%81%D0%BA%D0%B8%D0%B9,_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%90%D0%BD%D0%B4%D1%80%D0%B5%D0%B5%D0%B2%D0%B8%D1%87>, Михайлов А.П. Математическое моделирование: Идеи. Методы. Примеры - М: Наука, 2007. - 320 с.

Кобелев Н. Б. , Основы имитационного моделирования сложных экономических систем Москва Издательства "ДЕЛО 2009

Ю.Б.Колесов, Ю.Б.Сениченков. Имитационное моделирование сложных динамических систем

Источник: https://www.bibliofond.ru/detail.aspx?id=826527