Русская Википедия:Критерий устойчивости Гурвица
Шаблон:Не путать Шаблон:Другие значения термина Критерий устойчивости Гурвица — один из способов анализа линейной стационарной динамической системы на устойчивость, разработанный немецким математиком Адольфом Гурвицом. Наряду с критерием Рауса является представителем семейства алгебраических критериев устойчивости, в отличие от частотных критериев, таких, как критерий устойчивости Найквиста — Михайлова. Достоинством метода является принципиальная простота, недостатком — необходимость выполнения операции вычисления определителя, которая связана с определенными вычислительными тонкостями (например, для больших матриц может появиться значительная вычислительная ошибка).
Формулировка
Метод работает с коэффициентами характеристического уравнения системы. Пусть <math> W(s) = \frac{Y(s)} {U(s)} </math> — передаточная функция системы, а <math> \ U(s) = 0</math> — характеристическое уравнение системы. Представим характеристический полином <math> \ U(s) </math> в виде
- <math> \ U(s) = a_0 s^n + a_1 s^{n-1} + ... + a_n</math>
где <math>s</math> — комплексный аргумент.
Из коэффициентов характеристического уравнения строится определитель Гурвица <math> \Delta </math> по алгоритму:
- по главной диагонали слева направо выставляются все коэффициенты характеристического уравнения от <math> \ a_1 </math> до <math> \ a_n </math>;
- от каждого элемента диагонали вверх и вниз достраиваются столбцы определителя так, чтобы индексы убывали сверху вниз;
- на место коэффициентов с индексами меньше нуля или больше <math> \ n </math> ставятся нули.
Размерность матрицы Гурвица определяется максимальной степенью при s в характеристическом уравнении (то есть n).
Или явно[1]
<math>\Delta = \begin{vmatrix} a_1 & a_3 & a_5 & \ldots & 0\\ a_0 & a_2 & a_4 & \ldots & 0\\ 0 & a_1 & a_3 & \ldots & 0\\ 0 & a_0 & a_2 & \ldots & 0\\ \vdots &\vdots &\vdots &\ddots &\vdots\\ \ldots &\ldots &\ldots &\ldots & a_n \end{vmatrix}</math>
Тогда согласно критерию Гурвица: Шаблон:Начало цитаты Для того, чтобы динамическая система была устойчива, необходимо и достаточно, чтобы все <math> \ n </math> главных диагональных миноров определителя Гурвица были положительны, при условии <math>a_0 > 0</math>. Эти миноры называются определителями Гурвица. Шаблон:Конец цитаты
Анализируя условие критерия Гурвица, можно заметить его избыточность. Число неравенств можно уменьшить в два раза, используя теорему Льенара — Шипара. Впрочем, в вычислительном отношении сложность критерия уменьшается не существенно, так как при вычислении минора высокого порядка чаще всего необходимо вычисление миноров низших порядков.
Достоинства и недостатки
Недостаток критерия Гурвица — малая наглядность. Достоинство — удобен для реализации на ЭВМ. Его часто используют для определения влияния одного из параметров САУ на ее устойчивость. Так равенство нулю главного определителя <math>\Delta_n = \Delta_{n-1} = 0</math> говорит о том, что система находится на границе устойчивости. При этом либо <math>\Delta_n = 0</math> — при выполнении остальных условий система находится на границе апериодической устойчивости, либо предпоследний минор <math>\Delta_{n-1} = 0</math> — при положительности всех остальных миноров система находится на границе колебательной устойчивости. Параметры САУ определяют значения коэффициентов уравнения динамики, следовательно изменение любого параметра <math>K_i</math> влияет на значение определителя <math>\Delta_{n-1}</math>. Исследуя это влияние можно найти, при каком значении <math>K_i</math> определитель <math>\Delta_{n-1}</math> станет равен нулю, а потом — отрицательным. Это и будет предельное значение исследуемого параметра, после которого система становится неустойчивой.
К вопросу об автоматизации метода
Метод Гурвица достаточно удобен для определения устойчивости звеньев при помощи ЭВМ. При этом, однако, следует учитывать, что применение критерия для систем с порядком выше 5 может привести к значительным ошибкам, поскольку вычисление определителей высоких порядков является достаточно сложной операцией и приводит к накоплению ошибок вычислений.
Ниже приведён пример автоматизации работы метода с использованием одного из самых распространённых языков для технических вычислений MATLAB версии 5.3 с его синтаксисом.
Представленная ниже функция выполняет все необходимые вычисления. Для работы её необходимо поместить в текстовый файл с расширением .m и именем, совпадающим с именем самой функции, в данном случае имя файла должно быть raus_gur.m.
function [Ust, Mnrs, Mtrx] = raus_gur(D)
% Определение устойчивости системы методом Рауса-Гурвица, заданной при
% помощи следующей передаточной функции.
%
% B(s)
% W(s) = ----,
% D(s)
%
% Здесь D(s) - характеристический полином.
%
% D(s) = a0*s^n + a1*s^(n-1) + a2*s^(n-2) + ... + an
%
% a0, a1, a2, ..., an - коэффициенты полинома D.
%
%
% Обращение к функции RAUS_GUR может быть выполнено двумя способами:
%
% Способ 1.
%
% [Ust, Mnrs, Mtrx] = raus_gur(D);
%
% Входные параметры:
% D - вектор коэффициентов знаменателя (характеристический полином)
%
% Выходные параметры:
% Ust - строковое значение, сообщающее устойчива система или неустойчива
%
% Mnrs - вектор значений миноров от меньшего размера к большему,
% которые необходимо вычислить для оценки устойчивости по методу Рауса-Гурвица.
% Согласно методу Рауса-Гурвица, система устойчива, если все миноры положительны.
% Вычисления значения внешнего минора не имеют смысла, так как его знак
% всегда будет совпадать со знаком предыдущего минора.
%
% Mtrx - полная матрица Рауса-Гурвица для данного полинома.
%
% Способ 2.
%
% [Ust, Mnrs, Mtrx] = raus_gur(W);
%
% Входные параметры:
% W - объект класса LTI (см. описание Control System Toolbox)
%
% Выходные параметры аналогичны вышеописанным.
%
%
% Ориентирована на работу в версии MATLAB 2022a
if isa(D,'tf')
[~,D]=tfdata(D,'v');
end
n=length(D)-2;
Dr=[D zeros(1,n)];
A=flipud(reshape(Dr,2,[]));
Mtrx=cell2mat(arrayfun(@(x)(circshift(A',x))',(0:n/2)',"UniformOutput",false));
Mnrs=cell2mat(arrayfun(@(x)det(Mtrx(1:x,1:x)),(2:n)',"UniformOutput",false));
Z='';
if any(Mnrs<0)
Z='не ';
end
Ust=['система ',Z,'устойчива'];
end
Пример
Пусть дана передаточная функция:
<math>\operatorname{W}( s )=\frac{Y( s )}{U( s )}=\frac{5\cdot s+4}{{{s}^{5}}+16\cdot {{s}^{4}}+95\cdot {{s}^{3}}+260\cdot {{s}^{2}}+324\cdot s+144}</math>
Тогда вызов приведенной выше функции будет выглядеть следующим образом:
format shortG
[A, B, C] = raus_gur([1 16 95 260 324 144])
А результат вычислений:
A =
'система устойчива'
B =
1260
2.4696e+05
6.3504e+07
C =
16 260 144 0 0
1 95 324 0 0
0 16 260 144 0
0 1 95 324 0
0 0 16 260 144
0 0 1 95 324
A сообщает, что система устойчива.
Вектор В содержит значения диагональных определителей от 2×2 до 4×4, первый элемент не имеет значения, а значение внешнего определителя всегда будет иметь тот же знак, что и предыдущий. Согласно методу Гурвица, чтобы система была устойчива, все эти определители должны оказаться положительными.
Матрица С — сам определитель Гурвица.
Эту функцию вполне можно использовать в математических пакетах, имеющих схожий с MATLAB синтаксис или после небольшой переделки.
Система находится на границе апериодической устойчивости, если <math>a_n = 0</math>. Система находится на границе колебательной устойчивости, если определитель Гурвица с индексом (n-1) будет равным 0.
См. также
- Критерий устойчивости Рауса
- Критерий устойчивости Найквиста — Михайлова
- Теорема Рауса — Гурвица
- Маркеры устойчивости линейных динамических систем
Примечания
Литература
Четаев Н. Г. Устойчивость движения. — М: Наука, 1965. — 234 с.
Ссылки