Минимальная реализация или удаление нулей-полюсов
sysr = minreal(sys)
sysr = minreal(sys,tol)
[sysr,u] = minreal(sys,tol)
... = minreal(sys,tol,false)
...
= minreal(sys,[],false)
sysr = minreal(sys)
устраняет неконтролируемое или ненаблюдаемое состояние в моделях пространства состояний или отменяет пары с нулем полюса в передаточных функциях или модели с нулями , полюса и усиления. Область выхода sysr
имеет минимальный порядок и те же характеристики отклика, что и исходная модель sys
.
sysr = minreal(sys,tol)
задает допуск, используемый для устранения состояния или удаления нулей-полюсов. Значение по умолчанию tol = sqrt(eps)
и увеличение этого допуска приводит к дополнительным отменам.
[sysr,u] = minreal(sys,tol)
возвращает, для модели пространства состояний sys
ортогональная матрица U
таким образом (U*A*U',U*B,C*U')
является разложением Калмана (A
, B
, C
)
... = minreal(sys,tol,false)
и ...
= minreal(sys,[],false)
отключить подробный выход функции. По умолчанию minreal
отображает сообщение, указывающее количество состояний, удаленных из модели пространства состояний sys
.
Команды
g = zpk([],1,1); h = tf([2 1],[1 0]); cloop = inv(1+g*h) * g
создать неминимальную модель с нулями , полюса и усиления cloop
.
cloop = s (s-1) ------------------- (s-1) (s^2 + s + 1) Continuous-time zero/pole/gain model.
Для отмены пары «полюс-ноль» при s = 1 введите
cloopmin = minreal(cloop)
Эта команда приводит к следующему результату.
cloopmin = s ------------- (s^2 + s + 1) Continuous-time zero/pole/gain model.
Удаление нулей-полюсов - это простой поиск по полюсам и нулям, ищущим совпадения, которые находятся в пределах допуска. Передаточные функции сначала преобразуются в форму с нулями , полюса и усиления.
balreal
| Model Reducer | modred
| sminreal