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] Paige, C. C. «Свойства численных алгоритмов, связанных с управляемостью вычислениями». Транзакции IEEE по автоматическому управлению. Том 26, № 1, 1981, с. 130-138.

См. также

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