Файл: Контрольные работы. Теория автоматического управления.docx
ВУЗ: Пермский национальный исследовательский политехнический университет
Категория: Методичка
Дисциплина: Теория автоматического управления
Добавлен: 19.10.2018
Просмотров: 5333
Скачиваний: 88
Функция |
Описание функции |
abs |
Вычисляет абсолютное значение числа |
acos |
Вычисляет арккосинус |
ans |
Выводит результат последней операции |
asin |
Вычисляет арксинус |
atan |
Вычисляет арктангенс (в 2 квадрантах) |
atan2 |
Вычисляет арктангенс (в 4 квадрантах) |
axis |
Задает ручное масштабирование осей координат при выводе графиков |
bode |
Строит частотные характеристики в виде диаграммы Боде |
c2d |
Реализует построение дискретной модели непрерывной системы |
clear |
Удаляет переменные и функции из рабочей области |
clf |
Очищает графическое окно |
conj |
Вычисляет комплексно-сопряженное число |
conv |
Производит умножение двух полиномов |
cos |
Вычисляет косинус |
ctrb |
Вычисляет матрицу управляемости |
diary |
Сохраняет сеанс работы в файле на диске |
d2c |
Реализует построение непрерывной модели дискретной системы |
eig |
Вычисляет собственные значения и собственные векторы |
end |
Завершает построение структуры системы управления |
ехр |
Вычисляет экспоненту с основанием е |
expm |
Вычисляет матричную экспоненту с основанием е |
eye |
Формирует единичную матрицу |
feedback |
Вычисляет передаточную функцию для соединения двух систем в контур с обратной связью |
for |
Образует цикл вычислений |
format |
Задает формат вывода чисел на дисплей |
grid on |
Добавляет сетку к текущему графику |
help |
Печатает список тем, по которым предлагает услуги Помощник |
hold on |
Сохраняет текущий график на экране |
i |
Мнимая единица, корень числа -1 |
imag |
Выделяет мнимую часть комплексного числа |
impulse |
Вычисляет реакцию системы на единичную импульсную функцию |
inf |
Бесконечное значение |
j |
Мнимая единица, корень числа -1 |
legend |
Помещает пояснение на текущем графике |
linspace |
Формирует линейно упорядоченные векторы |
load |
Загружает в файл сохраненные переменные |
log |
Вычисляет натуральный логарифм |
log10 |
Вычисляет десятичный логарифм |
loglog |
Строит график в логарифмическом масштабе по обеим осям |
logspace |
Формирует логарифмически упорядоченные векторы |
lsim |
Вычисляет реакцию системы на произвольный входной сигнал и ненулевые начальные условия |
margin |
Вычисляет по частотным характеристикам системы запас по модулю, запас по фазе и соответствующие им частоты |
max |
Определяет максимальное значение числа из массива |
mesh |
Создает трехмерную сетчатую поверхность |
meshgrid |
Создает массивы для использования их совместно с функцией mesh |
min |
Определяет минимальное значение числа из массива |
minreal |
Определяет передаточную функцию минимальной реализации после сокращения полюсов и нулей |
NaN |
Указывает на нечисловое значение, получаемое в результате операции |
ngrid |
Изображает линии сетки диаграммы Никольса |
nichols |
Строит годограф Никольса по частотным характеристикам системы |
num2str |
Преобразует массив чисел в строки |
nyquist |
Строит частотный годограф (диаграмму) Найквиста |
obsv |
Вычисляет матрицу наблюдаемости |
ones |
Формирует матрицу, все элементы которой есть целые числа и равны 1 |
pade |
Вычисляет аппроксимацию Паде n-го порядка для запаздывания по времени |
parallel |
Определяет передаточную функцию для параллельного соединения двух систем |
plot |
Строит график в линейном масштабе по обеим осям |
pole |
Вычисляет полюсы системы |
poly |
Формирует полином по его корням |
polyval |
Вычисляет значение полинома |
printsys |
Выводит на печать информацию о модели линейной системы в переменных состояния и в виде передаточной функции |
pzmap |
Изображает диаграмму расположения полюсов и нулей линейной системы |
rank |
Вычисляет ранг матрицы |
real |
Выделяет действительную часть комплексного числа |
residue |
Производит разложение рациональной функции на простые дроби |
rlocfind |
Определяет коэффициент усиления, соответствующий заданному положению корней на корневом годографе |
rlocus |
Строит корневой годограф системы |
roots |
Вычисляет корни полинома |
semilogx |
Строит график с использованием логарифмического масштаба по оси х и линейного масштаба по оси у |
semilogy |
Строит график с использованием логарифмического масштаба по оси у и линейного масштаба по оси х |
series |
Определяет передаточную функцию для последовательного соединения двух систем |
shg |
Отображает графическое окно |
sin |
Вычисляет синус |
sqrt |
Вычисляет квадратный корень |
ss |
Формирует модель объекта в переменных состояния |
step |
Вычисляет переходную характеристику системы |
subplot |
Разделяет графическое окно на подокна |
tan |
Вычисляет тангенс |
text |
Добавляет текст к текущему графику |
title |
Добавляет заголовок к текущему графику |
tf |
Создает модель объекта в виде передаточной функции |
who |
Выводит список переменных, находящихся в рабочей области |
whos |
Выводит список текущих переменных с подробностями |
xlabel |
Добавляет к текущему графику обозначение оси х |
ylabel |
Добавляет к текущему графику обозначение оси у |
zero |
Вычисляет нули системы |
zeros |
Создает матрицу, все элементы которой нулевые |
Основы Simulink
Simulink предоставляет пользователям MATLAB мощное средство моделирования и исследования систем управления с обратной связью. Simulink является интерактивным инструментом, эффективно использующим графический интерфейс.
Начать работу с Simulink можно двумя способами:
-
Щелкнуть мышью на значке Simulink в панели инструментов MATLAB.
-
Ввести Simulink в командной строке на экране.
Оба эти способа проиллюстрированы на рис. 5.1.
Рис.5.1. Начало сеанса работы в Simulink
После запуска Simulink на рабочем столе должно появиться окно наподобие рис. 5.2. На рис. 5.2 изображен броузер главной библиотеки Simulink. Он показывает, какие библиотеки, структурированные в виде деревьев, установлены на компьютере.
В качестве упражнения, помогающего освоить Simulink, вы можете выполнить обсуждаемые далее этапы и в результате создать простую систему и приступить к ее моделированию. Сеанс работы в Simulink вы можете начать, открыв уже существующую модель или же создав новую модель. Последнее можно сделать двумя способами:
-
Щелкнув на кнопке New в панели инструментов броузера главной библиотеки;
-
Выбрав сначала New в раскрывающемся меню опции File в окне библиотеки, а затем выбрав Model.
Эти два способа создания новой модели проиллюстрированы на рис. 5.З. Окно новой системы, изображенное на рис. 5.4, появляется на рабочем столе, по умолчанию занимая всю его площадь. При необходимости вы можете изменить его размеры и переместить в нужное положение. Сразу же после создания окну новой системы присваивается имя Untitled, но вы можете изменить его с помощью команды Save as из меню File. В этом окне производится создание модели, ее редактирование и исследование. Сохранение модели автоматически создает файл (с расширением .mdl), содержащий всю информацию, необходимую для открытия модели в следующих сеансах работы в Simulink. В конце каждого сеанса работы обязательно выбирайте команду SAVE из меню File с тем, чтобы все изменения модели были сохранены для последующей работы.
Simulink содержит стандартную библиотеку блоков, изображенную на рис. 5.2. Она составлена из подблоков в соответствии с их функциональным назначением. Эти подблоки таковы:
-
Источники сигналов (Sources);
-
Средства регистрации (Sinks);
-
Элементы дискретных систем (Discrete);
-
Элементы непрерывных систем (Continuous);
-
Математические операции (Math);
-
Функции и таблицы (Functions & Tables);
-
Нелинейности (Nonlinear);
-
Сигналы и системы (Signals & Systems).
Чтобы создать модель, вы должны взять и перенести нужные блоки из библиотеки на рабочий стол. В простом примере, который приводится ниже, вам надо скопировать блок, генерирующий синусоидальный сигнал (блок Sine Wave из библиотеки Sources), и блок индикации (блок Scope из библиотеки Sinks).
Вы можете получить доступ к блоку Sine Wave либо из броузера главной библиотеки, либо из окна библиотеки Sources. Развернув броузер главной библиотеки, как показано на рис. 5.5, (а), вы получите доступ к блоку Sine Wave. Для этого сначала войдите в Simulink, щелкнув на его имени в броузере, затем щелкните в развернувшемся меню на Sources, после этого выберите блок Sine Wave и перетащите его в окно новой модели. Копия блока будет установлена в том месте окна новой модели, где вы оставите его изображение. Аналогичным образом, чтобы скопировать блок Sine Wave из окна библиотеки Sources, откройте это окно (показанное на рис. 5.5, б) двойным щелчком мыши на значке Sources в окне библиотеки Simulink (рис. 5.2).
Примечание: вы можете открыть окно библиотеки Simulink щелчком правой кнопки мыши на этом имени в броузере главной библиотеки, после чего надо щелкнуть на кнопке Open Library.
На
этом этапе построения модели рабочее
окно будет выглядеть так, как показано
на
рис.
5.6, (а).
Теперь вам надо будет каким-то образом наблюдать синусоидальный сигнал, генерируемый блоком Sine Wave. Окно библиотеки Sinks содержит набор средств регистрации сигнала, включая Scope, XY Graph, Display, To Workspace и То File, как показано на рис. 5.7. Если вы воспользуетесь инструментами То Workspace или То File, то по окончании сеанса работы данные будут сохранены соответственно в рабочей области или в файле. В нашем примере мы используем для наблюдения сигнала инструмент Scope (индикатор).
Рис.
5.6 Простая система,
состоящая из источника сигнала Sine
Wave и индикатора Scope
Блок Scope вы можете скопировать либо из броузера главной, либо из окна библиотеки Sinks. Как и в случае с библиотекой Sources, развернув броузер главной библиотеки, вы получите доступ к блоку Scope. Для этого войдите в Simulink, щелкнув на его имени в броузере, затем щелкните в развернувшемся меню на Sinks, после этого выберите из библиотеки Sinks блок Scope и перетащите его в окно новой модели. Другой способ доступа к блоку Scope состоит в том, что для этого надо сделать двойной щелчок мышью на значке Sinks в окне библиотеки Simulink (рис. 5.2). После этой операции рабочее окно будет выглядеть так, как показано на рис. 5.6, (б).
Обратите внимание, что на рис. 5.6 окно с моделью переименовано, оно теперь имеет имя test (раньше модель имела имя untitled, как показано на рис. 5.4). Обязательно сохраните модель, чтобы вы могли открыть ее для исследования в следующих сеансах работы в Simulink.
Теперь задача состоит в том, чтобы соединить между собой блоки Sine Wave и Scope. Угловая скобка (>), появляющаяся у правого края блока Sine Wave — это выходной порт. Аналогично, угловая скобка (>), появляющаяся у левого края блока Scope — это входной порт. Всегда, когда такая скобка направлена к блоку, это соответствует входному порту, а если от блока — то выходному порту. Если блоки соединены, то входной и выходной порты исчезают.
Чтобы соединить выходной порт блока Sine Wave с входным портом блока Scope, поместите курсор на выходной порт в правой части блока Sine Wave, при этом обратите внимание, что курсор принял форму крестика. Удерживая нажатой кнопку мыши, перемещайте курсор к входному порту блока Scope. Соединительная линия при этом будет штриховой, а когда вы доведете ее до входного порта блока Scope, курсор превратится в жирный крестик, как показано на рис. 5.6, (в). После этого отпустите кнопку мыши, и соединение между двумя портами будет установлено. Когда это произойдет, угловые скобки исчезнут и на соединительной линии появится стрелка, указывающая направление передачи информации. Это отражено на рис. 5.6, (г). Теперь почти все готово, чтобы начать моделирование.
Вы можете наблюдать и редактировать параметры моделирования, выбрав из меню Simulation опцию Parameters. При этом экран будет иметь вид, изображенный на
рис. 5. 8. Установите время окончания моделирования (по умолчанию оно равно 10 с), равное 1000.0, как показано на рис. 5.8. Выполнив эту операцию, закройте окно диалога нажатием кнопки ОК.
Параметры синусоидального сигнала (например, частоту) вы можете задать (а при необходимости и изменить), сделав двойной щелчок мышью на блоке Sine Wave в окне модели. Диалоговое окно примет вид, изображенный на рис. 5.9. На этом рисунке показано, что частота синусоиды установлена равной 0.05 рад/с.
Перед началом моделирования откройте индикатор двойным щелчком мыши на блоке Scope в окне модели. Далее выберите опцию Start из меню Simulation, как показано на рис. 5.10. Начнется процесс моделирования, и на экране появится изображение, приведенное на рис. 5.11. График динамически изменяется по мере того, как блок Sine Wave генерирует синусоидальный сигнал. По окончании времени моделирования изображение на экране будет выглядеть так, как показано на рис. 5.11.
Теперь вы закончили создание простой модели и провели первый эксперимент. Перед тем, как выйти из Simulink, не забудьте выбрать из меню File опцию Save, чтобы сохранить всю информацию о модели для последующей работы.
Закончить сеанс работы в Simulink вы можете, выбрав из меню File опцию Close. После этого у вас есть возможность продолжить работу в MATLAB, вернувшись в командную строку. Если вам нужно закончить работу только в Simulink, но не в MATLAB, просто закройте все окна Simulink. Если же нужно выйти и из Simulink и из MATLAB, то выберите команду Exit MATLAB. Для анализа и синтеза систем управления Simulink предоставляет пользователю набор блоков с передаточными функциями и моделями в переменных состояния. Например, популярный ПИД-регулятор можно найти в библиотеке Simulink Extras.
Библиотеки Simulink
Continuous-Блоки непрерывных моделей
-
Derivative - Блок вычисления производной
-
Integrator - Интегратор
-
State-space - Модель в пространстве состояний
-
Transfer Fcn - Передаточная функция
-
Transport Delay – Блок фиксированной задержки сигнала
-
Variable Transport Delay – Блок управляемой задержки сигнала
-
Zero/Pole – Передаточная функция «Нули-полюса»
Discontinuities – Нелинейные блоки
-
Backlash – Люфт
-
Coulomb & Viscous Friction – Блок сухого и вязкого трения
-
Dead Zone - Зона нечувствительности
-
Hit Crossing - Блок определения момента пересечения порогового значения
-
Quantizer - Квантователь
-
Rate Limiter – Блок ограничения скорости изменения сигнала
-
Relay – Реле
-
Saturation – Ограничитель
Discrete – Блоки дискретных модулей
-
Discrete Transfer Fcn – Дискретная передаточная функция
-
Discrete Zero-Pole – Дискретная передаточная функция «Нули-полюса»
-
Discrete Filter – Дискретный фильтр
-
Discrete State-Space – Дискретная модель в пространстве состояний
-
Discrete-Time Integrator – Дискретный интегратор
-
First-Order Hold – Экстраполятор первого порядка
-
Memory – Блок задержки на один такт
-
Unit Delay – Единичная дискретная задержка
-
Zero-Order Hold – Экстраполятор нулевого порядка
Look-Up Tables – Блоки задания таблиц
-
Direct Look-Up Table (n-D) – Многомерная таблица с прямым доступом к элементам
-
Interpolation (n-D) using PreLook-Up – Блок интерполяции табличных данных
-
Look-Up Table – Одномерная таблица
-
Look-Up Table (2-D) – Двумерная таблица
-
Look-Up Table (n-D) – Многомерная таблица
-
PreLook-Up Index Search – Блок обработки индексов
Math Operations – Блоки математических операций
-
ABS – Блок вычисления модуля
-
Algebraic Constraint – Блок решения нелинейных уравнений
-
Assignment – Блок присваивания элементам массива новых значений
-
Bitwise Logical Operator – Блок побитовых логических операций
-
Combinatorial Logic – Блок комбинаторной логики
-
Complex to Magnitude-Angle – Блок вычисления модуля и (или) аргумента комплексного числа
-
Complex to Real-Imag – Блок вычисления действительной и (или) мнимой части комплексного числа
-
Dot Product – Блок скалярного произведения
-
Gain – Усилитель
-
Logical Operator – Блок выполнения логических операций
-
Magnitude-Angle to Complex – Блок вычисления комплексного числа по его модулю и аргументу
-
Math Function – Математические функции
-
Matrix Concatenation – Блок объединения сигналов в матрицу
-
Matrix Gain – Усилитель
-
MinMax – Блок вычисления максимального или минимального значения
-
Polynomial – Вычисление полинома
-
Product – Блок умножения и деления
-
Real-Imag to Complex – Блок вычисления комплексного числа по его действительной и мнимой части
-
Relational Operator – Блок выполнения операций отношения
-
Reshape – Преобразователь размерности сигнала
-
Rounding Function – Блок округления числа
-
Sign – Блок определения знака сигнала
-
Slider Gain – Ползунковый регулятор
-
Sum - Сумматор
-
Trigonometric Function – Тригонометрические и гиперболические функции
Model Verification – Блоки верификации сигналов