exponenta event banner

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) возвращает инвариантные нули модели state-space

Edxdt = Ax + Купить = 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 + Купить = Cx + Du.

tzero не масштабирует матрицы state-space при использовании синтаксиса 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. Нормальный ранг - это ранг для значений 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, вам нужны матрицы состояния-пространства 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 matrices, команда возвращает собственные значения ненаблюдаемых режимов. Пустой результат показывает, что gasf не содержит ненаблюдаемых состояний.

Подробнее

свернуть все

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

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

Edxdt = Ax + Купить = Cx + Du,

инвариантные нули - комплексные значения s, для которых ранг системной матрицы

[A sEBCD]

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

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

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

Edxdt = Ax + Купить = Cx + Du,

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

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

Совет

Алгоритмы

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

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

Для вычисления нулей и коэффициента усиления системы с одним входом и одним выходом (SISO) используйте zero.

Ссылки

[1] Эмами-Наейни, А. и П. Ван Дорен, «Вычисление нулей линейных многовариантных систем», Automatica, 18 (1982), стр. 415-430.

[2] Мисра, П. Ван Дорен и А. Варга, «Вычисление структурных инвариантов обобщенных государственно-космических систем», Automatica, 30 (1994), стр. 1921-1936.

См. также

| |

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