СОВРЕМЕННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ
Дискретный способ вычисления временных характеристик
Временные характеристики системы, описываемой векторно-матричным дифференциальным уравнением состояния, можно получить, воспользовавшись дискретной аппроксимацией этого уравнения. Подобная аппроксимация основана на разбиении временной оси на достаточно малые отрезки. Тогда значения переменных состояния будут вычисляться в дискретные моменты времени t = 0,T, 2Т, ЪТ,..., где Тесть шаг дискретности по времени. Этот метод широко используется при численном анализе и при вычислениях на цифровых компьютерах. Если шаг дискретности Тявляется достаточно малым по сравнению с постоянными времени системы, то точность вычислений будет вполне приемлемой.
(3.87) (3.88) |
At |
Уравнение состояния линейной системы имеет вид: х = Ах + Ви. Воспользуемся классическим определением производной: х(/ + Д/)-х(/) |
х(/)= lim Д/-»0 |
Этим определением мы воспользуемся для вычисления значений х(/) при разбиении t на малые отрезки At = Т. Тогда, приняв аппроксимацию производной
(3.89) |
х(/ + 7’)-х(/)
подставим ее в уравнение (3.87) и получим:
; Ах(/) + Ви(/). |
(3.90) |
x(r + 7’)-x(f)
Выразим отсюда х(г+7):
х(/ + Т) * 7Ax(f) + х(/) + 7Ви(/) = (7А + I) х(/) + 7Ви(/), (3.91)
где t разбито на малые отрезки длительностью Т. Поэтому время / принимает дискретные значения t = kT, k = 0, 1,2, 3,... Тогда (3.91) будет записано в виде:
х[(А + 1)Z-] * (7А + 1)х (кТ) + ТВи (кТ). (3.92)
Таким образом, значение вектора состояния в (А+1)-й момент времени выражается через значения х и и в к-й момент времени. Выражение (3.92) можно записать иначе:
х(к + 1) *\i(T)x(k) + 7Bu(/c), (3.93)
где j/(7) = (7А +1), а символ Тв аргументах переменных опущен. Выражение (3.93) показывает, что определение х(/) сводится к вычислению его дискретной аппроксимации х(А+1) на основании предыдущего значения х(к). Эта рекуррентная операция, известная как метод Эйлера, представляет собой последовательную цепочку вычислений и очень просто реализуется на цифровых компьютерах. Для вычислений по формуле (3.87) могут быть использованы и другие методы численного интегрирования, например методы Рунге-Кутта. Некоторые методы интегрирования реализованы в среде MATLAB. Метод дискретного (численного) определения временных характеристик мы проиллюстрируем ниже на примере А’ІС-цепи (рис. 3.4).
Пример 3.6. Временные характеристики RLC-цепи
(3.94) |
Вычислим временные характеристики. RLC-цепи с помощью дискретной аппроксимации уравнения состояния, не прибегая к определению переходной матрицы состояния. Как и в примере 3.5, положим R = 3, L= 1 иС = 1/2. Тогда векторно-матричное уравнение состояния примет вид (см. уравнение 3.18):
' 0 -1/С' |
1/С' |
0 |
-2 |
~г |
|||
х + |
u(t) = |
х + |
|||||
ML - RIL |
0 |
I |
-3 |
0 |
X = |
«(0- |
Шаг дискретности Т мы должны выбрать достаточно малым, чтобы получить приемлемую точность аппроксимации производной (3.89) и, следовательно, как можно лучше приблизить вычисления по рекуррентной формуле (3.92) к точному решению уравнения состояния. Обычно Т выбирают так, чтобы он был по крайней мере вдвое меньше самой малой постоянной времени системы. Учитывая то, что наименьшая постоянная времени системы равна 0,5 с [напомним, что характеристический полином системы имеет вид (s + l)(s + 2)], выберем значение
Т = 0,2 с. Заметим также, что с уменьшением шага дискретности пропорционально увеличивается количество вычислений. Итак, при Т= 0,2 с уравнение (3.92) принимает вид:
х(к + 1)« (0.2А+ I)x(£) + 0,2Ви(А). (3.95)
Следовательно,
” 1 -0,4'
0,2 0,4
(3.96)
0.4 0 |
ТВ -- |
(3-97)
Предположим, что нас интересует реакция системы при*((0) = х2(0) = 1 и u(t) = 0. Реакция системы в первый момент времени, т. е. при t = Т, или при к = 0, равна
1 -0,4 0,2 0.4 |
0,6 0,6 |
Х(1). |
х(0) = |
(3.98) |
' 1 -0.4' |
'0,36 |
|
0,2 0,4 |
х(1) = |
|
0,36 |
Далее, при t = 2T= 0,4 с, или при к= 1:
(3.99) |
х(2) ’
Дальнейшие значения при к = 2, 3. 4. ... вычисляются аналогично.
Сравним теперь точное значение реакции системы, полученное в предыдущем разделе с помощью переходной матрицы состояния, с приближенным значением, вычисленным в результате дискретизации времени. В примере 3.5 при Х|(0) = *2(0) = 1 мы получили точное решение для переменных состояния: x](t) = x2(t) = e~2'. В табл. 3.1 приведены вычисленные точные значения Х|(0, а также приближенные значения при Т = 0,2 с и при Т = 0,1 с. В случае Г = 0.2 с ошибка остается приблизительно постоянной и равной 0,07, что составляет 7% от начального значения переменных состояния. При уменьшении 7’до 0,1 с ошибка также уменьшается приблизительно до 3,5% от начального значения переменных состояния. Если взять Т = 0,05 с, то аппроксимация решения в момент t = 0,2 с дает значение *,(/) = 0,655, и ошибка уменьшается до 1,5% от начального значения переменных состояния.
Таблица 3.1
|
Пример 3.7. Динамика эпидемического заболевания
Рассмотрим еще раз модель в переменных состояния, отражающую распространение эпидемического заболевания, с которой мы познакомились в примере 3.2. Полагая в уравнении состояния (3.55) а = р = у = 1, получим:
-1 -1 0' |
1 |
0' |
||
х = |
1 -1 0 |
х + |
0 |
1 |
1 1 0 |
0 |
0 |
Характеристическое уравнение системы [см. (3.57)] имеет вид s2 + 2s + 2 = 0, и, следовательно, его корни — комплексные. Определим динамику распространения заболевания, считая, что скорость появления новых восприимчивых к нему равна нулю, т. е. к, = 0. Скорость появления
новых инфицированных определим как и2(0) = 1 и и2(к) = 0 при к > 1; это означает, что в начальный момент времени появляется только один инфицированный (что эквивалентно импульсному входному воздействию). Постоянная времени, соответствующая комплексным корням, l/Cfo„ = I с, поэтому выберем Т = 0,2 с. (Заметим, что в действительности время может измеряться месяцами, а входное воздействие — тысячами человек.)
(3.101) |
Запишем уравнение состояния в дискретной форме:
"0,8 |
-0,2 |
0‘ |
' 0 ' |
|
0,2 |
0,8 |
0 |
*(*) + |
0,2 |
0,2 |
0,2 |
1 |
0 |
х(к + 1) = |
иг (к). |
Реакция системы в первый момент времени t = Т, т. е. при к = 0 и при условии, что jtj(O) = х,(0) = х3(0) = 0, равна
0
0,2 0 |
х(1) = |
(3.102)
'0,8 |
-0,2 |
0' |
' 0 ' |
'-0,04 |
|||
х(2) = |
0,2 |
0,8 |
0 |
0,2 |
= |
0,16 |
|
0,2 |
0,2 |
1 |
0 |
0,04 |
После этого вход и2(к) при к > 1 становится равным нулю, и в момент t = 27’ реакция системы определяется как |
(3.103) |
Аналогично в момент t = 3T получим:
'0,8 |
-0.2 |
0' |
'-0,04' |
-0,064’ |
|||
х(3) = |
0,2 |
0,8 |
0 |
0,16 |
= |
0,120 |
|
0,2 |
0,2 |
1 |
0,04 |
0.064 |
Последующие значения вычисляются так же просто. Разумеется, в действительности величина х, не может принимать отрицательные значения, но в нашем примере так получается из-за неадекватности модели.
(3.104) |
Метод дискретизации уравнения состояния оказывается чрезвычайно полезным при вычислении временных характеристик нелинейных систем. В этом случае уравнение состояния имеет общий вид:
x = f(x, u,f),
где f есть функция (не обязательно линейная) вектора состояния х и вектора входа и. Вектор f представляет собой матрицу-столбец функций от х и и. Если система является линейной по отношению к входным сигналам, то уравнение (3.104) принимает вид:
x = f(x,0 + Bu. (3.105)
Если система является стационарной, т. е. описывается дифференциальным уравнением с постоянными коэффициентами, то уравнение (3.105) принимает вид:
x = f(x) + Bu. (3.106)
Рассмотрим уравнение (3.106) для нелинейной системы и получим его дискретную
аппроксимацию. Используя аппроксимацию производной в виде (3.89), запишем:
x(t+T)-x( О
= f[x(0] + Bu(r) і
Полагая t = кТ, выразим отсюда х(А+1):
х(к +1) = х( к) + Т [f (х( к)) + Ви(А)].
(3.107)
(3.108)
Аналогично, для уравнения общего вида (3.104) дискретная аппроксимация записывается как
х(к +1) = (к) + ТІ [х(А), и(А), к. (3.109)
Далее мы рассмотрим систему из предыдущего примера с учетом того, что она является нелинейной.
Пример 3.8. Уточненная модель распространения эпидемического заболевания
Распространение эпидемического заболевания более точно описывается следующей системой нелинейных дифференциальных уравнений:
х, = - ах, - Рлус2 +
х2 = f>XfC2 - Ух2 + (3-110)
х3 = ссх, + ух2 ,
где взаимодействие между группами населения представлено нелинейным членом х, х2. Как и в предыдущем примере, будем считать, что а = Р = у =1, И|(/) = 0, и2(0) = 1 и и2(к) = 0 при
к> 1. Выберем шаг дискретности Т - 0,2 с и зададим начальные условия в виде хт(0) = [1 0 0].
Тогда, подставляя в уравнения (3.110) t-kT и
(з. ш)
получим:
*,(* +1) — лг,(Л) ,,Л... ...
— — = ~*і(*) - Х(к)хг(к
+ I) - »,(>) _ >[№>^№|_ ,2(t) + (3.112)
О) = 3(t|Wt>
Выражая из этих уравнений х,(к+1) и помня, что Т = 0,2 с, получим: х,(к + 1) = 0,8.x,(/с) - 0,2х,(к)х2(к),
х2(к+ 1)= 0,8х2(к)+ 0,2л|(/с)л:2(Л) + d. hi^k) , (3.113)
х^(к + 1) = хъ(к) + 0,2х,(А) + 0,2х2(к).
Тогда в первый момент времени, при t = Т имеем:
*,(1) = 0,&х,(0)=0,8. х2(1) = 0,2и2(0) = 0,2,
*3(1) = 0,2Л|(0) = 0,2.
Еще раз используя уравнения (3.113) и учитывая, что и2(1) = 0, получим: хі(2) = 0.8хіС1) - 0.2.ті(1)л2(1) = 0.608.
х2(2) = 0.8jc2(1) + 0,2х](1)х2(1) = 0,192, (3.114)
х3(2) = *з(1) + 0,2х,(1) + 0,2ї2( 1) = 0,40.
Аналогично, при / = 37” имеем:
*,(3) = 0,463, *2(3) = 0,177, х3(3) = 0,56.
Дальнейшие вычисления не вызывают проблем. Нетрудно видеть, что реакция нелинейной системы существенно отличается от реакции ее линейной модели, рассмотренной в предыдущем примере.
Вычисление временных характеристик линейных систем легко производится путем либо (1) использования переходной матрицы состояния, либо (2) с помощью дискретной аппроксимации уравнения состояния. Для нелинейных систем наиболее подходящим является метод дискретизации уравнения состояния, тем более, что он очень удобен при численных вычислениях на компьютере.