Критерий устойчивости Гурвица

Материал из testwiki
Перейти к навигации Перейти к поиску

Шаблон:Не путать Шаблон:Другие значения термина Критерий устойчивости Гурвица — один из способов анализа линейной стационарной динамической системы на устойчивость, разработанный немецким математиком Адольфом Гурвицом. Наряду с критерием Рауса является представителем семейства алгебраических критериев устойчивости, в отличие от частотных критериев, таких, как критерий устойчивости Найквиста — Михайлова. Достоинством метода является принципиальная простота, недостатком — необходимость выполнения операции вычисления определителя, которая связана с определенными вычислительными тонкостями (например, для больших матриц может появиться значительная вычислительная ошибка).

Формулировка

Метод работает с коэффициентами характеристического уравнения системы. Пусть W(s)=Y(s)U(s) — передаточная функция системы, а  U(s)=0 — характеристическое уравнение системы. Представим характеристический полином  U(s) в виде

 U(s)=a0sn+a1sn1+...+an

где s — комплексный аргумент.

Из коэффициентов характеристического уравнения строится определитель Гурвица Δ по алгоритму:

  1. по главной диагонали слева направо выставляются все коэффициенты характеристического уравнения от  a1 до  an;
  2. от каждого элемента диагонали вверх и вниз достраиваются столбцы определителя так, чтобы индексы убывали сверху вниз;
  3. на место коэффициентов с индексами меньше нуля или больше  n ставятся нули.

Размерность матрицы Гурвица определяется максимальной степенью при s в характеристическом уравнении (то есть n).

Или явно[1]

Δ=|a1a3a50a0a2a400a1a300a0a20an|

Тогда согласно критерию Гурвица: Шаблон:Начало цитаты Для того, чтобы динамическая система была устойчива, необходимо и достаточно, чтобы все  n главных диагональных миноров определителя Гурвица были положительны, при условии a0>0. Эти миноры называются определителями Гурвица. Шаблон:Конец цитаты

Шаблон:Hidden

Анализируя условие критерия Гурвица, можно заметить его избыточность. Число неравенств можно уменьшить в два раза, используя теорему Льенара — Шипара. Впрочем, в вычислительном отношении сложность критерия уменьшается не существенно, так как при вычислении минора высокого порядка чаще всего необходимо вычисление миноров низших порядков.

Достоинства и недостатки

Недостаток критерия Гурвица — малая наглядность. Достоинство — удобен для реализации на ЭВМ. Его часто используют для определения влияния одного из параметров САУ на ее устойчивость. Так равенство нулю главного определителя Δn=Δn1=0 говорит о том, что система находится на границе устойчивости. При этом либо Δn=0 — при выполнении остальных условий система находится на границе апериодической устойчивости, либо предпоследний минор Δn1=0 — при положительности всех остальных миноров система находится на границе колебательной устойчивости. Параметры САУ определяют значения коэффициентов уравнения динамики, следовательно изменение любого параметра Ki влияет на значение определителя Δn1. Исследуя это влияние можно найти, при каком значении Ki определитель Δn1 станет равен нулю, а потом — отрицательным. Это и будет предельное значение исследуемого параметра, после которого система становится неустойчивой.

К вопросу об автоматизации метода

Метод Гурвица достаточно удобен для определения устойчивости звеньев при помощи ЭВМ. При этом, однако, следует учитывать, что применение критерия для систем с порядком выше 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

Пример

Пусть дана передаточная функция:

W(s)=Y(s)U(s)=5s+4s5+16s4+95s3+260s2+324s+144

Тогда вызов приведенной выше функции будет выглядеть следующим образом:

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 синтаксис или после небольшой переделки.

Система находится на границе апериодической устойчивости, если an=0. Система находится на границе колебательной устойчивости, если определитель Гурвица с индексом (n-1) будет равным 0.

См. также

Примечания

Шаблон:Примечания

Литература

Четаев Н. Г. Устойчивость движения. — М: Наука, 1965. — 234 с.

Ссылки