Линейные системы с одним входом и одним выходом.




Государственное профессиональное

Образовательное учреждение

«Енакиевский металлургический техникум»

ЕН.02 Компьютерное моделирование

Лекция № 12

Тема: Моделирование линейных и нелинейных систем.

Содержание

 

1. Линейные системы с одним входом и одним выходом.

2. Линейные системы с многими входами и многими выходами.

3. Моделирование нелинейных систем.

Контрольные вопросы.

Литература.

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

 

 

Преподаватель _____________________________ Г.В. Лунина

Линейные системы с одним входом и одним выходом.

 

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

Модели линейных систем с одним входом и одним выходом (одномерная система) могут задаваться с использованием библиотек блоков Continuous (Элементы непрерывных систем) и Math (Математические функции). Эти блоки обеспечивают простой и лаконичный интерфейс пользователя. В начале данного раздела приводится описание блока Integrator (Интегратор), задание параметров которого позволяет обеспечить ряд дополнительных возможностей. Затем рассматривается моделирование линейных и нелинейных непрерывных систем, приводятся примеры, иллюстрирующие конкретные операции.

Блок Integrator (Интегратор)

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

Открытие диалогового окна блока Integrator (рис. 1.1) осуществляется двойным нажатием левой кнопки мыши на изображении блока. Для задания начальных условий следует ввести значение в текстовое поле Initial condition (Начальные условия), которое по умолчанию задается равным 0.

 

Рисунок 1.1. Диалоговое окно блока Integrator

 

Раскрывающийся список External reset (Внешний сброс) в группе опций Parameters (Параметры) включает четыре пункта: попе (нет), rising (возрастание), falling (убывание), either (также) и level (уровень). Пункт попе, установленный по умолчанию, дает возможность установить режим сброса через внешний источник. При выборе одного из четырех оставшихся пунктов списка блок Integrator конфигурируется как элемент интегратор со сбросом. При установке пункта rising выходной сигнал интегратора сбрасывается в начальное значение, когда при изменении сигнала сброса в сторону увеличения происходит пересечение нулевого значения снизу (из области отрицательных значений). При выборе пункта falling выходная переменная интегратора устанавливается равной значению, заданному в поле Initial condition, когда при изменении сигнала сброса в сторону уменьшения происходит пересечение нулевого значения. Если выбирается пункт either, выход интегратора сбрасывается в значение, равное начальному значению, когда сигнал сброса пересекает нуль при изменении сигнала как в сторону возрастания, так и в сторону убывания. На рис. 1.2 показана структурная схема, включающая блок Integrator, в котором в раскрывающемся списке External reset установлен пункт falling. При пересечении сигналом сброса нулевого значения выходная переменная блока принимает значение, равное начальному значению, и моделирование продолжается.

 

 

Рисунок 1.2. Модель, включающая элемент интегратор со сбросом

 

Если в раскрывающемся списке Initial condition source (Источник начальных условий) выбирается пункт external, к блоку Integrator добавляется входной порт, величина входного сигнала которого будет задавать начальное значение выходной переменной блока в момент времени начала моделирования и в моменты времени сброса, если данные события происходят.

Установка флажка Limit output (Ограничения по выходу) позволяет конфигурировать элемент — интегратор с ограничениями. Значение выходной переменной не будет превышать значение, заданное в текстовом поле Upper saturation limit (Наибольшее значение), и будет меньше (по модулю) или равно значению, введенному в текстовом поле Lower saturation limit (Наименьшее значение). Переменным, задаваемым в текстовых полях максимального и минимального значений, по умолчанию присваиваются значения inf и -inf (inf — специальная переменная системы MATLAB, бесконечность).Установка флажка Show saturation port (Индикация ограничения) обеспечивает добавление выходного порта, выходная переменная которого показывает состояние ограничения и будет равна -1, если значение переменной меньше минимального значения, равна 1, если значение переменной больше максимального значения, и равна 0, если значение выходного сигнала не достигает ограничений.

Установка флажка Show state port (Индикация состояния) обеспечивает добавление соответствующего выходного порта, который будет задавать выходную переменную блока Integrator. Можно выделить две причины, обосновывающие целесообразность использования этого порта. Если выходная переменная блока Integrator подается на порт сброса или на порт начальных значений того же самого блока, то порт состояния должен использоваться в данной ситуации вместо выхода блока. Кроме этого, порт состояния должен использоваться, когда выходной порт блока Integrator из одной условно выполняемой подсистемы соединяется с другой условно выполняемой подсистемой (см. главу 7). Установка параметра в текстовом поле Absolute tolerance (Абсолютная погрешность) позволяет отменить ранее введенные значения абсолютной погрешности, задаваемые в диалоговом окне Simulation Parameters, как границы погрешностей решения для указанного блока Integrator (см. главу 12). В случае, если значение абсолютной величины выходной переменной блока Integrator отличается по величине на несколько порядков от значений других переменных в модели, задание параметра Absolute tolerance для этого блока Integrator может улучшить точность моделирования. На рис. 1.3 изображен блок Integrator с активизированными портами.

 

Рисунок 1.3. Блок Integrator со всеми активированными портами

 

 

2. Линейные системы со многими входами и многими выходами

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

Линии связи, передающие векторные сигналы

Для того чтобы сформировать векторную переменную, следует объединить ряд скалярных сигналов с использованием блока Mux (Мультиплексор) из библиотеки блоков Signals & Systems (Сигналы и системы). На рис. 2.1 показано объединение трех скалярных переменных в сигнал, описываемый вектором.

 

 

Рисунок 2.1. Формирование векторного сигнала при помощи блока Mux

 

Число входных портов блока Mux задается в диалоговом окне блока Block Parameters в текстовом поле Number of inputs. В раскрывающемся списке Display options выбирается опция отрисовки и нанесения обозначений блока. Параметры блока Demux устанавливаются в соответствующем окне блока Block Parameters. На рис. 2.2 показаны изображения блоков Mux и Demux, преобразующих сигнал, заданный скалярными входными переменными в векторную переменную и выполняющих обратное преобразование.

 

 

 

Рисунок 2.2. Выделение скалярных составляющих векторного сигнала

 

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

 

3. Моделирование нелинейных систем.

 

Система Simulink включает ряд блоков, предназначенных для моделирования нелинейных систем, модели которых представлены в следующих библиотеках: Nonlinear, Math и Functions & Tables. Структура нелинейных блоков непосредственно связана с заданием векторов входной переменной. Ряд блоков, таких как блок Relay (Гистерезис), образуют вектор выходной переменной, имеющий одинаковую размерность с вектором выходной переменной или создают только скалярную выходную переменную. Некоторые блоки имеют либо скалярную, либо векторную выходную переменную в зависимости от того, какую размерность имеет входная переменная. Для более детального рассмотрения данных вопросов следует обратиться к справочной системе.

 

 

Блок Fcn (Функция).

 

Блоки Fcn и MATLAB Fcn предназначены для вычисления математических функций, однако имеют ряд различий. Система Simulink работает с блоком Fсn значительно быстрее, чем с блоком MATLAB Fсn. Однако блок Fсn не обеспечивает использование библиотеки математических функций системы MATLAB для выполнения матричных операций или формирование вектора выходной переменной и, если скорость интегри­рования является существенным фактором, то целесообразно использовать блок Fсn.

Изображение данного блока приведено на рис. 1

Рисунок 1 – Блок Fсn

 

Диалоговое окно блока в группе опций Parameters содержит поле Expression, где вводится выражение на языке С. Переменным в выражении присваиваются значения компонентов вектора входной переменной блока, где u[п]п -й компонент вектора. Если используется скалярная входная переменная, то она обозначается как u [1]. Следует обратить внимание на использование квадратных скобок [ ] в языке С и круглых скобок в языке системы MATLAB. В выражении могут содержаться коэффициенты, являющиеся параметрами, то есть результат интегрирования, вычисленный в определенный момент времени, присваивается переменной, которая создается в рабочей области системы MATLAB. Если в рабочей области размещена скалярная переменная, то ее значение может загружаться с помощью указания имени переменной. Например, если в рабочей области хранится скалярная переменная с именем а и на входной порт блока Fсn подается вектор входной переменной, имеющий размерность 2, то можно записать выражение

 

a*(sin(u [1]+ u [2])).

 

Если в рабочей области размещается одномерный или двухмерный массив, то для указания элемента используются переменные с индексом: А(1), А (2, 3) (подобно оператору задания элементов матрицы в системе MATLAB).

В блоке Fсn могут использоваться алгебраические и трансцендентные скалярные функции, такие как sin, abs, atan и др., принятые в языке С знаки арифметических операций (==,!=, >, >=, <, <=), знаки логических операций ((&& (логическое И) и || (логическое ИЛИ)). Блок Fсn возвращает скалярную выходную переменную.

 

 

Блок MATLAB Fcn (Функция MATLAB).

 

В блоке MATLAB Fсn, в отличие от блока Fсn, обеспечивается выполнение матричных операций и формирование вектора выходной переменной, однако, это связано с уменьшением скорости выполнения операций, поэтому использование данного блока должно быть обосновано. На рис. 2 приведено изображение блока MATLAB Fсn.

Рисунок 2 – Блок MATLAB Fсn

 

Группа опций Parameters диалогового окно блока включает три текстовых поля. Текстовое поле MATLAB function позволяет вводить операторы, удовлетворяющие требованиям синтаксиса языка MATLAB. Значение введенного выражения присваивается выходной переменной блока. Для n -го компонента вектора выходной переменной блока вводится обозначение u(n), подобно используемому для блока Fcn. Если в текстовом поле MATLAB function задана функция в виде символов (без указания переменной), то аргументом функции является вектор входной переменной блока. Текстовое поле Output dimensions позволяет задавать размерность вектора выходной переменной. Если в поле введено значение равное -1, это означает, что векторы входной и выходной переменных имеют одинаковую размерность. Независимо от того, как устанавливается значение параметра в текстовом поле Output dimensions — явно, или размерности соответствующих векторов устанавливаются равными по умолчанию, размерность вектора выражения, заданного в текстовом поле MATLAB function, должна быть равна значению, задаваемому в текстовом поле Output dimensions. В раскрывающемся списке Output signal type задается тип выходной переменной. Установка флажка Collapse 2-D results to 1-D обеспечивает преобразование вектора выходной переменной в скаляр.

 

 

Контрольные вопросы:

 

1. Какая величина выходной переменной устанавливается в элементе Интегратор со сбросом в момент переключения?

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

3. Какой блок используют для объединения ряда скалярных сигналов?

4. В каких разделах библиотеки блоков системы Simulink имеются блоки для создания нелинейных систем?

5. Какое назначение имеют блоки Fcn и MATLAB Fcn?

Литература:

Основные источники:

1. Герман-Галкин С.Г. Matlab & Simulink. Проектирование мехатронных систем на ПК. – СПб.: КОРОНА-Век, 2008. – 368 с.

2. Дэбни Дж. Simulink 4/ Секреты мастерства / Дж Дэбни, Т.Л. Хартман; Пер. с англ. М.Л. Симонова. – М.: БИНОМ. Лаборатория знаний, 2003. – 403 с.: ил.

3. Лузина Л.И. Компьютерное моделирование: Учебное пособие. − Томск: Томский межвузовский центр дистанционного образования, 2001. – 105 с.

4. Моделирование систем: учебное пособие / И.А. Елизаров, Ю.Ф. Мартемьянов, А.Г. Схиртладзе, А.А. Третьяков. – Тамбов: Изд-во ФГБОУ ВПО «ТГТУ», 2011. – 96 с.

5. П. Дьяконов. MATLAB 6.5 SP1/7 + Simulink 5/6® в математике и моделировании. Серия «Библиотека профессионала». — М.: СОЛОН-Пресс, 2005. — 576 с: ил.

6. Петров А.В. Моделирование систем. Учебное пособие. – Иркутск: Изд-во Иркутского госуд. Техн. Ун-та, 2000. - 268 с., ил.

7. Половко А.М., Бутусов П.Н. MATLAB для студента. - СПб.: БХВ-Петербург, 2005. – 320 с.: ил.

8. Черных И.В. Simulink: среда создания инженерных приложений/ Под общ. ред. к.т.н. В.Г. Потемкина. – М.:ДИАЛОГ-МИФИ, 2003. – 496 с.

Дополнительные источники:

1. Королев А.Л. Компьютерное моделирование. -М.: БИНОМ, 2010

2. А.Л Хейфец. Инженерная компьютерная графика. AutoCAD. СПб.: БХВ-Петербург, 2005.

3. Исаченко О.В. Введение в информационные технологии. Учебно-практическое пособие. – Ростов Н.Д.: Феникс, 2009.

Информационные ресурсы:

1. Матричная лаборатория Matlab www.matlab6.ru


Вопрос к самостоятельному изучению:

1. Реализация выполнения матричных операций и формирование вектора выходной переменной.

Л(2) с. 118-120



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2021-12-05 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: