tzero

Инвариантные нули линейной системы

Синтаксис

z = tzero(sys)
z = tzero(A,B,C,D,E)
z = tzero(___,tol)
[z,nrank] = tzero(___)

Описание

z = tzero(sys) возвращает инвариантные нули динамической системы с мультивходами, несколькими выходами (MIMO), sys. Если sys является минимальной реализацией, инвариантные нули совпадают с нулями передачи sys.

z = tzero(A,B,C,D,E) возвращает инвариантные нули модели пространства состояний

Edxdt=Ax+Buy=Cx+Du.

Опускание E для явной модели пространства состояний (E = I).

z = tzero(___,tol) задает относительную погрешность, tol, управление ранговыми решениями.

[z,nrank] = tzero(___) также возвращает нормальный ранг передаточной функции sys или передаточной функции H (s ) =  D + C ( sE - A)–1B.

Входные параметры

sys

Модель динамической системы MIMO. Если sys не является моделью пространства состояний, тогда tzero вычисляет tzero(ss(sys)).

A,B,C,D,E

Матрицы пространства состояний, описывающие линейную систему

Edxdt=Ax+Buy=Cx+Du.

tzero не масштабирует матрицы пространства состояний, когда вы используете синтаксис z = tzero(A,B,C,D,E). Использовать prescale если вы хотите масштабировать матрицы перед использованием tzero.

Опускание E использовать E = I.

tol

Относительная погрешность управление ранга решениями. Увеличение допуска помогает обнаруживать неминимальные режимы и устранять очень большие нули (почти бесконечность). Однако повышенный допуск может искусственно завышать количество нулей передачи.

По умолчанию: eps^(3/4)

Выходные аргументы

z

Вектор-столбец, содержащий инвариантные нули sys или модель пространства состояний, описанная A,B,C,D,E.

nrank

Нормальный ранг передаточной функции sys или передаточной функции H (s ) =  D + C ( sE - A)–1B. Этот normal rank является рангом для значений s, отличных от нулей передачи.

Чтобы получить значимый результат для nrank, матрица s*E-A должен быть регулярным (для большинства значений s - инвертируемым). Другими словами, sys или систему, описанную в A,B,C,D,E должно иметь конечное число полюсов.

Примеры

свернуть все

Создайте передаточную функцию MIMO и найдите ее инвариантные нули.

s = tf('s'); 
H = [1/(s+1) 1/(s+2);1/(s+3) 2/(s+4)];
z = tzero(H)
z = 2×1 complex

  -2.5000 + 1.3229i
  -2.5000 - 1.3229i

Выход является вектором-столбцом с указанием местоположений инвариантных нулей H. Этот выход показывает, что H a имеет комплексную пару инвариантных нулей. Подтвердите, что инвариантные нули совпадают с нулями передачи.

Проверяйте, является ли первый инвариантный ноль нулем передачи H.

Если z (1) является нулем передачи H, затем H перепады ранжируются по s = z(1).

H1 = evalfr(H,z(1));
svd(H1)
ans = 2×1

    1.5000
    0.0000

H1 - передаточная функция, H, оцениваемый в s = z(1). H1 имеет нулевое сингулярное значение, указывающее, что H перепады ранжируют при этом значении s. Поэтому z(1) является нулем передачи H.

Аналогичный анализ показывает, что z(2) также является нулем передачи.

Получите модель MIMO.

load ltiexamples gasf
size(gasf)
State-space model with 4 outputs, 6 inputs, and 25 states.

gasf - модель MIMO, которая может содержать неконтролируемые или ненаблюдаемые состояния.

Идентифицировать ненаблюдаемые и неконтролируемые режимы gasf, вам нужны матрицы пространства состояний A, B, C, и D модели. tzero не масштабирует матрицы пространства состояний. Поэтому используйте prescale с ssdata масштабирование матриц пространства состояний gasf.

[A,B,C,D] = ssdata(prescale(gasf));

Идентифицируйте неуправляемые состояния gasf.

 uncon = tzero(A,B,[],[])
uncon = 6×1

   -0.0568
   -0.0568
   -0.0568
   -0.0568
   -0.0568
   -0.0568

Когда вы предоставляете A и B матрицы в tzero, но нет C и D матрицы, команда возвращает собственные значения неконтролируемых режимов gasf. Этот выход показывает, что существует шесть вырожденных неуправляемых режимов.

Идентифицируйте ненаблюдаемые состояния gasf.

unobs = tzero(A,[],C,[])
unobs =

  0x1 empty double column vector

Когда вы предоставляете A и C матрицы, но нет B и D матрицы, команда возвращает собственные значения ненаблюдаемых режимов. Пустой результат показывает, что gasf не содержит ненаблюдаемых состояний.

Подробнее о

свернуть все

Инвариантные нули

Для модели пространства состояний MIMO

Edxdt=Ax+Buy=Cx+Du,

invariant zeros являются комплексными числами s, для которых ранг системной матрицы

[AsEBCD]

падает от его нормального значения. (Для явных моделей пространства состояний E = I).

Нули передачи

Для модели пространства состояний MIMO

Edxdt=Ax+Buy=Cx+Du,

transmission zeros являются комплексными числами s, для которых ранг эквивалентной передаточной функции H (s ) =  D + C ( sE - A)–1B падает от своего нормального значения. (Для явных моделей пространства состояний E = I.)

Нули передачи являются подмножеством инвариантных нулей. Для минимальных реализаций нули передачи и инвариантные нули идентичны.

Совет

  • Можно использовать синтаксис z = tzero(A,B,C,D,E) для поиска неконтролируемых или ненаблюдаемых режимов модели пространства состояний. Когда C и D пусты или нули, tzero возвращает неуправляемые режимы (A-sE,B). Точно так же, когда B и D пусты или нули, tzero возвращает ненаблюдаемые режимы (C,A-sE). Смотрите Идентификация ненаблюдаемых и неконтролируемых режимов модели MIMO для примера.

Алгоритмы

tzero основан на стандартных программах SLICOT AB08ND, AB08NZ, AG08BD и AG08BZ. tzero реализует алгоритмы в [1] и [2].

Альтернативы

Чтобы вычислить нули и усиление системы с одним входом, с одним выходом (SISO), используйте zero.

Ссылки

[1] Emami-Naeini, A. and P. Van Dooren, «Computation of Zeros of Linear Multivariable Systems», Automatica, 18 (1982), pp. 415-430.

[2] Misra, P, P. Van Dooren, and A. Varga, «Computation of Structural Invariants of Generalized State-Space Systems», Automatica, 30 (1994), pp. 1921-1936.

См. также

| |

Введенный в R2012a