Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Пакеты расширения MATLAB. Control System Toolbox и Robust Control Toolbox
.pdf
Глава 3. Функции и команды Control System Toolbox 151
5. Модели в пространстве состояний
Команды Содержание
canon
каноническая реализация модели системы
ctrb
ctrbf
gram
obsv
obsvf
ss2ss
ssbal
матрица управляемости
лестничная форма управляемости
граммианы управляемости и наблюдаемости
матрица наблюдаемости
лестничная форма наблюдаемости
преобразование координат SS модели
диагональное балансирование SS модели
6. Динамика системы
Команды Содержание
bandwidth
covar
damp
dcgain
dsort
esort
рассчитывает полосу пропускания SISO модели
рассчитывает ковариацию реакции на белый шум
рассчитывает собственные частоты и коэффициенты
демпфирования
рассчитывает коэффициент усиления
сортирует полюса дискретной системы по величине
сортирует полюса непрерывной системы по величине
вещественной части
Iopzmap
norm
pole, eig
pzmap
rlocus
sgrid,zgrid
zero
вычерчивает расположение полюсов/ нулей для пар
вход/выход
вычисляет нормы модели
вычисляет полюса модели
вычерчивает расположение полюсов/ нулей
вычисляет и вычерчивает корневой годограф
накладывает сетку на корневой годограф
вычисляет нули модели

152 Глава 3. Функции и команды Control System Toolbox
7. Соединение систем
Команды Содержание
append
объединяет модели в одну
augstate
ñonnect
feedback
lft
parallel
series
ord2
stack
расширяет выход добавочными состояниями
формирует SS модель с произвольным соединением
формирует систему с обратной связью из двух моделей
производит перекрестное соединение двух моделей
соединяет параллельно две модели
соединяет последовательно две модели
создает модель второго порядка
собирает модели в массив моделей
8. Временные характеристики
Команды Содержание
gensig
impulse
initial
lsim
ltiview
step
формирует входной сигнал
вычисляет процесс при импульсном воздействии
вычисляет процесс при начальных условиях ≠ 0
вычисляет реакцию системы на произвольный вход
открывает анализатор систем
вычисляет переходную характеристику
9. Частотные характеристики
Команды Содержание
allmargin
bode
bodemag
evalfr
вычисляет частоты среза и связанные характеристики
вычисляет диаграмму Боде
вычисляет только амплитуду диаграммы Боде
вычисляет характеристику при одной частоте

Глава 3. Функции и команды Control System Toolbox 153
Команды Содержание
freqresp
вычисляет характеристику для избранных частот
interp
margin
ngrid
nichols
nyquist
sigma
интерполирует FRD модель между частотами
вычисляет запасы по фазе и амплитуде
накладывает сетку на диаграмму Никольса
вычисляет диаграмму Никольса
вычисляет диаграмму Найквиста
вычисляет сингулярные величины
10. Назначение полюсов
Команды Содержание
acker
place
estim
reg
вычисляет размещение полюсов для SISO системы
то же для MIMO системы
формирует наблюдатель состояния с заданным
коэффициентом усиления
формирует цепь обратной связи с наблюдателем и матрицей
обратной связи
11. Расчет линейных регуляторов
Команды Содержание
lqr
dlqr
lqry
lqrd
kalman
kalmd
lqgreg
расчет квадратичного регулятора для непрерывной модели
то же для дискретной модели
то же, что и lqr, но для весовой матрицы выхода
расчет дискретного регулятора для непрерывной модели
расчет фильтра Калмана
расчет дискретного фильтра Калмана для непрерывной
модели
расчет регулятора с фильтром Калмана

154 Глава 3. Функции и команды Control System Toolbox
12. Решение уравнений
Команды Содержание
care
dare
gcare
gdare
lyap
dlyap
решение уравнения Риккати для непрерывного времени
то же для дискретного времени
решение обобщенного уравнения Риккати для
непрерывного времени
то же для дискретного времени
решение уравнения Ляпунова для непрерывного времени
то же для дискретного времени
В следующих разделах большинство приведенных команд рассматриваются детально или же даются ссылки на материалы глав 1
и 2, если они описаны там достаточно подробно.
3.2. Команды создания моделей
3.2.1. drss. Создает устойчивую дискретную случайную мо-
дель в фазовом пространстве (в пространстве состояний). Синтаксис:
sys = drss(n)
sys = drss(n, p)
sys = drss(n, p, m)
sys = drss(n, p, m, s1,...sn).
Первая команда создает случайную SISO модель порядка n,
вторая создает случайную модель порядка n с одним входом и p
выходами, третья генерирует случайную модель порядка n ñ m âõîäàìè è p выходами, последняя команда создает массив моделей
размерности s
õ snпорядка n ñ m входами и p выходами. Время
1
выборки не определено. Для создания случайной передаточной
функции или ZPK системы используются команды tf èëè zpk.
Например, команда sys = drss(3,1,2) äàåò:
a =x1 x2 x3
x1 0.03634 0.5322 0.3071
x2 0.5322 0.0598 -0.3985
x3 0.3071 -0.3985 -0.2537

Глава 3. Функции и команды Control System Toolbox 155
b =u1 u2
x1 0 0.2193
x2 -0.8051 -0.9219
x3 0.5287 -2.171
c =x1x2x3
y1 0 -1.011 0.6145
d =u1 u2
y1 0 1.692
Sampling time: unspecified
(время выборки: не определено)
Discrete-time model.
3.2.2. rss. Создает устойчивую непрерывную случайную мо-
дель в фазовом пространстве. Синтаксис такой же, как и для предыдущей команды.
3.2.3. ss. Одна из основных и часто используемых команд.
Создает непрерывную или дискретную модель в пространстве состояний (см. раздел 1.1) или превращает другую модель в такую
форму. Синтаксис:
sys = ss(a, b, c, d)
sys = ss(a, b, c, d, Ts)
sys = ss(d)
sys = ss(a, b, c, d, 'Property1', Value1,...,'PropertyN', ValueN)
sys = ss(a, b, c, d,Ts, 'Property1', Value1,..., 'PropertyN', ValueN)
sys_ss = ss(sys).
Здесь Ts— время выборки для дискретной системы. Если
T
=−1, то время выборки не определено. Если d нулевая матрица,
s
можно просто записать d=0. Команда ss(d) создает матрицу ко-
эффициентов усиления D и эквивалентна команде
sys = ss([ ], [ ], [ ], d).
В следующих двух вариантах команды в ней приводятся данные о свойствах («Property») системы. Перечень основных свойств
приведен в разделе 1.3, а пример их использования в программе
(П. 1.6).
В последнем варианте команды sys — это система типа TF
èëè ZPK,àsys_ss — та же система, но в фазовом пространстве.
Примеры применения команды см. программы (П. 1.1),
(П. 1.6), (П. 1.9), (П. 2.3), (П. 2.5) и др.
3.2.4. tf. Также одна из основных и часто используемых ко-
манд. Создает непрерывную или дискретную передаточную функ-

156 Глава 3. Функции и команды Control System Toolbox
цию (см. раздел 1.2) или превращает другую модель в такую форму. Синтаксис:
sys = tf(num, den)
sys = tf(num, den,Ts)
sys = tf(M)
sys = tf(num, den, 'Property1', Value1,..., 'PropertyN', ValueN)
sys = tf(num, den,Ts, 'Property1', Value1,..., 'PropertyN', ValueN)
sys = tf('s')
sys = tf('z')
sys_tf = tf(sys)
Здесь num, den — векторы, содержащие коэффициенты полиномов числителя и знаменателя соответственно, расположенные
по нисходящим степеням s èëè z. Для MIMO системы необходимо
определить числитель и знаменатель для каждого элемента передаточной матрицы. В этом случае num, den представляют собой массивы векторов-строк, имеющих столько строк, сколько выходов, и
столько столбцов, сколько входов имеет система. Тогда векторыстроки num{i,j}èden{i,j} определяют числитель и знаменатель передаточной функции от входа j к выходу i. Если все передаточные
функции имеют одинаковый знаменатель, его можно задать как
один вектор-строку.
Рассмотрим два примера.
1. Нужно создать объект Control System Toolbox для системы с
передаточной матрицей
+
1
s
H()s
⎡
2
⎢
++
ss
=
⎢
⎢
⎣
⎤
⎥
21
⎥
2
⎥
s
⎦
Это достигается следующими командами:
num = {[1 1]; 2}; den = {[1 2 1]; [1 0]};
H = tf(num,den).
2. Нужно создать объект Control System Toolbox для дискрет-
ной системы с передаточной матрицей
H()
z
=
⎡
⎢
z
⎢
z
−+
⎢
z
+
⎣
+
1
05
05
1
.
z
⎤
⎥
.
05
.
z
+
⎥
3
⎥
05
.
z
+
⎦

Глава 3. Функции и команды Control System Toolbox 157
и периодом выборки 0.1 сек. Это достигается следующими командами:
nums = {1 [1 0]; [-1 1] 3};
H = tf(nums, [1 0.5], 0.1).
Команда sys = tf(M) создает матрицу коэффициентов усиления.
Возможно также использовать непосредственно выражение
передаточной функции в виде отношения двух полиномов. Для
этого определяется переменная Лапласа командами s = tf('s') для
непрерывной или z = tf('z',Ts) для дискретной модели, а затем
вводится выражение передаточной функции.
В последнем варианте команды sys — это система типа SS
èëè ZPK,àsys_tf — та же система, но в пространстве передаточ-
ных функций.
Примеры использования команд см. в разделах 1.2, 1.4, программы (П. 1.2), (П. 1.8), (П. 2.1), (П. 2.2).
3.2.5. ssdata, dssdata. Команды
[a, b, c, d] = ssdata(sys) èëè [a, b, c, d,Ts] = ssdata(sys)
извлекают матрицы, составляющие SS систему, причем вторая команда, применимая к дискретным моделям, возвращает также время выборки. Если система типа TF èëè ZPK, то она сначала превращается в модель типа SS.
Команды
[a, b, c, d, e] = dssdata(sys) èëè [a, b, c, d, e,Ts] = dssdata(sys)
выполняют то же самое для систем дескриптором (см. далее).
3.2.6. Команды
[num, den] = tfdata(sys)
[num, den] = tfdata(sys,'v')
[num, den,Ts] = tfdata(sys)
возвращают числитель(и) и знаменатель(и) передаточной функции
(матрицы) системы. Системы SS èëè ZPK сначала превращаются в
TF модель. Форма возвращаемой информации такая же, как при
формировании модели командой tf. Второй вариант команды,
применимый в SISO системах, возвращает не массив векторов
числителя и знаменателя, а просто векторы-строки num, den.Например, для системы с передаточной функцией
2
(s + 1)/(s
+ 2s + 5)

158 Глава 3. Функции и команды Control System Toolbox
первая команда возвращает числитель и знаменатель как ячейки
одномерного массива вида [0 1 1] и [1 2 5] соответственно, а для
второй команды — как векторы [0 1 1] и [1 2 5]. Многие операции
с этими объектами выполняются по-разному.
3.2.7. zpk. Определяет так называемую ZPK модель (нули/по-
люсы/коэффициент усиления). Примеры см. раздел 1.2, программа (П. 1.4). Синтаксис команды:
sys = zpk(z ,p, k)
sys = zpk(z, p, k, Ts)
sys = zpk(M)
sys = zpk(z, p, k, 'Property1', Value1,..., 'PropertyN', ValueN)
sys = zpk(z, p, k, Ts, 'Property1', Value1,...,'PropertyN', ValueN)
sys = zpk('s')
sys = zpk('z')
zsys = zpk(sys).
Команда применима как к непрерывным, так и дискретным
системам (с указанием периода квантования T
). Для SISO систем
s
z è p—векторы, k—скаляр. Для MIMO систем нужно определить
нули, полюсы и коэффициент усиления для передаточной функции каждого элемента передаточной матрицы. В этом случае z è p
представляют собой массивы векторов, имеющих столько строк,
сколько выходов, и столько столбцов, сколько входов имеет система, а k — матрица таких же размеров, как и MIMO система. Векторы z{i,j}èp{i,j} определяют нули и полюсы передаточной функции от входа j к выходу i. В общем, это такая же структура записи,
как и для MIMO TF систем.
Команда sys = zpk(M) определяет передаточную матрицу коэффициентов усиления M. После выполнения команд sys = zpk('s')
è sys = zpk('z') можно определить систему, задавая выражения для
передаточных функций непосредственно (см. (1.38), (1.39)).
Команда zsys = zpk(sys) преобразует SS èëè TF модель в ZPK
форму.
3.2.8. Команды
[z, p, k] = zpkdata(sys)
[z, p, k] = zpkdata(sys, 'v')
[z, p, k, Ts, Td] = zpkdata(sys)
возвращают нули, полюсы и коэффициент усиления передаточной
функции (матрицы) системы. Системы SS èëè TF сначала превращаются в ZPK модель. Форма возвращаемой информации такая
же, как при формировании модели командой zpk. Второй вариант

Глава 3. Функции и команды Control System Toolbox 159
команды, применимый в SISO системах, возвращает не массив
векторов нулей и полюсов, а просто векторы-строки z, p. Последний вариант команды возвращает также время выборки T
тое запаздывание на входе T
.
d
è ÷èñ-
s
3.2.9. filt. Задает передаточную функцию дискретной системы
с обратными степенями по z Синтаксис команды:
sys = filt(num, den)
sys = filt(num, den,Ts)
sys = filt(M)
sys = filt(num, den, 'Property1', Value1,...,'PropertyN', ValueN)
sys = filt(num, den,Ts, 'Property1', Value1,..., 'PropertyN', ValueN).
Без указания Tsвремя дискретности не определено. В остальном смысл команд такой же, как и для предыдущих команд, и не
требует пояснений. Примеры см. (П. 1.2.4), (1.32).
3.2.10. frd. Создает объект на основе данных частотной харак-
теристики. Синтаксис:
sys = frd(res, freq)
sys = frd(res, freq,Ts)
sysfrd = frd(sys, freq)
sysfrd = frd(sys, freq, 'Units', units)
Здесь вектор res содержит комплексные значения реакции
системы на частоты, содержащиеся в векторе freq. Первая команда создает непрерывную, а вторая дискретную модель. Третья команда преобразует ранее созданные системы SS, TF èëè ZPK в
форму FRD, а четвертая делает то же самое, но дополнительно позволяет указать единицы частоты: 'rad/s' или 'Hz'. Дополнительные
пояснения и пример см. раздел 1.2, (П. 1.5).
3.2.11. Команды
[response, freq] = frdata(sys)
[response, freq,Ts] = frdata(sys)
[response, freq] = frdata(sys,'v')
возвращают частотную характеристику, заложенную в систему
FRD. Форма возвращаемой информации такая же, как при формировании модели командой frd. Второй вариант команды возвращает также время выборки T
. Последний вариант команды,
s
применимый в SISO системах, возвращает не массив векторов
АЧХ, а просто векторы-столбцы частоты и амплитуды.

160 Глава 3. Функции и команды Control System Toolbox
3.2.12. dss. Создает систему с дескриптором в фазовом про-
странстве. Описание см. в разделе 1.1. формула (1.22). Синтаксис:
sys = dss(a, b, c, d, e)
sys = dss(a, b, c, d, e,Ts)
sys = dss(a, b, c, d, e,'Property1', Value1,...,'PropertyN', ValueN)
sys = dss(a, b, c, d, e,Ts,'Property1', Value1,...,'PropertyN', ValueN).
Обозначения такие же, как для команды ss, только вводится
дополнительно матрица Å.
3.2.13. set. Команда устанавливает или модифицирует свойст-
ва системы. Синтаксис:
set(sys, 'Property', Value)
set(sys, 'Property1', Value1, 'Property2', Value2,...)
set(sys, 'Property')
set(sys)
Перечень основных свойств приведен в разделе 1.3, где также
даны примеры. Третий вариант команды возвращает допустимые
значения для свойства, указанного в строке 'Property'. Последняя
команда возвращает все возможные свойства системы и их допустимые значения.
Приведем еще один пример из Руководства Пользователя.
Пусть SISO система создана командой
sys = ss(1,2,3,4);
Необходимо добавить входное запаздывание 0.1 сек, присвоить входу имя «torque» (момент), установить матрицу D в нуль, запомнить коэффициент усиления системы в 'Userdata'. Все это может быть выполнено командой
set(sys, 'inputd', 0.1, 'inputn', 'torque', 'd' ,0, 'user', dcgain(sys)).
Видно, что можно указывать не полное наименование свойства, а сокращенное, но не дающее возможности неправильной
трактовки.
3.2.14. get. Команда возвращает введенные ранее свойства
системы. Синтаксис:
value = get(sys, 'PropertyName')
get(sys)
Первая команда возвращает определенное свойство, а вторая — все свойства системы. Если, например, применить ее к системе, сформированной предыдущей командой, то получим:
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
