isPassive

Проверяйте пассивность линейных систем

Описание

пример

pf = isPassive(G) возвращает логическое значение 1 (true) если динамическая системная модель G пассивен, и логическое значение 0 (false) в противном случае. Система passive, если все ее вводы-выводы траектории (u (t), y (t)) удовлетворяют:

0Ty(t)Tu(t)dt>0,

для всех T > 0. Эквивалентно, система пассивна, если ее частотная характеристика положительная действительная, что означает, что для всех ω > 0,

G(jω)+G(jω)H>0

(или эквивалент в дискретном времени). Если G является массивом моделей, тогда isPassive возвращает логический массив с теми же измерениями массива, что и G, где каждая запись в массиве отражает пассивность соответствующей записи в G.

Для получения дополнительной информации об понятии пассивности смотрите Об индексах пассивности и пассивности.

пример

pf = isPassive(G,nu,rho) возвращает 1 (true), если G пассивный с индексным nu на входах и индексе rho на выходах. Такие системы удовлетворяют:

0Ty(t)Tu(t)dt>ν0Tu(t)Tu(t)dt+ρ0Ty(t)Ty(t)dt,

для всех T > 0.

  • Использование rho = 0, чтобы проверить, input passive ли система с индексом nu на входах.

  • Использование nu = 0, чтобы проверить, output passive ли система с индексом rho на выходах.

Для получения дополнительной информации об входной и выходной пассивности смотрите Об индексах пассивности и пассивности.

пример

[pf,R] = isPassive(G,___) также возвращает относительный индекс для соответствующей границы пассивности (см. getPassiveIndex). R измеряет величину, на которую удовлетворяется свойство пассивности (R < 1) или нарушен (R > 1). Можно использовать этот синтаксис с любой из предыдущих комбинаций входных параметров.

Примеры

свернуть все

Проверьте, является ли следующая передаточная функция пассивной:

G(s)=s+1s+2.

G = tf([1,1],[1,2]);
[pf,R] = isPassive(G)
pf = logical
   1

R = 0.3333

pf = 1 указывает, что G является пассивным. R = 0.3333 указывает, что R имеет относительный избыток пассивности.

Проверьте, является ли передаточная функция G является входным пассивным с индексом 0,25. Для этого используйте nu = 0,25 и rho = 0.

G = tf([1,1],[1,2]);
[pfin,Rin] = isPassive(G,0.25,0)
pfin = logical
   1

Rin = 0.6096

Результат показывает, что G является пассивным входом с этим nu значение и имеет некоторую избыточную пассивность.

Проверяйте, G ли является выходным пассивным с индексом 2.

[pfout,Rout] = isPassive(G,0,2)
pfout = logical
   0

Rout = 2.6180

Вот, результат pfout = 0 показывает, что G не выводится пассивно с этим rho значение. The R значение дает относительную меру дефицита пассивности.

Можно использовать isPassive чтобы оценить пассивность нескольких моделей в массиве моделей одновременно. В данном примере сгенерируйте случайный массив моделей передаточной функции.

G = rss(3,1,1,1,5);

G - массив 1 на 5 моделей SISO с 3 состояниями. Проверяйте пассивность всех моделей в G.

[pf,R] = isPassive(G)
pf = 1x5 logical array

   0   0   0   1   0

R = 1×5

   35.3759       Inf       Inf    0.1130    4.3096

pf и R также являются массивами 1 на 5. Каждый pf запись указывает, является ли соответствующая модель в G является пассивным. Точно так же каждый R значение дает относительное превышение или дефицит пассивности в соответствующей модели в G. Например, исследуйте пассивность второй записи в G, и сравните результат со вторыми значениями в pf и R.

[pf2,R2] = isPassive(G(:,:,2))
pf2 = logical
   0

R2 = Inf

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

свернуть все

Модель для анализа пассивности, заданная как динамическая системная модель, такая как tf, ss, или genss модель. G может быть MIMO, если количество входов равняется количеству выходов. G может быть непрерывным или дискретным. Если G - обобщенная модель с настраиваемыми или неопределенными блоками, isPassive оценивает пассивность тока, номинальное значение G.

Входной индекс пассивности, заданный как действительное скалярное значение. Использование nu и rho для задания конкретных границ пассивности. Чтобы проверить, является ли система пассивной с конкретным индексом на входах, установите nu на это значение и установите rho = 0.

Выходной индекс пассивности, заданный как действительное скалярное значение. Использование nu и rho для задания конкретных границ пассивности. Чтобы проверить, является ли система пассивной с определенным индексом пассивности на выходах, установите rho на это значение и установите nu = 0.

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

свернуть все

Индикатор пассивности, возвращенный как логическое значение:

  • 1 (true), если G является пассивным.

  • 0 (false), если G не пассивен.

Если вы задаете входные и выходные индексы пассивности nu и rho, затем pf указывает пассивность относительно соответствующей границы пассивности.

Если G является массивом моделей, затем pf - массив того же размера, где pf(k) указывает на пассивность kвторая запись в G, G(:,:,k).

Относительный индекс пассивности, возвращенный как положительный действительный скаляр. R измеряет избыток (R < 1) или нехватка (R > 1) пассивности в системе.

Если вы задаете nu ≠ 0 или rho ≠ 0, затем R измеряет, насколько удовлетворены или нарушены указанные свойства пассивности.

Для получения дополнительной информации о понятии индекса относительной пассивности смотрите Об индексах пассивности и пассивности.

Введенный в R2016a