Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 4.doc
Скачиваний:
28
Добавлен:
08.12.2018
Размер:
992.77 Кб
Скачать

1. Исследование управляемости и наблюдаемости линейной системы.

С целью исследования свойств управляемости рассмотрим две функции. Функция ctrb формирует матрицу управляемости Со= для системы, заданной в пространстве состояний четверкой матриц {A, B, C, D}. Из теории управления известно, что система полностью управляема, если ранг матрицы Со равен . Вызов функции осуществляется командой Со=ctrb(А,В), либо Со=ctrb(sys), где sys объект ss-подкласса, эта команда эквивалентна команде Со=ctrb(sys.А, sys).

>>a=[1 2; 0 2]

a =

1 2

0 2

>>b=[2 0; 0 1]

b =

2 0

0 1

>>Co=ctrb(a,b)

Co =

2 0 2 2

0 1 0 2

>>rank(Co)

ans =

2

В данном примере ранг матрицы управляемости равен двум, что позволяет сделать вывод в соответствии с критерием Калмана о полной управляемости системы.

Функция ctrbf формирует каноническую форму управляемости. Если матрица управляемости Со имеет ранг меньший, чем размерность вектора состояния модели, например равный , то существует преобразование , такое, что система в новых переменных представляется матрицами , и , где − унитарная матрица. Указанные матрицы имеют блочную структуру:

, , .

Здесь размерности матриц таковы:

,

,

,

,

,

.

Матрица содержит все неуправляемых собственных чисел системы, а пара матриц полностью управляема.

Входными аргументами функции ctrbf являются исходные матрицы LTI-объекта , и , а выходными − матрицы , и , а также матрица преобразования и вектор k, элементы которого указывают количество управляемых собственных чисел, выделенных на каждом шаге построения матрицы . Соответственно, суммой элементов вектора k является число .

>>A=[-1 0 0; 0 -2 1; -1 0 2];

B=[0; 0; -1];C=[0 0 1];

>> [Abar,Bbar,Cbar,T,k]=ctrbf(A,B,C)

Abar =

-1 0 0

0 -2 -1

1 0 2

Bbar =

0

0

-1

Cbar =

0 0 1

T =

-1 0 0

0 -1 0

0 0 1

k =

1 1 0

Здесь

, , , .

Таким образом, собственное число матрицы является неуправляемым, собственные числа и − управляемыми, и, поскольку вещественная часть неуправляемого числа отрицательна, исходная система управления (пара матриц ) стабилизируема.

Для исследования свойств наблюдаемости заданной LTI-модели будем применять также две функции. Функция obsv формирует матрицу наблюдаемости Ob= для LTI-объекта. Если эта матрица имеет полный ранг, то система полностью наблюдаема (теорема 1.5.3). Вызов функции можно осуществить запуском команды Ob=obsv(А,C), либо Ob=obsv(sys), где sys ­ объект ss-подкласса, эта команда эквивалентна команде Ob=ctrb(sys.А, sys.C).

Функция obsvf формирует каноническую форму наблюдаемости для заданной линейной системы подобно тому, как функция ctrbf формирует каноническую форму управляемости. Если матрица наблюдаемости Ob имеет ранг меньший, чем размерность вектора состояния модели, например равен , то существует преобразование , такое, что система в новых переменных представляется матрицами , и , где ­ унитарная матрица. Указанные матрицы имеют блочную структуру:

, , .

Здесь размерности матриц таковы:

,

,

,

,

,

.

Матрица содержит все ненаблюдаемых собственных чисел системы (неуправляемых собственных чисел двойственной системы), а пара матриц полностью наблюдаема.

Входными аргументами функции obsvf являются исходные матрицы LTI-объекта , и , а выходными ­ матрицы , и , а также матрица преобразования и вектор k, элементы которого указывают количество наблюдаемых собственных чисел, выделенных на каждом шаге построения матрицы . Соответственно, суммой элементов вектора k является число .

>> [A2,B2,C2,To,ko] = obsvf(A,B,C);

>> S2=obsv(A,C);

>> rank(S2)

ans =

2

Таким образом, матрица имеет одно ненаблюдаемое собственное число

>> A2(1,1)

ans =

-2

Наблюдаемая часть системы:

>> Ao=A2(2:3,2:3);Bo=B2(2:3,:);