Форма вычислительной лестницы наблюдаемости
[Abar,Bbar,Cbar,T,k] = obsvf(A,B,C)
obsvf(A,B,C,tol)
Если матрица наблюдаемости (A,C)
имеет ранг r ≤ n, где n - размер A
, затем происходит такое преобразование подобия, что
где T унитарно, а преобразованная система имеет ступенчатую форму с ненаблюдаемыми режимами, если таковые имеются, в верхнем левом углу.
где (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.