Во-первых, чтобы иметь в виду, что государственные представительства не являются уникальными. Различные представления состояний могут привести к одному и тому же передаточному представлению (они фактически образуют класс эквивалентности вплоть до отмены полюсов/нулей).
Здесь разница в том, что и ничего более. Проверьте следующие системы: все они имеют ту же самую функцию передачи, но имеют разные матрицы C (G, H, отличающиеся от J), но Н, J находятся в канонической форме
G = ss(tf(b,a))
H = ss2ss(G,rot90(eye(2)))
J = canon(H,'companion')
и canon
использования отрицательной отходящих диагоналей А матрица, вероятно, после балансировки. Также может быть ошибкой.
Как упоминается WG~ (бесстыдный штекер Я автор harold
), в общем, есть гораздо более задействованные алгоритмы для преобразования, поскольку системы MIMO требуют большей осторожности. Я внедрил вариант Раздела 4.4 W.A.Wolowich, Linear Multivariable Systems (1974). Я думаю, что Matlab делает аналогичную вещь, но также и балансы (вид) реализации, которые я еще не добавил.
В целом, эти контролируемые и наблюдаемые формы не имеют должного кондиционирования из-за сопутствующей структуры. Поэтому требуется дополнительная осторожность, если что-то имеет значительный размер и серьезность.
На практике не используйте их для оценки управляемости или наблюдаемости, отличных от некоторых упражнений по учебнику. Вместо этого используйте minreal
и работайте с минимальными системами.
Причина, по которой всплывает матрица компаньонов, состоит в том, что корни действительного многочлена и собственные значения матрицы сопутствующих частиц, образованные коэффициентами этого полинома, совпадают. Для некоторых исторических замечаний ознакомьтесь с этим Cleve Moler's blog post о корнях.
Для классического примера, почему это плохо обусловленная проблема here is the example from the master himself.
Вы уже пытались 'edit tf2ss' ;-)? –