Форма вычислительной лестницы наблюдаемости
[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.