Представление линейных стационарных непрерывных и дискретных систем в фазовом пространстве. Учебное пособие
.pdfБ.П. РОДИН
ПРЕДСТАВЛЕНИЕ ЛИНЕЙНЫХ СТАЦИОНАРНЫХ НЕПРЕРЫВНЫХ И ДИСКРЕТНЫХ СИСТЕМ В ФАЗОВОМ ПРОСТАНСТВЕ
Учебное пособие к практическим занятиям
ÓÄÊ 681.511
Родин, Б.П.
Представление линейных стационарных непрерывных и дискетных
систем в фазовом пространстве: Учеб. пособие к практическим заняти- |
|
ям / Б.П. Родин. — Саратов: Издательство «Вузовское образование», 2013. |
— |
(Высшее образование). — 68 c—. Док. опубл. не был. — Доступ с сайта ЭБС IP |
Rbooks. |
Учебное пособие охватывает темы пяти практических занятий, предусмотренных учебным планом и программой по курсу теория автоматического управления. Непрерывные и дискретные системы рассматриваются параллельно с единых позиций линейной алгебры. По теме каждого практического занятия приведены задачи, необходимые для их решения определения и теоретические результаты, указания и ответы. В пособии систематически рассматривается применение программы MATLAB для решения задач по теме каждого практи- ческого занятия. Предназначено для студентов третьего и четвертого курсов, специализирующихся по мехатронике и робототехнике.
Б.П. Родин, 2008
2
1Занятие первое. Уравнения состояния и выхода линейных стационарных непрерывных и дискретных систем. Собственные числа и собственные векторы
Линейная стационарная непрерывная система описывается линейными дифференциальными уравнениями с постоянными коэффициентами, а линейная стационарная дискретная система - линейными разностными уравнениями с постоянными коэффициентами. Уравнения состояния и выхода линейной непрерывной системы имеют вид
x(t) = Ax(t) + Bu(t); |
y(t) = Cx(t) + Du(t); |
(1) |
а уравнения состояния и выхода линейной дискретной системы - |
|
|
x(k + 1) = Ax(k) + Bu(k); |
y(k) = Cx(k) + Du(k); |
(2) |
ãäå x(x1; x2; :::xn)T - вектор состояния системы; u = (u1; u2; :::ur)T - âõîä- ной сигнал; y = (y1; y2; :::ym)T - выходной сигнал; A n n - матрица
системы; B n r - матрица входного сигнала; C m n - матрица выходного сигнала; D m r - матрица обхода системы; t - непрерывной время, принимающее действительные значения; k - дискретное время,
принимающее целочисленные значения.
Если элементы матриц A; B; C; D - постоянные числа, то системы (1)
и (2) называются стационарными. Если элементы этих матриц являются функциями непрерывного t или дискретного k времени, соответственно,
то системы (1) и (2), оставаясь линейными, перестают быть стационарными.
Число компонент n вектора состояния x называют порядком системы, число компонент r входного сигнала u - числом входов, а число компонент m выходного сигнала y - числом выходов.
1.1
Каков порядок систем?
|
2 |
4 |
|
1 |
|
|
|
|
x = |
1 |
1 |
|
x + |
1 |
u; y = x; |
1u(k); |
|
x(k + 1) = 0 0:2 |
1:2 |
0:7 |
1x(k) + |
0 1 |
||||
|
0:3 |
0:7 |
0:7 |
A |
|
1 |
A |
|
@ 0:2 0:2 |
0:3 |
|
@ 0 |
|||||
y(k) = x(k)
Сколько у них входов и выходов?
3
1.2
Сколько входов и сколько выходов имеет система
2 |
4 |
|
u2 |
|
|
|
x 1 |
1 |
x + B |
u1 |
|
; y = 1 2 x |
|
Характеристическим полиномом P ( ) линейной стационарной системы (1) или (2) называется характеристический полином ее матрицы A. Таким образом, характеристический полином P ( ) есть определитель матрицы I A:
P ( ) = det( I A) = ( 1)n det(A I) |
(3) |
Собственными числами линейной стационарной системы называют корни ее характеристического полинома.
1.3
Найти характеристический полином системы
x(k + 1) = |
0:2 0:3 x(k) + |
1 u(k); y(k) = x(k) |
|
0 0:1 |
1 |
1.4
Найти собственные числа системы из задачи 1.3
Характеристический полином (3) имеет степень n, совпадающую с порядком системы:
P ( ) = n + p1 n 1 + p2 n 2 + ::: + pn 1 + pn |
(4) |
Значение полинома (4) при = 0 равно pn. Если положить = 0 в определении характеристического полинома (3) p(0) = det( A) = ( 1)n det A, то получим, что свободный член характеристического по-
линома матрицы A равен определителю этой матрицы при четном n и отличается от этого определителя лишь знаком при нечетном n.
1.5
Найти свободные члены характеристических полиномов систем из зада- чи 1.1
Сумму диагональных элементов матрицы A называют ее следом и обозначают tr A. Таким образом
n
X tr A = aii
i=1
4
1.6
Найти следы матриц систем из задачи 1.1
Коэффициент p1 характеристического полинома (4) матрицы равен следу этой матрицы, взятому со знаком минус: p1 = tr A.
1.7
Найти коэффициент характеристического полинома при первой степенидля системы из задачи 1.3
Если из матрицы A выбросить все строки, кроме i1; i2; :::ip, è âñå столбцы, кроме столбцов j1; J2; :::jp, то определитель полученной в результате матрицы будет минором матрицы A порядка p:
A |
j1 |
j2 |
::: |
jp |
|
= det |
0 |
::: |
::: |
::: |
1 |
|
i |
i |
::: |
i |
|
|
|
ai1j1 |
::: ai1jp |
A |
|
1 |
2 |
|
p |
|
@ aipj1 |
::: |
aipjp |
||||
Миноры, для которых i1 = j1; i2 = j2; :::ip = jp, называются главны- ми для матрицы A.
1.8
Найти все главные миноры второго порядка для матриц систем из зада- чи 1.1
Обозначим через cl сумму всех главных миноров порядка l матрицы A 1 l n. Тогда характеристический полином этой матрицы можно
записать в виде
P ( ) = n c1 n 1 + c2 n 2 ::: + ( 1)ncn
1.9
Найти характеристические полиномы систем из задачи 1.1 В уравнениях движения (1) и (2) выполним замену переменной, пе-
рейдя к новому вектору состояния x~, связанному со старым x равенством
x = Sx;~ |
(5) |
в котором матрица S невырождена det S 6= 0 и, следовательно, имеет обратную S 1. Уравнения движения (1) непрерывной системы в новых координатах примут вид
x~ = S 1ASx~(t) + S 1Bu(t); |
|
y(t) = CSx~(t) + Du(t); |
(6) |
а уравнения движения (2) дискретной системы -
5
x~(k + 1) = S 1ASx~(k) + S 1Bu(k); |
|
y(k) = CSx~(k) + Du(k); |
(7) |
Таким образом, в новых координатах |
|
A~ = S 1AS |
(8) |
1.10
Для системы из задачи 1.3 выполнить линейную замену (5) фазового
вектора с матрицей S =
1 1
1 2
~
Квадратные матрицы A и A, связанные равенством (8), называют
подобными. Подобные матрицы имеют одинаковые характеристические полиномы.
~ 1 1
P ( ) = det( I A) = det( I S AS) = det[S ( I A)S] =
= det S 1 det( I A) det S = det( I A)
Таким образом, характеристический полином линейной стационарной системы инвариантен при линейном невырожденном преобразовании (5) фазовых координат этой системы.
1.11
Найти характеристический полином системы с уравнением состояния
x~(k + 1) = |
0 0:2 x~(k) + |
0 u(k) |
|
0:1 0 |
1 |
и сравнить его с характеристическим полиномом, найденным при решении задачи 1.3
Рассмотрим применение программы MATLAB для развертывания характеристического полинома на примере матрицы
A = |
0 |
0:25 |
0:35 |
0:15 0:15 |
1 |
(9) |
||
|
B |
0:10 |
0 |
|
0 0 |
C |
|
|
|
0:10 0:10 0:30 0:10 |
|
||||||
|
B |
|
0:05 |
0:05 |
|
0:05 0:45 |
C |
|
|
@ |
|
|
|
A |
|
||
Начинаем с ввода элементов матрицы (9), следуя следующим правилам: 1) вводим элементы матрицы A по строкам, 2) отделяем элемен-
ты строки друг от друга пробелами или запятыми, 3) печатаем точку с запятой, чтобы разделить строки матрицы, 4) весь список элементов вводимой матрицы заключаем в прямоугольные скобки, 5) если список
6
не помещается в одной строке командного окна программы MATLAB, печатаем троеточие в конце строки, чтобы указать на продолжение в следующей. Таким образом, печатаем:
A = [0:1000; 0:250:35 0:150:15; :::
0:1 0:10:30:1; 0:050:05 0:050:45]
и после нажатия клавиши Enter видим на экране
A =
0:1000 |
0 |
0 |
0 |
0:2500 |
0:3500 |
0:1500 |
0:1500 |
0:1000 |
0:1000 |
0:3000 |
0:1000 |
0:0500 |
0:0500 |
0:0500 |
0:4500 |
можно исключить вывод на экран матрицы A, напечатав в конце спис-
ка элементов вводимой матрицы после прямоугольной скобки точку с запятой.
Коэффициенты характеристического полинома матрицы A получим
после выполнения команды:
p = poly(A) p =
1:000 1:2000 0:4900 0:0780 0:0040
Таким образом, вычислен характеристический полином P ( ) матрицы (9):
P ( ) = 4 1:2 3 + 0:49 2 0:078 + 0:004 |
(10) |
Алгебраическая проблема вычисления корней полинома (10) решается для пользователя программы MATLAB вводом в строку командного окна текста
r = roots(p)
После нажатия клавиши Enter получим на экране r =
0:5000
0:4000
0:2000
0:1000
1.12
Найти характеристический полином и собственные числа систем
x(k + 1) = |
0 0:2 |
1:2 |
0:7 |
1x(k) + |
0 1 |
1u(k) |
|
0:3 |
0:7 |
0:7 |
A |
1 |
A |
|
@ 0:2 0:2 |
0:3 |
@ 0 |
|||
7
è |
0 0:2 |
0:6 |
0:2 |
1x(k) + |
0 0 1u(k) |
x(k + 1) = |
|||||
|
0:2 |
0:2 |
0:2 |
A |
1 |
|
@ 0:2 0:2 |
0:2 |
@ 1 A |
||
Собственным вектором квадратной матрицы A, отвечающей собственному числу , называется ненулевой столбец h, удовлетворяющий уравнению
Ah = h |
(11) |
Перепишем это уравнение, вводя единичную матрицу, в виде AhIh = 0. После вынесения столбца h вправо за скобки получим
(A I)h = 0 |
(12) |
Собственными векторами линейной стационарной системы с уравнениями движения (1) или (2) будем называть собственные векторы матрицы A.
1.13
Найти собственные векторы системы из задачи 1.2
1.14
Найти собственные числа и собственные векторы системы
|
0 3 |
|
|
1 |
|
x = |
5 2 |
|
x + |
0 |
u; y = x |
1.15
Определить собственные числа системы с уравнением состояния
x = |
0 0 |
3 |
3 |
1x + |
0 1 1u |
|||
|
@ |
3 |
6 |
0 |
A |
@ |
1 |
A |
|
6 |
6 |
3 |
1 |
||||
Найти собственный вектор, отвечающий вещественному собственному числу.
1.16
Определить собственные числа и собственные векторы системы с уравнением состояния
8
x = |
0 1 |
3 |
2 |
1x + |
0 0 1u: |
|||
|
@ |
4 |
6 |
1 |
A |
@ |
1 |
A |
|
6 |
6 |
3 |
0 |
||||
1.17
Найти собственные числа и собственные векторы систем с уравнениями состояния
|
1 |
3 |
|
|
0 |
|
x = |
1 |
1 |
|
x + |
1 |
u; |
|
0 |
2 |
|
0 |
|
|
x = |
2 |
0 |
|
x + |
1 |
u: |
1.18
Найти собственные векторы системы из задачи 1.3
Рассмотрим применение программы MATLAB для вычисления собственных числе (eigenvalues) и соответствующих им собственных вектором (eigenvectors) на примере матрицы (9). Вводим элементы матрицы A так же, как делали это выше при развертывании характеристическо-
го полинома этой матрицы. Если обозначить матрицу, столбцы которой образованы искомыми собственными векторами матрицы A через S, а
диагональную матрицу, образованную искомыми собственными числами матрицы A, через R, то вычислить эти матрицы можно, выполнив
команду
[S; R] = eig(A)
После нажатия клавиши Enter получим на экране
S =
0 |
0 |
0 |
0:7071 |
0:7071 |
0:0000 |
0:7071 |
0:7071 |
0:0000 |
0:7071 |
0:7071 |
0:0000 |
0:7071 |
0:7071 |
0:0000 |
0:0000 |
R = |
|
|
|
0:5000 |
0 |
0 |
0 |
0 |
0:4000 |
0 |
0 |
0 |
0 |
0:2000 |
0 |
0 |
0 |
0 |
0:1000 |
Собственные векторы матрицы A в столбцах матрицы S упорядоче- ны также, как собственные числа матрицы A на диагонали матрицы R.
9
Так, собственному числу 1 = 0:5, стоящему в первом столбце матрицы R, отвечает вектор
S1 = |
0; 0:7071; 0; 0:7071 |
T ; |
(13) |
стоящий в первом столбце матрицы S. Собственные числа матрицы A стоят на диагонали матрицы R в порядке убывания. Переупорядочить
их в порядке возрастания можно, выполнив команду
Rn = rot90(R; 2)
Rn =
0:1000 |
0 |
0 |
0 |
0 |
0:2000 |
0 |
0 |
0 |
0 |
0:4000 |
0 |
0 |
0 |
0 |
0:5000 |
Собственно нужно переупорядочить столбцы матрицы S:
Sn = S(: [4 3 2 1])
Sn =
0:7071 |
0 |
0 |
0 |
0:7071 |
0:7071 |
0:0000 |
0:7071 |
0:0000 |
0:7071 |
0:7071 |
0:0000 |
0:0000 |
0:0000 |
0:7071 |
0:7071 |
Столбец (13) отвечает собственному числу 1 = 0:5 матрицы (9). Вектор, полученный умножением (13) на любое отличное от нуля число k, будет также собственным, отвечающим числу 1. Вектор S1 (13), стоящий в первом столбце матрицы S, выделяется из этого множества kS1 собственных векторов, отвечающих собственному числу 1 = 0:5, тем, что его длина равна единице. Выделим из матрицы S второй ее столбец S2. Это можно сделать, выполнив команду
S2 = S(:; 2) S2 =
00:00000:70710:7071
Возведем каждую координату вектора S2 в квадрат и образуем из этих квадратов столбец kvS2:
kvS2 = S2:b2 kbvS2 =
10
