MATLAB – это интерактивная среда для научных и инженерных вычислений. В состав MATLAB входят основная программа (ядро) и специализированный пакеты прикладных программ (toolboxes), состоящие из так называемых M- файлов, расширяющих функциональные возможности основной программы. Один из этих пакетов, Control System Toolbox, в сочетании с основной программой даёт возможность использовать MATLAB для анализа и синтеза систем управления.
Комплект инструментальных средств Control System Toolbox - набор функций MATLAB для моделирования, анализа и проектирования автоматических систем управления. Функции в этом комплекте инструментальных средств работают с широко распространенной классической передаточной функцией и "современными" методами управления в пространстве состояний. С помощью этих инструментальных средств можно моделировать и анализировать системы как в дискретной, так и в непрерывной области. Графики временных характеристик и корневого годографа могут быть быстро вычислены и построены.
Далее рассмотрим, как MATLAB оперирует с передаточными функциями, алгебраическими полиномами, вычисляют полюсы и нули передаточных функций и т.д.
Поскольку передаточная функция имеет вид отношения двух полиномов, мы сначала рассмотрим, как MATLAB оперирует с алгебраическими полиномами. При этом не будем забывать, что в передаточной функции должны быть заданы оба полинома – и в числителе, и в знаменателе.
Полиномы
в MATLAB
представляются в виде вектор-строк,
состоящих из коэффициентов в убывающем
порядке степеней. Например, полином
задаётся так, как показано на рис. 1.36.
Ввод данных осуществляется в основном
окне MATLAB,
ранее представленном на рис.1.1.
Обратите внимание, что даже если коэффициент при какой-то степени равен нулю, он все равно включается в представление полинома p{s).
Если р есть вектор-строка, состоящая из коэффициентов p(s) в порядке убывания степеней, то функция roots(p) определяет вектор-столбец, содержащий корни этого полинома.
И наоборот, если p — вектор-столбец, содержащий корни полинома, то функция poly(r) дает вектор-строку из коэффициентов полинома в убывающем порядке степеней. На рис. 1.36 показано, как с помощью функции roots вычисляются корни полинома р(s) = = s3 + 3s2+ 4. На рис. 1.36 показано также, как можно восстановить полином по его корням с помощью функции poly.
Умножение полиномов производится с помощью функции conv. Предположим, что мы хотим получить полином n(s) в развернутой форме, где n(s) = (3s2 + 2s + 1 )(s + 4). Эта процедура выполняется так, как показано на рис. 1.37. В результате умножения получаем полином n(s) = 3s2 + 14s2 + 9s + 4.

Рис.1.36. Ввод полинома P{s) = s3 + 3s2 + 4 и вычисление его корней

Рис.1.37 Использование функций conv и polyval для умножения
полиномов (3s2 + 2s + 1 )(s + 4) и вычисления значения произведения
Для вычисления значения полинома при заданном значении переменной используется функция polyval. Как показано на рис. 1.37, полином n(s) имеет значение п(-5) = -66.
В пособиях по применению MATLAB модели линейных стационарных систем рассматриваются в качестве объектов, позволяя манипулировать ими как единым целым. При использовании аппарата передаточных функций модели систем создаются с помощью функции tf. Применение функции tf проиллюстрировано на рис. 1.38(а). Благодаря возможностям объектно-ориентированного программирования, присущим MATLAB, модели систем обладают свойствами объектов, которые легко можно изменять; аналогично, функции, применяемые для работы с объектами, принято называть методами Например, если имеете две модели систем,
,
то вы можете сложить их с помощью оператора «+»:
.

Рис. 1.38 (а) Функция tf; (б) Применение функции tf для образования передаточных функций объектов и их сложение с помощью
оператора «+»
Соответствующая
программа MATLAB
приведена на рис. 1.38 (б), где sys1
представляет передаточную функцию
,
а
sys2
-
.
Вычисление
полюсов и нулей передаточной функции
производится при работе с ней, как с
объектом, путём применения функций pole
и zero.
Это проиллюстрировано на рис. 1.39.

Рис. 1.39. (а) Функции pole и zero; (б) Применение функций pole и zero для вычисления полюсов и нуля линейной системы
Предположим, что мы получили математические модели объекта управления, регулятора и, возможно, многих других элементов системы, таких как датчики и исполнительные устройства, причем эти модели представлены в виде передаточных функций. Дальнейшая цель состоит в том, чтобы объединить все эти элементы в единую структуру, создав тем самым систему управления. С помощью MATLAB можно выполнить все необходимые преобразования структурной схемы.
Простейшую разомкнутую систему управления можно получить, соединив последовательно объект управления и регулятор, как это показано на рис. 1.40. Как с помощью MATLAB определить передаточную функцию, связывающую R{s) и Y(s), будет продемонстрировано дальше.
![]()
Рис. 1.40. Разомкнутая система управления
Рассмотрим пример последовательного соединения Элементов. Пусть объект управления задан передаточной функцией G(s) = 1/500s2, а регулятор имеет передаточную функцию Gc(s) = (s + 1)/(s + 2). На рис. 1.41 изображено последовательное соединение двух систем с передаточными функциями G1(s) и G2(s), а также проиллюстрирован смысл функции series (последовательное соединение), а на рис. 1.38 показано, как с ее помощью определяется произведение Gc(s)G(s). Результирующая передаточная функция имеет вид
,
где sys есть обозначение передаточной функции в программе MATLAB.

Рис. 1.41. Обозначение передаточной функции:
а - Структурная схема; б - Функция series
В структурных схемах очень часто встречается параллельное соединение элементов. В таких случаях для определения передаточной функции соединения используется функция parallel. Смысл этой функции поясняет рис. 1.43.

Рис. 1.42 Применение функции series

Рис. 1.43. (а) Структурная схема; (б) Функция parallel
Мы можем ввести в рассмотрение сигнал обратной связи, замкнув контур единичной обратной связью, как показано на рис. 1.44. В этом случае Ea(s) есть изображение по Лапласу сигнала ошибки, a R(s) — эталонного входа. Передаточная функция замкнутой системы определяется выражением
.
С помощью функции freedback мы имеем возможность упростить структурную схему, вычислив передаточную функцию замкнутой системы. Эта функция применима как к одноконтурным, так и к многоконтурным системам управления.

Рис. 1.44. Система управления с единичной обратной связью
Часто встречается случай, когда замкнутая система имеет единичную обратную связь, как показано на рис. 1.44. Применение функции freedback в данном случае проиллюстрировано на рис. 1.45.

Рис. 1.45. (а) Структурная схема; (б) Применение функции feedback в
случае единичной обратной связи
На рис. 1.46 изображена система с неединичной обратной связью и проиллюстрировано применение к ней функции freedback. Если в аргументах этой функции не указан знак обратной связи sign, то по умолчанию она предполагается отрицательной.

Рис. 1.46. (а) Структурная схема; (б) Функция feedback
ИСПОЛЬЗОВАНИЕМ MATLAB 7.0.1 – SIMULINK 6.1
Использование пакета MATLAB – Simulink для исследования
динамических звеньев
Цель работы: получить основные навыки работы в среде MATLAB-Simulink, научиться строить блок-схемы модели, задавать параметры моделирования, получать временные характеристики передаточной функции САР, а также научиться использовать пакет MATLAB для анализа и синтеза САР.
Программа работы
Ознакомиться с основными сведениями по работе с пакетом MATLAB–Simulink.
Определить структуру и параметры исследуемой системы регулирования
Исследовать заданную систему регулирования по методу структурного моделирования с использованием пакета Simulink
Построить блок схему модели системы
Построить временные характеристики системы регулирования, переходную функцию h(t) и импульсную переходную (весовую) функцию ω(t)
Построить ЛАЧХ и ЛФЧХ и диаграмму Найквиста (АФХ)
Определить расположение полюсов и нулей передаточной функции системы.
Исследовать систему регулирования с использованием пакета MATLAB
Используя функцию feedback, вычислить передаточную функцию замкнутой системы
Исследование системы регулирования с помощью пакета прикладных программ Control System Toolbox.
Экспериментальное определение частотных характеристик динамических звеньев.
Порядок выполнения лабораторной работы
Предварительно следует ознакомиться с основными сведениями по работе с пакетом MATLAB-Simulink.
Исследование системы автоматического регулирования с неединичной обратной связью. САР состоит из двух звеньев: колебательного и апериодического (рис. 1.47)

Рис. 1.47. Структурная схема САР
На рис. 1.47 представлена замкнутая система, звенья которой имеют следующие передаточные функции:
-
колебательное звено;
-
апериодическое (инерционное) звено.
Параметры звеньев задаются преподавателем. В качестве примера в работе приняты следующие параметры звеньев:
параметры колебательного звена:
-
коэффициент усиления;
-
постоянная времени;
-
коэффициент затухания;
параметры апериодического звена:
-
коэффициент усиления;
-
постоянная времени.
Исследование системы регулирования с использованием пакета Simulink
Создаётся блок – схема модели системы в пакете Simulink. Схема модели представлена на рис. 1.48.

Рис. 1.48. Блок – схема модели САР
При её создании используются следующие блоки:
1. Генератор ступенчатого сигнала Step (из библиотеки Sources - источники сигналов
Назначение: Формирует ступенчатый сигнал.
Параметры:
S
tep
time
- время наступления перепада сигнала
(с);
Initial value - начальное значение сигнала;
Final value - конечное значение сигнала.
П
ерепад
сигнала может быть как в большую сторону
(конечное значение больше чем начальное),
так и в меньшую (конечное значение меньше
чем начальное). Значения начального и
конечного уровней могут быть не только
положительными, но и отрицательными
(например, изменение сигнала с уровня
–5 до уровня –3).
2. Блок передаточной функции Transfer Fcn (из библиотеки Continuous – аналоговые блоки).
Назначение: Блок передаточной характеристики Transfer Fcn задает передаточную функцию в виде отношения полиномов:
г
де
nn
и
nd
–
порядок числителя и знаменателя
передаточной функции;
num
– вектор
или матрица коэффициентов числителя;
den
–
вектор коэффициентов знаменателя.
Параметры:
Numerator — вектор или матрица коэффициентов полинома числителя;
Denominator -вектор коэффициентов полинома знаменателя;
Absolute tolerance — Абсолютная погрешность.
Порядок числителя не должен превышать порядок знаменателя.
3
.
Блок
вычисления суммы Sum
(из
библиотеки Math – блоки математических
операций).
Назначение: Выполняет вычисление суммы текущих значений сигналов.
Параметры:
Icon shape – форма блока. Выбирается из списка; - round – окружность; - rectangular – прямоугольник.
List of sign – список знаков. В списке можно использовать следующие знаки: + (плюс), - (минус) и | (разделитель знаков).
Saturate on integer overflow (флажок) – подавлять переполнение целого, при установленном флажке ограничение сигналов целого типа выполняется корректно.