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

Проверяйте, является ли первый инвариантный нуль нулем передачи 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, вам нужны матрицы пространства состояний ABC, и 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, А. и П. ван Дурен, "Расчет Нулей Линейных Многомерных Систем", Automatica, 18 (1982), стр 415–430.

[2] Misra, P, П. ван Дурен и А. Варга, “Расчет Структурных Инвариантов Обобщенных Систем в пространстве состояний”, Automatica, 30 (1994), стр 1921-1936.

Смотрите также

| |

Представленный в R2012a