минерал

Минимальная реализация или удаление нулей-полюсов

Синтаксис

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) задает допуск, используемый для устранения состояния или удаления нулей-полюсов. Значение по умолчанию is 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.

Алгоритмы

Удаление нулей-полюсов является прямым поиском через полюса и нули, ища соответствия, которые являются в допуске. Передаточные функции сначала преобразованы в форму нулей и полюсов.

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