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

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

свернуть все

Индикатор Passivity, возвращенный как булево значение:

  • 1 (true) если G пассивно.

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

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

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

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

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

Для получения дополнительной информации о понятии относительного индекса пассивности, займитесь индексами Пассивности и Пассивности.

Введенный в R2016a