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 (Robust Control Toolbox), isstable проверяет стабильность тока или номинального значения sys.

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

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

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

Для получения дополнительной информации об массивах моделей см. Раздел «Массивы моделей».

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

свернуть все

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

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

См. также

| |

Введенный в R2012a