isPassive

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

Синтаксис

pf = isPassive(G)
pf = isPassive(G,nu,rho)
[pf,R] = isPassive(G,___)

Описание

пример

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. Значение 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