isstable

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

Описание

пример

B = isstable(sys) возвращает логическое значение 1 TRUE) если модель sys динамической системы имеет устойчивую динамику и логическое значение 0 ложь) в противном случае. Если 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 ложь) для целого массива.

Исследуйте устойчивость каждой модели в массиве при помощи '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 для нестабильной модели.

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

Смотрите также

| |

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