exponenta event banner

isstable

Определение стабильности динамической модели системы

Описание

пример

B = isstable(sys) возвращает логическое значение 1 (true), если динамическая модель системы sys имеет стабильную динамику и логическое значение 0 (false) в противном случае. Если sys является массивом модели, затем функция возвращает 1 только если все модели в sys стабильны.

isstable возвращает логическое значение 1 (true) для устойчивости динамической системы, если:

  • В системах непрерывного времени все полюса лежат в открытой левой половине комплексной плоскости.

  • В дискретно-временных системах все полюса лежат внутри открытого диска блока.

isstable поддерживается только для аналитических моделей с конечным числом полюсов.

пример

B = isstable(sys,'elem') возвращает логический массив с теми же размерами, что и массив модели sys. Логический массив указывает, какие модели в sys стабильны.

Примеры

свернуть все

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

sys (z) = 2z4z3 + 3z-1

Создайте модель функции переноса дискретного времени.

sys = tf([2,0],[4,0,3,-1],0.1);

Осмотрите полюса системы.

P = abs(pole(sys))
P = 3×1

    0.9159
    0.9159
    0.2980

Все полюса модели передаточной функции имеют величину меньше 1так что все полюса лежат внутри открытого диска блока, и система стабильна.

Подтверждение стабильности модели с помощью isstable.

B = isstable(sys)
B = logical
   1

Система sys стабилен.

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

sys (s) = 2 (s + 2 + 3j) (s + 2-3j) (s-0.5)

Создание модели в виде zpk путем задания нулей, полюсов и коэффициента усиления.

sys = zpk([],[-2-3*j,-2+3*j,0.5],2);

Поскольку один полюс модели лежит в правой половине комплексной плоскости, система нестабильна.

Подтверждение нестабильности модели с помощью isstable.

B = isstable(sys)
B = logical
   0

Система sys нестабильно.

Определение стабильности массива моделей передаточных функций SISO с полюсами, изменяющимися от -2 кому 2.

[1s + 2, 1s + 1, 1s, 1s-1, 1s-2]

Чтобы создать массив, сначала инициализируйте массив измерения [length(a),1] с нулевыми функциями передачи SISO.

a = [-2:2];
sys = tf(zeros(1,1,length(a)));

Заполнение массива функциями переноса формы 1/(s-a).

for j = 1:length(a)
    sys(1,1,j) = tf(1,[1 -a(j)]);
end

isstable может определить, являются ли все модели в массиве моделей стабильными или каждая отдельная модель стабильной.

Проверьте стабильность массива модели.

B_all = isstable(sys)
B_all = logical
   0

По умолчанию isstable возвращает одно логическое значение, 1 (true), только если все модели в массиве стабильны. sys содержит некоторые модели с неотрицательными полюсами, которые не стабильны. Поэтому isstable прибыль 0 (false) для всего массива.

Проверьте стабильность каждой модели в массиве с помощью 'elem' флаг.

B_elem = isstable(sys,'elem')
B_elem = 5x1 logical array

   1
   1
   0
   0
   0

Функция возвращает массив логических значений, которые указывают на стабильность соответствующей записи в массиве модели. Например, B_elem(2) является 1, которая указывает, что вторая модель в массиве, sys(1,1,2) стабилен. Это потому, что sys(1,1,2) имеет полюс на -1.

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

свернуть все

Динамическая система, заданная как динамическая системная модель SISO или MIMO или массив динамических системных моделей SISO или MIMO. Динамические системы, которые можно использовать, включают непрерывные или дискретные цифровые модели LTI, такие как tf, zpk, или ss модели.

Если sys является обобщенной моделью состояния-пространства genss или модель неопределенного состояния-пространства uss (инструментарий надежного управления), isstable проверяет стабильность текущего или номинального значения sys.

Если sys - массив моделей, isstable проверяет стабильность каждой модели в массиве.

  • Если вы используете B = isstable(sys), выходной сигнал: 1 (true), только если все модели в массиве стабильны.

  • Если вы используете B = isstable(sys,'elem'), выводом является логический массив, записи которого указывают стабильность соответствующей записи в массиве модели.

Дополнительные сведения о массивах моделей см. в разделе Массивы моделей.

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

свернуть все

Истинный или ложный результат, возвращенный как 1 для стабильной модели или 0 для нестабильной модели.

'elem' причины флага isstable возвращает массив логических значений с теми же размерами, что и массив модели. Значения в массиве указывают на стабильность соответствующей записи в массиве модели.

См. также

| |

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