obsvf

Форма вычислительной лестницы наблюдаемости

Синтаксис

[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C)
obsvf(A,B,C,tol)

Описание

Если матрица наблюдаемости (A,C) имеет ранг rn, где n - размер A, затем происходит такое преобразование подобия, что

A¯=TATT,   B¯=TB,   C¯=CTT

где T унитарно, а преобразованная система имеет ступенчатую форму с ненаблюдаемыми режимами, если таковые имеются, в верхнем левом углу.

A¯=[AnoA120Ao], B¯=[BnoBo], C¯=[0 Co]

где (Co, Ao) наблюдаема, а собственные значения Ano являются ненаблюдаемыми режимами.

[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C) разлагает систему в пространстве состояний с помощью матриц A, B, и C в ступенчатую форму наблюдаемости Abar, Bbar, и Cbar, как описано выше. T - матрица преобразования подобия и k - вектор длины n, где n - количество состояний в A. Каждая запись k представляет количество наблюдаемых состояний, факторизованных на каждом шаге вычисления матрицы преобразования [1]. Количество ненулевых элементов в k указывает, сколько итераций было необходимо вычислить T, и sum(k) количество состояний в Ao, наблюдаемый фрагмент Abar.

obsvf(A,B,C,tol) использует tol допуска при вычислении наблюдаемых/ненаблюдаемых подпространств. Когда допуск не задан, он по умолчанию равен 10*n*norm(a,1)*eps.

Примеры

Сформируйте форму лестницы наблюдаемости

A =
     1     1
     4    -2

B =
     1    -1
     1    -1

C =
     1     0
     0     1

путем ввода

[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C)
Abar =
     1     1
     4    -2
Bbar =
     1     1
     1    -1
Cbar =
     1     0
     0     1
T =
     1     0
     0     1
k =
     2     0

Алгоритмы

obsvf реализует алгоритм лестничной клетки [1] путем вызова ctrbf и использование двойственности.

Ссылки

[1] Розенброк, M.M., State-Space and Multivariable Theory, John Wiley, 1970.

См. также

|

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте