Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Майорова Семенова_верстка.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
10.02 Mб
Скачать

с.н. мАЙОРОВА

О.А. Семенова

КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ

Лабораторный практикум

Самара

Самарский государственный технический университет

2013

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«САМАРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

ФИЛИАЛ В Г. СЫЗРАНИ

с.н. мАЙОРОВА

О.А. Семенова

КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ

Лабораторный практикум

Самара

Самарский государственный технический университет

2013

Печатается по решению редакционно-издательского совета СамГТУ

УДК 004.94

ББК 32.973-018.2

М 14

Майорова С.Н., Семенова О.А.

М 14 Компьютерное моделирование: лаб. практикум / С.Н. Майорова, О.А. Семенова. – Самара: Самар. гос. техн. ун-т, 2012. – 89 с.: ил.

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

Р е ц е н з е н т ы: канд. техн. наук Ф.В. Дремов,

канд. техн. наук Ю.А. Мелешкин

УДК 004.94

ББК 32.973-018.2

М 14

© С.Н. Майорова, О.А. Семенова, 2013

© Самарский государственный

технический университет, 2013

Предисловие

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

Целью лабораторного практикума является приобретение студентами знаний и практических навыков по моделированию объектов и систем в наиболее популярных пакетах компьютерного моделирования VisSim и MatLab. При этом упор делается на практическую сторону процесса моделирования, приводится большое количество примеров и иллюстраций, изучается технология создания моделей и способы оптимальной настройки программных пакетов.

Значительная часть излагаемого материала была использована авторами при чтении дисциплин «Моделирование» и «Моделирование систем».

Лабораторный практикум в большей степени ориентирован на подготовку бакалавров по направлениям 230100 «Информатика и вычислительная техника» и 220300 «Автоматизированные технологии и производства». Он может также использоваться студентами дневной, очно-заочной и заочной форм обучения для самостоятельного изучения компьютерного моделирования. Особенно полезно издание студентам-заочникам для выполнения курсовых работ по моделированию.

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

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

Для успешного выполнения практической части пособия необходимо знать основы работы на персональном компьютере с операционной системой Windows 9.x или с ее более поздними версиями, так как интерфейс системы моделирования MatLab и VisSim соответствует стилю типичных приложений Windows.

Введение

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

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

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

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

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

Лабораторный практикум рассчитан на активное изучение моделирования и программных пакетов MatLab и VisSim с использованием персонального компьютера (выполнение заданий, предлагаемых в практической части).

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

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

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

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

ПРИНЦИПЫ МОДЕЛИРОВАНИЯ ЛИНЕЙНЫХ СИСТЕМ В ПРОГРАММНОМ ПАКЕТЕ VISSIM

Цель работы:

  • изучить возможности программного пакета VisSim;

  • приобрести навыки формирования структурной схемы системы, выбора методов и параметров моделирования линейных систем.

Теоретические сведения о принципах моделирования в VisSim

линейных систем

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

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

Система VisSim предназначена для решения задач компьютерного моделирования, относящихся к разным группам:

  • линейные системы;

  • нелинейные системы;

  • непрерывные во времени системы;

  • дискретные во времени системы;

  • системы с изменяемыми во времени параметрами;

  • гибридные системы;

  • многоцелевые и многокомпонентные системы;

  • одновходовые и одновыходовые системы SISO;

  • многовходовые и многовыходовые системы MIMO.

Система VisSim имеет типовые библиотечные блоки, из которых может легко собираться модель как простая, так и самая сложная.

Блоки выбираются с панели блоков щелчком левой клавиши или из одной из групп библиотеки блоков в позиции Blocks меню.

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

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

Настройку параметров моделирования можно осуществить в меню Simulate. Где изменяя настройки, можно регулировать процесс компьютерного моделирования.

Позиция Simulate имеет следующие команды:

Go – пуск моделирования;

Stop – остановка моделирования;

Single Step – пуск очередного шага при пошаговом моделировании;

Continue – продолжение моделирования после остановки;

Reset Sim – сброс моделирования;

Simulation Properties... – вывод окна свойств (параметров) моделирования;

Optimization Properties... – вывод окна свойств оптимизации;

Snap States – моделирование с запоминанием состояния;

Reset Srates – сброс состояния.

Время моделирования и размер шага можно настроить в меню Range:

Start – начальное время моделирования;

Step Size – размер шага моделирования;

End – конечное время моделирования.

Размер шага Step Size указывает на интервал, по прошествии которого алгоритм метода интегрирования обновляет значение интеграла входной переменной, просмотр результатов моделирования можно осуществлять с помощью блоков таких как: блок цифрового индикатора (display) или графопостроителя (plot). При большом шаге моделирования, полученные результаты могут не соответствовать ожидаемому результату, на осциллографе будут представлены колебания величин и это может привести к остановке модели в связи с переполнением разрядной сетки используемых при компьютерном моделировании величин. В программе предусмотрена процедура сброса ошибок, для этого нужно выполнить команду Clear Errors в позиции Edit меню.

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

Иногда, например, при использовании блоков систем Mathcad и МАТLAB, на которые возложены основные операции моделирования, желателен однократный запуск модели. Для этого достаточно установить начальное время моделирования Start = 0 и задать Step Size = End = 1. При этом будет выполнен только один шаг моделирования.

На вкладке Range программы VisSim можно также задать ряд опций режимов компьютерного моделирования.

Run in Real Time – режим расчетов в реальном времени (или свободный с максимальной производительностью компьютера);

Auto Restart – задание автоматического перезапуска моделирования (режим «непрерывного» моделирования);

Retain State – сохранение данных предшествующего компьютерного моделирования.

Моделирование систем часто требует реализации функции интегрирования.

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

В VisSim существует ряд алгоритмов интегрирования различной степени точности:

  • метод Эйлера;

  • метод трапеций;

  • метод Рунге-Кутта 2-го порядка;

  • метод Рунге-Кутта 4-го порядка;

  • адаптивный метод Рунге-Кутта 5-го порядка;

  • адаптивный метод Булирша-Стоера;

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

Пользователь имеет возможность выбрать нужный метод на вкладке Integration Method.

Метод Эйлера – это простой одношаговый метод интегрирования. Оценка значения вычисленного интеграла выполняется один раз за шаг симуля ции. При оптимальном выборе шага метод обеспечивает самую высокую скорость моделирования. Но он критичен к выбору шага и нередко приводит к расхождению решения. Да и точность метода явна невысока.

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

Метод Рунге-Кутта 2-го порядка имеет второй порядок. Он вычисляет производную в середине шага для оценки значения интеграла в конечной точке шага. По точности вычислений он эквивалентен методу трапеций.

Метод Рунге-Кутта 4-го порядка имеет погрешность на два порядка меньше, чем у методов трапеций и Рунге-Кутта 2-ого порядка. Метод рассчитывает производную четыре раза на каждом шаге: в начальной точке, дважды в середине шага и в конце шага. Результаты используются для оценки значения интеграла. Это надежный и апробированный метод, пригодный для решения большинства задач моделирования, за исключением жестких.

Адаптивный метод Рунге-Кутта 5-го порядка имеет точность пятого порядка. Адаптивность метода заключается в том, что при ускорении изменений входных координат алгоритм автоматически уменьшает размер шага. Это уменьшает вероятность «разноса» решений.

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

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

В VisSim имеется три типа интегрирующих блоков:

  • блок идеального интегратора 1/S;

  • блок интегрирования с насыщением Limited Integrator;

  • блок интегрирования со сбросом Reset Integrator.

Функцию интегрирования (1.1) реализует блок идеального интегратора 1/S.

. (1.1)

Его обозначения исходят из операторного выражения для операции интегрирования. Интегрирование задается от начального момента времени tmrt до конечного tend. Таким образом, блок вычисляет численное значение определенного интеграла при начальном значении (условии) y(tstart). Идеальность блока заключается в отсутствии ограничений на значение вычисленного интеграла у, максимальное и минимальное значение которого могут ограничиваться только разрядной сеткой компьютера. На рис. 1.1 представлен пример использования блока идеального интегратора.

Р и с. 1.1. Использование блока идеального

интегратора

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

Интегрирование задается методом Рунге-Кутта 2-го порядка, установленным по умолчанию. Окно установки параметров (свойств) идеального интегратора, представлено на рис. 1.2 и позволяет задать начальное значение Y (Initial Condition), идентификационный номер интегратора, зафиксированное состояние интегратора (Checkpoint State), задание метки блока (Label).

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

Р и с. 1.2. Применение блока

идеального интегратора

Идентификационный номер позволяет задать номер интегратора, если при моделировании предусмотрено использование нескольких интеграторов. Блок интегрирования с насыщением Limited Integrator возвращает сигнал, который может изменяться только в том случае, если он находится в заданных пределах low<уp. Если у достигает значения нижнего порога low (нижнее значение), то дальнейшее уменьшение сигнала на выходе ограничивается значением l. Аналогично, если сигнал на выходе достигает верхнего предела иp (верхнее значение), он перестает изменяться.

Блок Limited Integrator, представленный на рис. 1.3, более корректно отслеживает работу функции интегрирования и рекомендуется к применению в том случае, когда надо ограничивать пределы изменения выходного сигнала. Блок имеет один выход и три входа. На верхний вход подается интегрируемый сигнал, а на входы ниже – пороговые сигналы low и up. Применение блока показано на рис. 1.3. Окно установки параметров этого блока аналогично представленному на рис. 1.2.

Р и с. 1.3. Пример использования интегратора с насыщением

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

Еще один тип интегратора в системе VisSim представлен блоком интегрирования со сбросом resetIntegrator. Этот блок также имеет три входа и один выход. Верхний вход служит для подачи подлежащего интегрированию сигнала, средний – для подачи управляющего сигнала b и нижний для задания уровня сброса r. Если уровень сигнала на управляющем входе по абсолютному значению меньше 1, то интегратор интегрирует как обычно. В противном случае интегратор сбрасывается и прекращает интегрирование. При этом сигнал на его выходе устанавливается равным значению сигнала на нижнем выходе r. Пример работы интегратора со сбросом приведен на рис. 1.4. Здесь сигнал сброса формируется с помощью двух ступенек и блока суммирования.

Одна ступенька (единичный положительный перепад) формируется с задержкой на 20 с, а другая (единичный отрицательный перепад) – с задержкой в 60 с. В результате на выходе схемы суммирования создается прямоугольный им пульс с амплитудой 1, задержкой 20 с и длительностью 40 с. Он и используется для сброса интегратора.

Р и с. 1.4. Пример использования интегратора

со сбросом

Окно установки параметров у интегратора со сбросом такое же, как у идеального интегратора. Блок суммирования summingJunctions служит для выполнения операции y = xl + x2, где xl и х2 – сигналы на входах блока.

Этот блок может использоваться с векторными и матричными данными. По любому входу можно задать операцию вычитания. Для этого при нажатой клавише Ctrl подведите курсор мыши к нужному входу и в момент смены образа курсора на стрелку нажмите правую кнопку мыши. Знак + у входа сменится на знак – (рис. 1.5).

Р и с. 1.5. Блок суммирования/вычитания

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

Многие даже простые технические устройства являются системами; поскольку в них явно выделяется множество отдельных элементов и даже входящих в них подсистем. Если такие системы используются для управления и контроля, то их называют управляющими системами или системами контроля.

Если коэффициенты передачи элементов систем не зависят от уровня сигналов, то системы относятся к линейным системам.

Рассмотрим простейшие линейные системы. На рис. 1.6 представлены три варианта моделей простейших линейных устройств.

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

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

Р и с. 1.6. Два варианта линейных систем

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

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

Из теории обратной связи известно, что комплексный коэффициент передачи системы с обратной связью, осуществляемой через инвертирующий вход, в операторной форме (1.2):

(1.2)

Если пренебречь частотной зависимостью коэффициентов передачи прямого канала системы (усилителя) Ку и канала обратной связи , то можно получить следующее выражение для коэффициента передачи безынерционной системы (усилителя) с отрицательной обратной связью (1.3):

(1.3)

В данном случае =10, а =0,5, таким образом, К=10/(1+0.510)=10/6=1,667.

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

При этом обратная связь при отсутствии частотных искажений классифицируется как положительная.

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

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

Третий вариант на рис. 1.6 можно рассматривать как предыдущий, но теперь уже замкнутый в кольцо, т.е. с восстановленной цепью отрицательной обратной связи. При внимательном рассмотрении последнего варианта модели системы нетрудно заметить, что блоки «усиления» gain исключены. Но зато в блоках передаточных характеристик проставлены параметры Gain = 10 и 0,5. Это позволяет несколько упростить модель системы, сохранив все ее характеристики.