Домой Россельхозбанк Имитационное моделирование в Matlab. Имитационное моделирование в среде matlab

Имитационное моделирование в Matlab. Имитационное моделирование в среде matlab

Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. ART 75104 УДК 336 Якушин Дмитрий Иванович, кандидат технических наук, доцент кафедры общих математических и естественнонаучных дисциплин ФГБОУ ВПО «Российский экономический университет им. Г. В. Плеханова», Тульский филиал, г. Тула [email protected] Архипов Игорь Константинович, доктор технических наук, профессор, профессор кафедры общих математических и естественнонаучных дисциплин ФГБОУ ВПО «Российский экономический университет им. Г. В. Плеханова», Тульский филиал, г. Тула [email protected] Абрамова Влада Игоревна, кандидат технических наук, доцент, доцент кафедры экономики и предпринимательской деятельности ФГБОУ ВПО «Тульский государственный педагогический университет им. Л. Н. Толстого», г. Тула [email protected] Румянцева Инна Ивановна, кандидат технических наук, доцент, доцент кафедры общих математических и естественнонаучных дисциплин ФГБОУ ВПО «Российский экономический университет им. Г. В. Плеханова», Тульский филиал, г. Тула [email protected] Степанов Вадим Григорьевич, кандидат экономических наук, доцент, директор по исследованиям и разработкам, руководитель проектов INFORT Group, заведующий кафедрой общих математических и естественнонаучных дисциплин ФГБОУ ВПО «Российский экономический университет им. Г. В. Плеханова», Тульский филиал, г. Тула [email protected] Степанова Татьяна Викторовна, руководитель консалтинговой фирмы INFORT Group, старший преподаватель кафедры общих математических и естественнонаучных дисциплин ФГБОУ ВПО «Российский экономический университет им. Г. В. Плеханова», Тульский филиал, г. Тула [email protected] Юдин Сергей Владимирович, доктор технических наук, профессор, профессор кафедры общих математических и естественнонаучных дисциплин ФГБОУ ВПО «Российский экономический университет им. Г. В. Плеханова», Тульский филиал, г. Тула [email protected] Визуальное моделирование финансовых операций в среде Simulink / Matlab Аннотация. В работе рассмотрено применение пакета визуального моделирования Simulink для описания основных операций финансовой математики. Перечислены преимущества и возможности данного инструмента. Изложены основные этапы моделирования. Построены модели расчета наращенной суммы при ис~1~ Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. ART 75104 УДК 336 пользовании схемы начисления простых и сложных процентов, а также модели операций с потоками платежей. Ключевые слова: MatLab, Simulink, визуальное моделирование, финансовые операции, простые и сложные проценты, потоки платежей. Раздел: (04) экономика. Цель настоящего исследования состоит в том, чтобы показать возможности использования пакета визуального моделирования Simulink для описания финансовых операций. В соответствии с поставленной целью были сформулированы задачи исследования, заключающиеся в построении моделей некоторых наиболее распространенных финансовых операций с использованием пакета Simulink. Объектом исследования в работе послужили некоторые базовые финансовые операции, составляющие основу количественных финансов. Предметом изучения в работе выступают количественные финансы. Simulink – это программа имитации реальных процессов. Она является приложением к пакету MatLab . При использовании системы Simulink реализуется принцип визуального моделирования, в соответствии с которым пользователь создает динамическую модель исследуемого объекта из стандартных блоков на экране компьютера и выполняет расчеты с имитацией различных внутренних параметров и внешних воздействий. Рассмотрим основные преимущества использования системы Simulink/MatLab при решении экономических, и, в частности, финансовых задач. Вначале изложим положительные стороны пакета MatLab, поскольку, как было уже отмечено выше, Simulink является его составной частью (приложением). К преимуществам MatLab следует отнести: 1. Мощность. Огромное количество встроенных математических функций (около 600). Высокая скорость вычислений. Большие графические возможности. 2. Надежность. Все возможности MatLab задокументированы и поэтому почти полностью исключается возможность появления неожиданных (некорректных) результатов расчетов. 3. Прозрачность. Программный код всех функций является открытым для пользователя. С ним можно ознакомиться и, при необходимости, внести в него коррективы. 4. Универсальность. Matlab широко используется при проведении вычислений в любой области науки и техники, в том числе и экономике, финансах. 5. Гибкость. Наличие встроенного языка программирования высокого уровня дает возможность создавать пользовательские функции, приспособленные к решению конкретных прикладных задач. 6. Расширение возможностей достигается за счет использования большого количества специально разработанных пакетов расширения, наборов инструментов. Перейдем к возможностям программы Simulink: 1. Возможность моделирования линейных и нелинейных, дискретных и непрерывных, детерминированных и случайных динамических систем. 2. Реализация принципа визуального моделирования. 3. Автоматизация процесса программирования математической модели системы. (При моделировании простых систем нет необходимости знать язык программирования) ~2~ Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. ART 75104 УДК 336 4. Визуализация результатов моделирования. 5. Наличие обширной, открытой для изучения и модификации, библиотеки компонентов (блоков). Далее рассмотрим технологию работы с пакетом Simulink при построении модели и проведении с ней имитации. Как уже было отмечено ранее, Simulink располагает большой библиотекой блоков, из которых строится модель. На рис. 1 представлен внешний вид этой библиотеки. Непрерывные Гибридные Табличное задание функций Дискретные Верификация моделей Математические функции Свойства сигналов Порты и подсистемы Управление сигналами Приемные устройства Источники сигналов Пользовательские функции Рис. 1. Библиотеки блоков Simulink Как видно, она включает в себя наборы блоков, предназначенные для: 1. Моделирования непрерывных систем 2. Моделирования дискретных систем. 3. Табличного задания функций. 4. Выполнения математических операций. 5. Верификации моделей. 6. Управления сигналами. 7. Создания подсистем. 8. Описания источников сигналов. 9. Задания приемников сигналов. 10. Написания пользовательских функций. На рис. 2 для примера представлено содержание библиотеки блоков, предназначенных для моделирования непрерывных систем. Как видно, здесь имеются блоки для дифференцирования, интегрирования, описания пространства состояний системы, задания задержки и др. ~3~ ART 75104 УДК 336 Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. Дифференцирование Интегрирование Пространство состояний Передаточная функция Переменное запаздывание Запаздывание Рис. 2. Блоки библиотеки Continious для моделирования непрерывных систем Процесс моделирования систем с помощью Simulink состоит из следующих этапов: 1. Перетаскивание с помощью мыши необходимых блоков из библиотек в окно модели. 2. Соединение блоков информационными связями. 3. Задание начальных значений и параметров блоков. 4. Задание параметров имитации. 5. Проведение имитации. 6. Анализ полученных результатов. 7. Изменение параметров блоков, структуры модели в случае получения неудовлетворительных результатов. Переход к этапу 5. Далее основные из этих этапов будут рассмотрены более подробно. Рис. 3 иллюстрирует процесс перетаскивания блока «Константа» (Constant) из библиотеки «Источники сигналов» (Sources) в окно модели. ~4~ ART 75104 УДК 336 Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. Блок «Константа» ОКНО МОДЕЛИ Активная библиотека: «Sources» - «Источники сигналов» Рис. 3. Перетаскивание блоков На рис. 4 представлен процесс соединения блоков «Константа» и «Усиление» (Gain) связью. Константа Усиление Связь Дискретный интегратор Рис. 4. Соединение блоков связями Следующим этапом построения модели является задание параметров и начальных значений блоков. На рис. 5. показано задание параметра блока «Константа», а также задание параметров блока «Дискретный интегратор» (Discrete-Time Integrator). ~5~ ART 75104 УДК 336 Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. Метод интегрирования Начальное значение Параметр Рис. 5. Задание начальных значений и параметров блоков На рис. 6. показан процесс задания параметров имитации, таких как начальное и конечное время, шаг и метод интегрирования. Начальное время Конечное время Шаг интегрирования Численный метод решения Рис. 6. Задание параметров имитации Окончательным этапом является проведение имитации с помощью построенной модели. Рис. 7 иллюстрирует этот этап. Как видно результаты вычислений в Simulink могут быть представлены как числовой, так и в графической форме. ~6~ ART 75104 УДК 336 Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. Кнопка запуска модели Вывод результатов расчета в графической форме Вывод результатов расчета в цифровой форме Рис. 7. Проведение имитации После некоторого беглого знакомства с пакетом Simulink перейдем непосредственно к цели исследования. Начнем решать поставленные задачи с построения моделей наиболее простых финансовых операций, а именно с операций начисления простых и сложных процентов. Простые и сложные проценты являются основой любых финансовых вычислений. В частности, они широко применяются при описании операций по банковским вкладам. Формулы вычисления наращенной (будущей) суммы имеют следующий вид :  простые проценты S  P1  i  n ;  сложные проценты S  P1  i  n , где P – первоначальная сумма, S – наращенная сумма, i – годовая процентная ставка (в долях), n – срок операции в годах. На рис. 8 показана модель операции начисления простых и сложных процентов в Simulink. Первоначальная сумма (например, величина банковского вклада в начальный момент времени), равная в данном случае 100 денежным единицам, задается как параметр в блоке «Константа». Процентная ставка, равная в данном случае 0.1 (т. е. 10% годовых), указывается в блоке «Усиление». В блоке «Дискретный интегратор» осуществляется процесс накопления начисленных процентов. Блоки без названия, представленные в виде прямоугольников с двумя плюсами, представляет собой ~7~ Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. ART 75104 УДК 336 сумматоры, функциональное назначение которых понятно из названия. Блок «Переключатель» (Manual Switch) позволяет менять режим начисления простых процентов на режим начисления сложных процентов и наоборот (положение переключателя, представленное на рис. 8, соответствует начислению сложных процентов). Результаты вычислений отражаются в числовой форме в блоках «Дисплей» (Display) и в графической форме – в блоках «Монитор» (Scope). В блоки Scope и Display выводится информация о наращенной сумме, а в блоки Scope1 и Display1 – данные о начисленных процентах. Так на рис. 8 представлена ситуация, когда за 10 лет на сумму в 100 денежных единиц были начислены проценты в Размере 159.4 денежных единиц. Соответственно наращенная сумма составила 259.4 денежных единиц. Переключатель: простые/сложные проценты Первоначальная сумма Сумма начисленных процентов Начисление процентов Результаты Рис. 8. Моделирование операции начисления простых и сложных процентов в Simulink На рис. 9 приведены результаты расчетов наращенной суммы в графическом виде для простых и сложных процентов. По оси абсцисс отложено время в годах, а по оси ординат – наращенная сумма. ~8~ ART 75104 УДК 336 Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. Простые проценты Сложные проценты Рис. 9. Результаты моделирования операции начисления простых и сложных процентов в Simulink Далее рассмотрим операции с потоками платежей. Начнем с операции определения современной стоимости денежного потока. Данный показатель вычисляется по следующей формуле: n A t 1 Ct 1  i t , где Ct – размер платежа в конце года t, i – годовая процентная ставка (в долях), n – срок операции в годах. Областями применения современной стоимости денежного потока, например, являются: 1. Определение чистой современной стоимости инвестиционного проекта. 2. Вычисление справедливой цены акции. 3. Расчет рыночной (текущей) цены облигации. Модель операции определения современной стоимости потока платежей в Simulink представлена на рис. 10. ~9~ ART 75104 УДК 336 Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. Суммирование дисконтированных элементов потока Табличное задание потока платежей Результат Фактор времени Процесс дисконтирования Множитель дисконтирования Рис. 10. Моделирование операции определения современной стоимости потока платежей в Simulink В данной модели элементы исходного денежного потока задаются в блоке Direct Look-Up Table (n-D), как показано на рис. 11.  t Множитель дисконтирования 1 1  i вычисляется в блоке «Функция» (Fcn) по ставке 0.1 (10% годовых). Как видно формула данного множителя отражена на самом блоке. Блок «Произведение» (Product) в данной модели предназначен для умножения элемента потока платежей на дисконтирующий множитель. Функции других блоков модели указаны на рис. 10, по этому в каких либо подробных пояснениях не нуждается. Рис. 11. Табличное задание элементов исходного потока платежей ~ 10 ~ Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. ART 75104 УДК 336 На рис. 12 приведены исходные данные и результаты моделирования операции определения современной стоимости потока платежей в Simulink. Наращенная стоимость потока платежей Исходный поток платежей Рис. 12. Исходные данные и результаты моделирования операции определения наращенной стоимости потока платежей в Simulink Следующей операцией, которая применяется при анализе потов платеж, является определение наращенной суммы. Данный показатель вычисляется по следующей формуле: n S   Ct  1  i  nt t 1 . Области применения: 1. Определение стоимости накопительного фонда. 2. Вычисление величины суммы на банковском счете с возможностью пополнения. Модель операции определения наращенной стоимости потока платежей в Simulink представлена на рис. 13. Функции основных блоков указаны на рисунке, и поэтому модель в каких-либо подробных пояснениях не нуждается. ~ 11 ~ ART 75104 УДК 336 Табличное задание потока платежей Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. Суммирование наращенных элементов потока Результаты Фактор времени Срок операции Процесс наращения Множитель наращения Рис. 13. Моделирование операции определения наращенной стоимости потока платежей в Simulink На рис. 14 приведены исходные данные и результаты моделирования операции определения наращенной стоимости потока платежей в Simulink. Наращенная стоимость потока платежей Исходный поток платежей Рис. 14. Исходные данные и результаты моделирования операции определения наращенной стоимости потока платежей в Simulink В заключение следует отметить, что в работе были рассмотрены только самые простые и распространенные детерминированные финансовые операции. В стороне остались операции, результат которых является случайным. Как было показано, Simulink обладает большими возможностями по визуальному моделированию различных финансовых операций. Ссылки на источники 1. 2. 3. Дьяконов В. П. Simulink 5/6/7: самоучитель. – М.: ДМК-Пресс, 2008. – 784 с. Дьяконов В. П. Simulink: специальный справочник. – СПб.: Питер. 2002 – 528 с. Четыркин Е. М. Финансовая математика: учеб. – М.: Дело, 2004. – 400 с. ~ 12 ~ ART 75104 УДК 336 Якушин Д. И., Архипов И. К., Абрамова В. И., Румянцева И. И., Степанов В. Г., Степанова Т. В., Юдин С. В. Визуальное моделирование финансовых операций в среде Simulink / Matlab // Концепт. – 2015. – Спецвыпуск № 06. – ART 75104. – 0,3 п. л. – URL: http://ekoncept.ru/2015/75104.htm. – Гос. рег. Эл № ФС 7749965. – ISSN 2304-120X. Dmitry Yakushin, Candidate of Technical Sciences, associate professor of the department of the General mathematical and natural-science disciplines Plekhanov Russian University of Economics, Tula branch, Tula [email protected] Igor Archipov, Doctor of Engineering, professor, professor of the department of the General mathematical and naturalscience disciplines Plekhanov Russian University of Economics, Tula branch, Tula [email protected] Vlada Abramova, Candidate of Technical Sciences, the associate professor, the associate professor of economy and business activity of the Tula State Lev Tolstoy Pedagogical University, Tula [email protected] Inna Rumyantseva, Candidate of Technical Sciences, associate professor, associate professor of the department of the General mathematical and natural-science disciplines Plekhanov Russian University of Economics, Tula branch, Tula [email protected] Vadim Stepanov, Candidate of Economic Sciences, associate professor, director of research and to developments, project manager of INFORT Group consulting, head of the department of the General mathematical and naturalscience disciplines Plekhanov Russian University of Economics, Tula branch, Tula [email protected] Tatyana Stepanova, head of INFORT Group consulting, senior teacher of the department of the General mathematical and natural-science disciplines Plekhanov Russian University of Economics, Tula branch, Tula [email protected] Sergey Yudin, Doctor of Engineering, professor, professor of the department of the General mathematical and naturalscience disciplines Plekhanov Russian University of Economics, Tula branch, Tula [email protected] Visual modeling of financial transactions in the environment of Simulink/Matlab Abstract. In work application of a packet of visual modeling of Simulink for the description of the main transactions of financial mathematics is considered. Benefits and possibilities of this tool are listed. The main stages of modeling are stated. Models of calculation of the increased amount when using the scheme of charge of simple and compound interests are constructed, and also models of transactions with flows of payments. Key words: MatLab, Simulink, visual modeling, financial transactions, simple and compound interests, flows of payments. Рекомендовано к публикации: Юдиным С. В., доктором технических наук, профессором ФГБОУ ВПО «Российский экономический университет им. Г. В. Плеханова», Тульский филиал ~ 13 ~

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

HTML-версии работы пока нет.
Cкачать архив работы можно перейдя по ссылке, которая находятся ниже.

Подобные документы

    Основные понятия теории моделирования. Виды и принципы моделирования. Создание и проведение исследований одной из моделей систем массового обслуживания (СМО) – модели D/D/2 в среде SimEvents, являющейся одним из компонентов системы MATLab+SimuLink.

    реферат , добавлен 02.05.2012

    Разработка интерфейса справочно-расчетного программного обеспечения. Расчетно-графический модуль. Решение задачи динамического моделирования в системе MATLAB/Simulink. Программная реализация, результаты моделирования системы на текстовых примерах.

    курсовая работа , добавлен 01.12.2014

    Обзор средств компьютерного имитационного моделирования по созданию веб-приложения для визуализации имитационных моделей. Система имитационного моделирования AnyLogic, Arena, SimuLab. Серверная, клиентская часть. Модель работы отдела банка и участка цеха.

    дипломная работа , добавлен 25.05.2015

    Simulink как интерактивный инструмент для моделирования, имитации и анализа динамических систем, его функциональные особенности, структура и назначение. Направления преобразования основных характеристик фильтра при изменении некоторых его параметров.

    контрольная работа , добавлен 10.11.2013

    Практические навыки моделирования структурных схем в среде SIMULINK пакета MATLAB. Построение графиков функций в декартовой системе координат. Решение систем линейных и нелинейных уравнений. Работа с блоками Sum, Algebraic Constraint, Gain, Product.

    лабораторная работа , добавлен 19.04.2009

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

    курсовая работа , добавлен 01.12.2014

    Принципиальная и структурная схема системы стабилизации угловой скорости ДПТ. Критерий устойчивости Гурвица. Передаточная функция разомкнутой системы. Исследование САР в среде Simulink. Проверка расчетов с помощью моделирования системы в среде Matlab.

    курсовая работа , добавлен 21.08.2012

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧЕРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ ИНСТИТУТ ИМЕНИ М.Е. ЕВСЕВЬЕВА»

Факультет физико – математический

Кафедра информатики и вычислительной техники

Реферат на тему:

Имитационное моделирование в MAtLab

Выполнил: Чапаев Р. М.

Студент 4 курса группы МДФ-113

Проверила: кан. Физ-мат. Наук, доцент

Кормилицына Т.В.

Саранск 2017

  1. Инструментарий имитационного моделирования Simulink

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

Общие сведения

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

Simulink является достаточно самостоятельным инструментом MATLAB , и при работе с ним совсем не требуется знать сам MATLAB и остальные его приложения. С другой стороны, доступ к функциям MATLAB и другим его инструментам остается открытым и их можно использовать в Simulink . Часть входящих в состав пакетов имеет инструменты, встраиваемые в Simulink (например, LTI - Viewer приложения Control System Toolbox пакета для разработки систем управления). Имеются также дополнительные библиотеки блоков для разных областей применения (например, Power System Blockset – моделирование электротехнических устройств, Digital Signal Processing Blockset – набор блоков для разработки цифровых устройств и т.д).

При работе с Simulink пользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков.

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

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

Преимущество Simulink заключается также в том, что он позволяет пополнять библиотеки блоков с помощью подпрограмм, написанных как на языке MATLAB , так и на языках С + +, Fortran и Ada .

  1. Создание модели

    1. Постановка задачи и начало создания модели

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

Для создания модели в среде Simulink необходимо последовательно выполнить ряд действий:



Рис 2.1. Пустое окно модели

    Расположить блоки в окне модели. Для этого необходимо открыть соответствующий раздел библиотеки (Например, Sources - Источники). Далее, указав курсором на требуемый блок и нажав на левую клавишу мыши – «перетащить» блок в созданное окно. Клавишу мыши нужно держать нажатой . На рис. 2.2 показано окно модели, содержащее блоки.



Рис 2.2. Окно модели, содержащее блоки

Для удаления блока необходимо выбрать блок (указать курсором на его изображение и нажать левую клавишу мыши), а затем нажать клавишу Delete на клавиатуре.

Для изменения размеров блока требуется выбрать блок, установить курсор в один из углов блока и, нажав левую клавишу мыши, изменить размер блока (курсор при этом превратится в двухстороннюю стрелку).

    Далее, если это требуется, нужно изменить параметры блока, установленные программой «по умолчанию». Для этого необходимо дважды щелкнуть левой клавишей мыши, указав курсором на изображение блока. Откроется окно редактирования параметров данного блока. При задании численных параметров следует иметь в виду, что в качестве десятичного разделителя должна использоваться точка, а не запятая. После внесения изменений нужно закрыть окно кнопкой OK . На рис. 2.3 в качестве примера показаны блок, моделирующий передаточную функцию и окно редактирования параметров данного блока.

Рис 2.3. Блок, моделирующий передаточную функцию и окно редактирования параметров блока

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

    После составления расчетной схемы необходимо сохранить ее в виде файла на диске, выбрав пункт меню File / Save As ... в окне схемы и указав папку и имя файла. Следует иметь в виду, что имя файла не должно превышать 32 символа, должно начинаться с буквы и не может содержать символы кириллицы и спецсимволы. Это же требование относится и к пути файла (к тем папкам, в которых сохраняется файл). При последующем редактировании схемы можно пользоваться пунктом меню Fille / Save File / Open ... в окне обозревателя библиотеки или из основного окна MATLAB .

Для удаления линии требуется выбрать линию (так же, как это выполняется для блока) и нажать клавишу Delete на клавиатуре. Схема

модели, в которой выполнены соединения между блоками, показана на рис. 2.4.



Рис 2.4. Схема модели

    1. Окно модели

Окно модели содержит следующие элементы (см. рис. 2.4 ):

    Заголовок с названием окна. (Вновь созданному окну присваивается имя Untitled с соответствующим номером)

    Меню с командами File , Edit , View и т.д.

    Панель инструментов.

    Окно для создания схемы модели.

    Строка состояния, содержащая информацию о текущем состоянии модели.

Меню окна содержит команды для редактирования модели, ее настройки и управления процессом расчета, работы файлами и т.п.:

    File (Файл) - Работа с файлами моделей.

    Edit (Редактирование) - Изменение модели и поиск блоков.

    View (Вид) - Управление показом элементов интерфейса.

    Simulation (Моделирование) - Задание настроек для моделирования и управления процессом расчета.

    Format (Форматирование) - Изменение внешнего вида блоков и модели в целом.

    Tools (Инструментальные средства) - Применение специальных средств для работы с моделью (отладчик, линейный анализ и т.п.)

    Help (Справка) - Вывод окон справочной системы.

Для работы с моделью можно также использовать кнопки на панели инструментов (рис. 2.5).

Рис 2.5. Панель инструментов окна модели

Кнопки панели инструментов имеют следующее назначение:

    New Model – Открыть новое (пустое) окно модели.

    Open Model – Открыть существующий mdl -файл.

    Save Model – Сохранить mdl -файл на диске.

    Print Model – Вывод на печать блок-диаграммы модели.

    Cut – Вырезать выделенную часть модели в буфер промежуточного хранения.

    Copy – Скопировать выделенную часть модели в буфер промежуточного хранения.

    Paste – Вставить в окно модели содержимое буфера промежуточного хранения.

    Undo – Отменить предыдущую операцию редактирования.

    Redo – Восстановить результат отмененной операции редактирования.

    Library Browser – Открыть окно обозревателя библиотек.

    Toggle Model Browser – Открыть окно обозревателя модели.

    Go to parent system – Переход из подсистемы в систему высшего уровня иерархии («родительсую систему»). Команда доступна только если открыта подсистема.

    Debug – Запуск отладчика модели.

    Start / Pause / Continue Simulation – Запуск модели на исполнение (команда Start ); после запуска модели на изображении кнопки выводится символ , и ей соответствует уже команда Pause (Приостановить моделирование); для возобновления моделирования следует щелкнуть по той же кнопке, поскольку в режиме паузы ей соответствует команда Continue (Продолжить).

    Stop – Закончить моделирование. Кнопка становится доступной после начала моделирования, а также после выполнения команды Pause .

    Normal / Accelerator – Обычный/Ускоренный режим расчета. Инструмент доступен, если установлено приложение Simulink Performance Tool .

В нижней части окна модели находится строка состояния, в которой отображаются краткие комментарии к кнопкам панели инструментов, а также к пунктам меню, когда указатель мыши находится над соответствующим элементом интерфейса. Это же текстовое поле используется и для индикации состояния Simulink : Ready (Готов) или Running (Выполнение).

В строке состояния отображаются также:

    масштаб отображения блок-диаграммы (в процентах, исходное значение равно 100%),

    индикатор степени завершенности сеанса моделирования (появляется после запуска модели),

    текущее значения модельного времени (выводится также только после запуска модели),

    используемый алгоритм расчета состояний модели (метод решения).

    1. Основные приемы подготовки и редактирования модели

      1. Добавление текстовых надписей

Для повышения наглядности модели удобно использовать текстовые надписи. Для создания надписи нужно указать мышью место надписи и дважды щелкнуть левой клавишей мыши. После этого появится прямоугольная рамка с курсором ввода. Аналогичным образом можно изменить и подписи к блоками моделей. На рис. 3.1 показаны текстовая надпись и изменение надписи в блоке передаточной функции. Следует иметь в виду, что рассматриваемая версия программы (Simulink 4 ) не адаптирована к использованию кириллических шрифтов, и применение их может иметь самые разные последствия: отображение надписей в нечитаемом виде, обрезание надписей, сообщения об ошибках, а также невозможность открыть модель после ее сохранения. Поэтому, применение надписей на русском языке для текущей версии Simulink крайне не желательно.



P ис 3.1. Текстовая надпись и изменение надписи в Transfer Function

      1. Выделение объектов

Для выполнения какого-либо действия с элементом модели (блоком, соединительной линией, надписью) этот элемент необходимо сначала выделить.

Выделение объектов проще всего осуществляется мышью. Для этого необходимо установить курсор мыши на нужном объекте и щелкнуть левой клавишей. Произойдет выделение объекта. Об этом будут свидетельствовать маркеры по углам объекта (см. рис. 3.1). Можно также выделить несколько объектов. Для этого надо установить курсор мыши вблизи группы объектов, нажать левую клавишу мыши и, не отпуская ее, начать перемещать мышь. Появится пунктирная рамка, размеры которой будут изменяться при перемещении мыши. Все охваченные рамкой объекты становятся выделенными. Выделить все объекты также можно, используя команду Edit / Select All .

Для стирания выделенного объекта можно вызвать команду Clear из меню Edit или из контекстного меню (рис. 3.2). Контекстное меню очень удобно тем, что для любого объекта оно выводит перечень команд, которые доступны в данном состоянии.



Рис. 3.2. Контекстное меню

Для восстановления объекта в окне модели следует щелкнуть левой кнопкой мыши в предполагаемом месте расположения объекта. После этого выполнение команды Paste из меню File окна Simulink или из контекстного меню помещает хранящийся в буфере объект (блок) в заданное место.

Следует учесть, что команда Clear стирает блок безвозвратно, то есть без помещения его в буфер обмена. Однако эту операцию можно отменить командой меню File / Undo окна Simulink .

      1. Вставка блоков и их соединение

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

Для подключения новых блоков нужны новые соединения. Они также легко выполняются с помощью мыши. Приемы ввода новых блоков и их соединений выполняются очень просто. При этом, приемы редактирования напоминают работу с популярными графическими редакторами, которую легко осваивают даже дети.

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



Рис. 3.3. Начало соединения блока источника с блоком осциллографа

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

Рис. 3.4. Выделенное соединение

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



Рис. 3.5. Начало создания петли линии соединения

Создание петли линии заканчивается отпусканием левой кнопки мыши.

Полученная таким образом линия показана на рис. 3.6.

Рис. 3.6. Готовая петля соединения

Особо стоит отметить возможность задания наклонных линий соединений при нажатой клавише Shift . Пример такого соединения дан на рис. 3.7.

Рис. 3.7. Пример соединения с наклонной линией

Создание отвода линии

Часто возникает необходимость сделать отвод от уже созданной линии. Пример создания такого отвода иллюстрирует рис. 3.8. Заметим, что при нажатой клавише Shift отвод строится наклонными линиями.

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


Рис. 3.8. Пример модели с отводом линии

Теперь можно запустить эту модель и посмотреть, какие сигналы действуют на выходах источника и интегратора. Результат запуска представлен на рис. 3.9.

Рис. 3.9. Результат моделирования

Нетрудно убедиться в том, что сигнал на выходе интегратора представляет собой ступенчато нарастающую линию. Когда на выходе генератора имеется высокий (условно) уровень напряжения, на выходе интегратора сигнал линейно нарастает. Когда уровень на генераторе равен 0, сигнал на выходе интегратора остается неизменным. Такой характер процесса, разумеется, хорошо знаком специалистам, но начинающим изучать электронные (и не только) системы, этот пример дает наглядную иллюстрацию работы интегратора

Удаление соединений

Для удаления соединительной линии достаточно выделить ее и выполнить команду Clear или Cut .

Изменение размеров блоков

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


Рис. 3.10. Растяжение блока

Увеличенный в размерах блок показан на рис. 3.11. Обратите внимание на то, что растягивается только графическое изображение (пиктограмма) блока, а размеры его названия в виде текстовой надписи не изменяются .

Рис. 3.11. Пример растяжения блока

Перемещение блоков и вставка блоков в соединение

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

Рис. 3.12. Исходное соединение и блок для вставки

Результат вставки дифференцирующего устройства в соединение между источником и осциллографом показан на рис. 3.13.

Рис. 3.13. Пример вставки блока в соединение

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

Итак, мы фактически создали модель дифференцирующего устройства и можем посмотреть, что происходит при дифференцировании 1

синусоидального сигнала. Результат запуска созданной модели представлен на рис. 3.14.



Рис. 3.14. Моделирование дифференцирующего устройства

Внимательно присмотревшись к осциллограммам, мы видим, что при входном синусоидальном сигнале выходной сигнал является косинусоидой. Это вполне отвечает математическим соотношениям для данного случая (как известно, производная sin(x) есть cos(x)).

Однако в самом начале процесса дифференцирования хорошо виден изъян работы модели – при t " 0 производная равна не 1, а 0.

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

Обратите внимание, что в отличие от блока интегратора (рис. 3.9) блок цифрового дифференциатора не имеет настраиваемых параметров. Его окно параметров, показанное на рис. 3.14, является чисто информационным.

Команды Undo и Redo в окне модели

Большую помощь в редактировании оказывает команда Undo – отмена последней операции. Она поддерживает свыше ста различных операций, включая операции добавления и стирания линий. Эту команду можно вызвать с помощью кнопки в панели инструмента окна модели или из меню Edit . Для восстановления отмененной one рации служит команда Redo.

      1. Форматирование объектов

В меню Format (также как и в контекстном меню, вызываемом нажатием правой клавиши мыши на объекте) находится набор команд форматирования блоков.

Команды форматирования разделяются на несколько групп:

  1. Изменение отображения надписей:

      Font - Форматирование шрифта надписей и текстовых блоков.

      Text alignment - Выравнивание текста в текстовых надписях.

      Flip name - Перемещение подписи блока.

      Show / Hide name - Отображение или скрытие подписи блока.

  1. Изменение цветов отображения блоков:

      Foreground color - Выбор цвета линий для выделенных блоков.

      Background color - Выбор цвета фона выделенных блоков.

      Screen color - Выбор цвета фона для всего окна модели.

  1. Изменение положения блока и его вида:

      Flip block Зеркальное отображение относительно вертикальной оси симметрии.

      Rotate block – Поворот блока на 90 0 по часовой стрелке.

      Show drop shadow - Показ тени от блока.

      Show port labels - Показ меток портов.

  1. Прочие установки:

      Library link display - Показ связей с библиотеками.

      Sample time colors - Выбор цвета блока индикации времени.

      Wide nonscalar lines - Увеличение/уменьшение ширины нескалярных линий.

      Signal dimensions - Показ размерности сигналов.

      Port data types - Показ данных о типе портов.

      Storage class - Класс памяти (параметр, устанавливаемый при работе

Real-Time Workshop).

    Execution order - Вывод порядкового номера блока в последовательности исполнения.

Команда Format / Font выводит окно с установками шрифта для текстовых надписей (рис. 3.15).

Рис. 3.15. Окно выбора шрифта

Наконец, на рис. 3.17 наглядно показано действие ряда операций форматирования иного рода на вид простой модели, которая была описана чуть выше. Кроме того, на этом рисунке масштаб модели увеличен вдвое с помощью команды View / Zoom In .



Рис. 3.17. Вид модели после операций форматирования

Этот рисунок демонстрирует возможности цветового оформления блоков, выделение нескалярных линий соединения, вывод данных о типе портов и введение указаний на порядок исполнения блоков в ходе моделирования.

Лабораторная работа № 8

Имитационное моделирование систем в MatLab Simulink .

Проектирование оптимальной налоговой ставки на прибыль

Определение проблемы, цель работы :

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

Проблема: теория и практика не знают величину приемлемой для всех налоговой ставки .

Задача : обосновать величину налоговой ставки.

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

Цель работы: исследовать зависимость поступлений в бюджет от величины налоговой ставки.

Пример разработки имитационной модели.

1. Уточнение и ограничение проблемы.

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

2. Выделение проблемной системы (объекты и функции)

Законодатель . Объявляет ставку налога.

Бюджет . Получает налоговые отчисления от прибыли предприятий.

Предприятия . По налоговой ставке на прибыль отчисляют средства в бюджет.

3. Построение словарной модели (описательная, дескриптивная, вербальная модель).

Государство объявляет ставку налога на прибыль и получает от фирм средства в бюджет. Фирмы обладают собственным капиталом, производят прибыль, отчисляют по налоговой ставке средства в бюджет. Постналоговая прибыль как нераспределенная прибыль полностью включается в собственный капитал фирмы. Дивиденды не выплачиваются, никаких других отчислений от прибыли не производится. Вся прибыль распределяется только на два потока: в бюджет, а остаток в собственный капитал.

4. Математическая модель.

Сумма налоговых поступлений от предприятий за моделируемый период накапливается на бюджетных счетах и представляется интегралом:

где BD (t ) – сумма, поступивших в бюджет средств от начала моделирования к моменту t , руб.;

PRF (t ) – доналоговая прибыль (profit ), получаемая предприятием в момент t , руб/год.;

TXRT – ставка налога на прибыль (tax rate );

t – текущее время, год.

tb – начальный (begin ) момент моделирования;

tf - последний (final ) момент моделирования.

Капитализируемый предприятием за время моделирования остаток прибыли

Прибыль в момент t

где RN – рентабельность капитала предприятия. Задается как параметр предприятия, исходное данное.

Компьютерная модель в программе Simulink

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

Вначале студент составляет модель из типовых элементов библиотеки на листе бумаги.

Первое действие - запустить Matlab . При этом возникает стартовое диалоговое окно, в котором расположены три встроенных окна: Command Window (командное) - справа, Launch Pad (Средства запуска) - в левом верхнем углу, Command Hustory (История команд) - в левом нижнем углу. Каждое подокно можно освободить из дока.

Для создания модели нужно выполнить действие File => New => Model . Это приводит к запуску программы Simulink , которая создает пустое окно модели.

Далее нужно вызвать браузер библиотеки компонент, используя команды меню View - Library Brouser или кнопку в панели инструментов Library Brouser. Окно браузера содержит две панели: слева иерархическое дерево библиотеки, справа - содержимое выбранной в левой панели папки с блоками. В папке могут быть подбиблиотеки и блоки. Каждый блок и подбиблиотека имеют визуальный семантический образ и надпись.

Разместите окна браузера и модели таким образом, чтобы они не перекрывали друг друга. Теперь можно формировать модель визуальным методом.

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

Соедините блоки коннекторами. Для этого нужно протаскивать мышь от одной соединяемой точки к другой. При отпускании кнопки мыши в модели отображается коннектор со стрелкой.

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

Пример построения исследуемой модели в Simulink

Окно модели представлено на следующем рисунке.

Модель для определения оптимальной ставки

налогообложения прибыли предприятия

Создать на экране дисплея пустое окно модели и вызвать браузер библиотеки блоков.

На первом шаге построения модели следует разместить в окне все блоки модели.

На схеме левый блок с именем « Business » («Бизнес») представляет накопитель собственного капитала предприятия. Для его создания следует выполнить следующие действия. Выбрать в браузере папку Simulink . В ней открыть папку Discrete , используя кнопку подбиблиотеки Discrete (Дискретные). Из подбиблиотеки Discrete Discrete Time Integrator (Интегратор дискретного времени) и там отпустить в удобном месте. Укажите новое название блока – Business .

Для блока « Business » в окне его свойств следует установить InitialCondition (Начальное условие) равное 1.

На вход блока « Business » («Бизнес») поступает поток капиталовложений CapF. Это постналоговая, нераспределенная прибыль. Она аккумулируется, бизнесом и увеличивает его собственный капитал. Выход блока – это величина капитала бизнеса CapS.

Справа от блока « Business » расположен блок умножения (с крестиком), он создает поток прибыли PrfF как произведение капитала предприятия на рентабельность Rntb. Блок умножения « Product » расположен в библиотеке « Math Operation ».

Блок Rntb «Рентабельность» задается библиотечным блоком « Constant » («Константа») с именем Rntb. Блок « Constant » («Константа») расположен в библиотеке « Source » («Источники»). Для этого блока следует задать имя Rntb . Также необходимо указать имя переменной Rntb рабочей области, в которой задаются значения константы этого блока – в контекстном меню в окне команды ConstantParameters в текстовом поле ConstantValue (значение константы) следует ввести имя переменной Rntb . Для удобства построения в дальнейшем соединительных линий следует повернуть блок Rntb так, чтобы его выход располагался на верхней границе (контекстное меню – Format – RotateBlock ).

Под блоком Rntb также следует задать как комментарий (двойной щелчок левой кнопкой мыши в соответствующей точке окна) информацию о векторе плана экспериментов по фактору рентабельности . В матричной среде Matlab это означает, что мы начнем имитационные эксперименты для рентабельности равной 20% с шагом в 20% и последним экспериментом для 80%. Для автоматизации экспериментов константу рентабельности мы можем заменить на переменную и управлять ее значениями из программного файла Matlab.

Ниже блока рентабельности расположен блок Scope1 – это графопостроитель для отображения переменной капитала предприятия CapS. Выбрать в браузере папку Simulink . В ней открыть папку регистраторов Sinks (Регистраторы). Из библиотеки Sinks левой кнопкой мыши перетащить в окно модели блок Scope и там отпустить в удобном месте. Затем следует указать имя блока Scope1.

Двойным щелчком по блоку Scope в модели вызвать его демонстрационное окно. Разместить это окно на экране в удобном месте, перемещая его за заголовок левой кнопкой мыши.

Следующий блок умножения (с крестиком) создает поток отчислений от прибыли в госбюджет TxF как произведение потока прибыли на налоговую ставку TaxRate.

Ставка налога задается библиотечным блоком « Constant » («Константа») с именем TaxRate (см. блок Rntb ). Новому блоку «Константа» следует присвоить имя TaxRate , указать имя связанной и ним переменной в рабочей среде – TaxRate (поле ConstantValue ). Рекомендуется повернуть этот блок.

Под блоком TaxRate как комментарий задан вектор плана экспериментов по фактору налоговая ставка . Это означает, что мы начнем имитационные эксперименты для ставки равной 0% с шагом в 10% и последним экспериментом для 100%. Для автоматизации экспериментов константу налоговой ставки мы можем заменить на переменную и управлять ее значениями из программного файла Matlab.

Блок « Budget » («Госбюджет») представлен Интегратором дискретного времени (см. блок « Business »). Он аккумулирует налоговые поступления TxF за период моделирования в виде переменной BdjS.

Справа от блока « Budget » блок Scope строит график накопления средств от налога в бюджете (см. блок Scope 1). Обязательно необходимо открыть отдельное окно построения графиков для блока Scope Scope установить флажок « Save data to work space ScopeData и ее формат Array .

Блок Display отображает числовые значения переменной BdjS. Блок « Display » расположен в библиотеке « Sinks » (Регистраторы).

Круглый блок сумматора вверху модели вычисляет прибыль в распоряжении предприятия как разницу между доналоговой прибылью и частью прибыли отчисляемой по налоговой ставке в бюджет. Блок сумматора расположен в библиотеке « MathOperations ». Рекомендуется повернуть блок. Затем двойным щелчком по блоку вызвать окно его свойств и в поле « List of signs » («Список знаков») указать список «|-+».

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

Для ветвления соединительных линий следует использовать правую кнопку мыши.

Обязательная настройка – указать параметры конфигурации модели с помощью команды Simulation - ConfigurationParameters Solver » необходимо выбрать « Discrete (no continuous states )».

Результат - модель системы и пустое окно регистратора.

Запуск процесса выполнения модели

Включить симулирование (моделирование) можно командой Simulation => Start (или кнопкой на панели инструментов модели). В окне Scope отображаются графики сигналов.

Исходные данные для параметров модели

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

В соответствующих блоках заполняются поля: InitialCondition (Начальное условие) для блока Интегратор и ConstantValue Rntb и TaxRate .

Средства контроля за экспериментом

Средства управления экспериментом – это диалоговые окна констант- факторов: ставки налога и рентабельности. Двойным щелчком мыши открываются окна и меняются значения факторов. Устанавливаются для предприятий различные ставки налогов и рентабельности, изменяется начальный капитал предприятий.

Средства отображения информации о показателях экспериметов – это графопостроители Scope и индикаторы чисел Display.

Управление экспериментом

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

В ходе лабораторной работы предполагается использование двух вариантов управления экспериментом:

1. Изменение параметров модели вручную (внесение вручную изменений в соответствующие блоки: InitialCondition (Начальное условие) для блока « Business » (Бизнес-Интегратор) и ConstantValue (значение константы) для блоков констант Rntb и TaxRate (или задавать значения переменных Rntb и TaxRate в рабочей среде MatLab ).

2. Автоматическое планирование и управление экспериментом. Для этого составляется программа на языке Matlab в файле с расширением.m.

Вариант п рограмм ы управления эксперимент ом

Рассмотрим вариант программы « taxrate 02. m » управления экспериментом для определения оптимальной ставки налогообложения прибыли предприятия.

Пусть построенная ранее модель сохранена в рабочей папке Work среды MatLab в файле « taxrate 2. mdl ».

Предварительно обязательно необходимо указать параметры конфигурации модели с помощью команды Simalation - ConfigurationParameters . Так как модель дискретная, то в поле « Solver » необходимо выбрать « Discrete (no continuous states )» (описание см. выше).

Также обязательно необходимо открыть отдельное окно построения графиков для блока Scope (двойным щелчком) и в нем настроить ‘ Scope ’ Parameters (Параметры окна Scope – графопостроитель). Для этого в окне Scope следует нажать вторую кнопку на панели инструментов и на закладке DataHistory окна ‘ Scope ’ Parameters установить флажок « Save data to work space » («Сохранить данные в рабочую область») и задать имя переменной ScopeData и ее формат Array (описание см. выше).

Текст m -файла « taxrate 02. m » имеет следующий вид:

% определение оптимальной ставки налогообложениа прибыли предприатиа

TaxRate= %План-вектор эксперимента по ставке налога

hold on

%Разрешить дополнение графика кривыми

For Rntb = 0.2:0.2:1 %Цикл и план-вектор по рентабельности

sim("TaxRate2") %Run model

Plot(TaxRate, ScopeData(end,2:end))

%Чертить график поступлений в бюджет

text(TaxRate(7), ScopeData(end,8),["\leftarrow" "Rntb=" num2str(Rntb)]);

grid on%Чертить сетку

hold off %Запретить дополнение графика

%======= end TaxRate program ===============

В цикле for цикл выполняется эксперимент при различных величинах рентабельности бизнес: командой sim запускается модель и начинается моделирование, имитация налогового взаимодействия государства и предприятия.

После окончания имитации команда plot чертит один график, используя данные рабочего (work space) пространства Matlab, записанные туда графопостроителем Scope.

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

Задания лабораторной работы

1. Однофакторный имитационный эксперимент

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

Запустив модель из меню Simulation, наблюдаем в окнах Scope изменение показателей предприятий и бюджета во времени: рост поступлений прибыли, отчислений по налогу в бюджет и капитализацию нераспределенной прибыли бизнесом. Устанавливая различные ставки налога в соответствии с вариантом каждый раз прогоняем модель.

Серия экспериментальных графиков накопления средств в бюджете за время моделирования представлена на следующих рисунках.

Поступление средств в бюджет

Рост капитала фирмы

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

2. Двухфакторный имитационный эксперимент

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

В командном окне Matlab откроем вышеописанный файл TaxRa te 02.m . Файл откроется в окне редактора. Этот файл будет управлять двухфакторным экспериментом. Запустим программу командой меню Tools - Run . В результате моделирования Matlab построит графики зависимости поступлений в бюджет от налоговой ставки и рентабельности предприятий.

Вид экрана экспериментальной модели представлен на следующем рисунке.

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

На следующем рисунке приведена экспериментальная зависимость поступлений в бюджет от налоговой ставки для предприятий различной рентабельности.

Анализ результатов

Чем выше рентабельность предприятия, тем ярче выражена оптимальная ставка налогообложения. С ростом рентабельности оптимальная ставка уменьшается (сдвигается влево), стремясь к фиксированной величине, на наших графиках, примерно, к 23%.

Анализ результатов имитации будет неожиданным для «специалистов», «взволнованных» сверхдоходами корпораций и прогрессивным налогообложением. Чем выше рентабельность бизнеса, тем выгоднее государству уменьшить ставку налога. Предприятия с низкой рентабельностью целесообразно облагать более высокими налогами.

Варианты:

Вариант

Рентабельность

Налоговая ставка

Начальный капитал

0 .1

УЛЬЯНОВСК 2004

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

РАЗРАБОТКА ИМИТАЦИОННЫХ МОДЕЛЕЙ В СРЕДЕ MATLAB

Методические указания

УЛЬЯНОВСК 2004

Рецензент – кандидат технических наук, доцент Шишкин В. В.

Одобрено секцией методических пособий научно-методического совета Ульяновского государственного технического университета

Разработка имитационных моделей в среде MATLAB:

Р17 Методические указания для студентов специальностей 01719, 351400 /Сост. А. М. Наместников. – Ульяновск, УлГТУ, 2004. – 72с.

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

Методические указания предназначены для студентов специальностей 01719, 351400 очной, вечерней, заочной и дистанционной форм обучения.

УДК 681.3.082 (076) ББК 32.97.я7

Учебное издание

Разработка имитационных моделей в среде MATLAB

Методические материалы

Составитель: НАМЕСТНИКОВ Алексей Михайлович

Редактор С. Г. Студенникова Подписано в печать 27.02.2004. Формат 60×84/16. Бумага писчая. Печать трафаретная. Усл. печ. л. 4,18.

Уч.-изд. л. 3,98. Тираж 100 экз. Заказ. Ульяновский государственный технический университет 432027, Ульяновск, Сев. Венец, 32.

Типография УлГТУ, 432027, Ульяновск, Сев. Венец, 32.

© Оформление УлГТУ, 2004

1. Инструментарий имитационного моделирования Simulink

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

Общие сведения

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

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

Simulink (например, LTI-Viewer приложения Control System Toolbox –

пакета для разработки систем управления). Имеются также дополнительные библиотеки блоков для разных областей применения (например, Power System Blockset – моделирование электротехнических устройств,Digital Signal Processing Blockset – набор блоков для разработки цифровых устройств и т.д).

При работе с Simulink пользователь имеет возможность модернизировать библиотечные блоки, создавать свои собственные, а также составлять новые библиотеки блоков.

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

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

Преимущество Simulink заключается также в том, что он позволяет пополнять библиотеки блоков с помощью подпрограмм, написанных как на языкеMATLAB, так и на языкахС + +, Fortran иAda .

2. Создание модели

2.1. Постановка задачи и начало создания модели

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

Для создания модели в среде Simulink необходимо последовательно выполнить ряд действий:

1) Создать новый файл модели с помощью команды File/New/Model, или

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

Рис 2.1. Пустое окно модели

2) Расположить блоки в окне модели. Для этого необходимо открыть соответствующий раздел библиотеки (Например, Sources - Источники). Далее, указав курсором на требуемый блок и нажав на левую клавишу мыши – «перетащить» блок в созданное окно.Клавишу мыши нужно держать нажатой . На рис. 2.2 показано окно модели, содержащее блоки.

Рис 2.2. Окно модели, содержащее блоки

Для удаления блока необходимо выбрать блок (указать курсором на его изображение и нажать левую клавишу мыши), а затем нажать клавишу Delete на клавиатуре.

Для изменения размеров блока требуется выбрать блок, установить курсор в один из углов блока и, нажав левую клавишу мыши, изменить размер блока (курсор при этом превратится в двухстороннюю стрелку).

3) Далее, если это требуется, нужно изменить параметры блока, установленные программой «по умолчанию». Для этого необходимо дважды щелкнуть левой клавишей мыши, указав курсором на изображение блока. Откроется окно редактирования параметров данного блока. При задании численных параметров следует иметь в виду, что в качестве десятичного разделителя должна использоваться точка, а не запятая. После внесения изменений нужно закрыть окно кнопкой OK . На рис. 2.3 в качестве примера показаны блок, моделирующий передаточную функцию и окно редактирования параметров данного блока.

Рис 2.3. Блок, моделирующий передаточную функцию и окно редактирования параметров блока

4) После установки на схеме всех блоков из требуемых библиотек, нужно выполнить соединение элементов схемы. Для соединения блоков необходимо указать курсором на «выход» блока, а затем, нажать и, не отпуская левую клавишу мыши, провести линию к входу другого блока. После чего отпустить клавишу. В случае правильного соединения, изображение стрелки на входе блока изменяет цвет. Для создания точки разветвления в соединительной линии нужно подвести курсор к предполагаемому узлу и, нажав правую клавишу мыши, протянуть линию.

5) После составления расчетной схемы необходимо сохранить ее в виде файла на диске, выбрав пункт меню File/Save As... в окне схемы и указав папку и имя файла. Следует иметь в виду, что имя файла не должно превышать 32 символа, должно начинаться с буквы и не может содержать символы кириллицы и спецсимволы. Это же требование относится и к пути файла (к тем папкам, в которых сохраняется файл). При последующем редактировании схемы можно пользоваться пунктом менюв окне обозревателя библиотеки или из основного окнаMATLAB.

Для удаления линии требуется выбрать линию (так же, как это выполняется для блока) и нажать клавишу Delete на клавиатуре. Схема

модели, в которой выполнены соединения между блоками, показана на рис. 2.4.

Рис 2.4. Схема модели

2.2. Окно модели

Окно модели содержит следующие элементы (см. рис. 2.4 ):

1. Заголовок с названием окна. (Вновь созданному окну присваивается имя Untitled с соответствующим номером)

2. Меню с командами File ,Edit ,View и т.д.

3. Панель инструментов.

4. Окно для создания схемы модели.

5. Строка состояния, содержащая информацию о текущем состоянии модели.

Меню окна содержит команды для редактирования модели, ее настройки

и управления процессом расчета, работы файлами и т.п.:

File (Файл) - Работа с файлами моделей.

Edit (Редактирование) - Изменение модели и поиск блоков.

View (Вид) - Управление показом элементов интерфейса.

Simulation (Моделирование) - Задание настроек для моделирования и управления процессом расчета.

Format (Форматирование) - Изменение внешнего вида блоков и модели в целом.

Tools (Инструментальные средства) - Применение специальных средств для работы с моделью (отладчик, линейный анализ и т.п.)

Help (Справка) - Вывод окон справочной системы.

Для работы с моделью можно также использовать кнопки на панели инструментов (рис. 2.5).

Рис 2.5. Панель инструментов окна модели

Кнопки панели инструментов имеют следующее назначение:

1. New Model – Открыть новое (пустое) окно модели.

2. Open Model – Открыть существующий mdl -файл.

3. Save Model – Сохранить mdl -файл на диске.

4. Print Model – Вывод на печать блок-диаграммы модели.

5. Cut – Вырезать выделенную часть модели в буфер промежуточного хранения.

6. Copy – Скопировать выделенную часть модели в буфер промежуточного хранения.

7. Paste – Вставить в окно модели содержимое буфера промежуточного хранения.

8. Undo – Отменить предыдущую операцию редактирования.

9. Redo – Восстановить результат отмененной операции редактирования.

10. Library Browser – Открыть окно обозревателя библиотек.

11. Toggle Model Browser – Открыть окно обозревателя модели.

12. Go to parent system – Переход из подсистемы в систему высшего уровня иерархии («родительсую систему»). Команда доступна только если открыта подсистема.

13. Debug – Запуск отладчика модели.

14. Start/Pause/Continue Simulation – Запуск модели на исполнение

(команда Start ); после запуска модели на изображении кнопки выводится

символ , и ей соответствует уже командаPause (Приостановить моделирование); для возобновления моделирования следует щелкнуть по той же кнопке, поскольку в режиме паузы ей соответствует командаContinue (Продолжить).

15. Stop – Закончить моделирование. Кнопка становится доступной после начала моделирования, а также после выполнения командыPause .

16.Normal/Accelerator – Обычный/Ускоренный режим расчета. Инструмент доступен, если установлено приложениеSimulink Performance Tool .

В нижней части окна модели находится строка состояния, в которой отображаются краткие комментарии к кнопкам панели инструментов, а также

к пунктам меню, когда указатель мыши находится над соответствующим элементом интерфейса. Это же текстовое поле используется и для индикации состояния Simulink :Ready (Готов) илиRunning (Выполнение).

В строке состояния отображаются также:

масштаб отображения блок-диаграммы (в процентах, исходное значение равно 100%),

индикатор степени завершенности сеанса моделирования (появляется после запуска модели),

текущее значения модельного времени (выводится также только после запуска модели),

используемый алгоритм расчета состояний модели (метод решения).

3. Основные приемы подготовки и редактирования модели

3.1. Добавление текстовых надписей

Для повышения наглядности модели удобно использовать текстовые надписи. Для создания надписи нужно указать мышью место надписи и дважды щелкнуть левой клавишей мыши. После этого появится прямоугольная рамка с курсором ввода. Аналогичным образом можно изменить и подписи к блоками моделей. На рис. 3.1 показаны текстовая надпись и изменение надписи в блоке передаточной функции. Следует иметь в виду, что рассматриваемая версия программы (Simulink 4 ) не адаптирована к использованию кириллических шрифтов, и применение их может иметь самые разные последствия: отображение надписей в нечитаемом виде, обрезание надписей, сообщения об ошибках, а также невозможность открыть модель после ее сохранения. Поэтому, применение надписей на русском языке для текущей версииSimulink крайне не желательно.

Pис 3.1. Текстовая надпись и изменение надписи вTransfer Function

Новое на сайте

>

Самое популярное