obsv

Матрица наблюдаемости

Синтаксис

obsv(A,C)
Ob = obsv(sys)

Описание

obsv вычисляет матрицу наблюдаемости для систем в пространстве состояний. Для n-by-n матричный A и p-by-n матричный C, obsv(A,C) возвращает матрицу наблюдаемости

Ob=[CCACA2  :CAn1]

со столбцами n и строками np.

Ob = obsv(sys) вычисляет матрицу наблюдаемости модели в пространстве состояний sys. Этот синтаксис эквивалентен выполнению

Ob = obsv(sys.A,sys.C)

Модель заметна если Ob имеет полный ранг n.

Примеры

Определите если пара

A =
     1     1
     4    -2

C =
     1     0
     0     1

заметно. Ввод

Ob = obsv(A,C);

% Number of unobservable states
unob = length(A)-rank(Ob)

Эти команды приводят к следующему результату.

unob =
     0

Советы

obsv здесь в образовательных целях и не рекомендуется для серьезной системы управления. Вычисление ранга матрицы наблюдаемости не рекомендуется для тестирования наблюдаемости. Ob будет численно сингулярно для большинства систем больше чем с горсткой состояний. Этот факт хорошо зарегистрирован в литературу управления. Например, смотрите Раздел III в [1].

Ссылки

[1] Пэйдж, C. C. "Свойства Числовых Алгоритмов, Связанных с Вычислением Управляемости". Транзакции IEEE на Автоматическом управлении. Издание 26, Номер 1, 1981, стр 130-138.

Смотрите также

Представлено до R2006a