- Критерий устойчивости Гурвица
-
Критерий устойчивости Рауса-Гурвица — один из способов анализа линейной стационарной динамической системы на устойчивость, разработанный немецким математиком Адольфом Гурвицом. Наряду с критерием Рауса является представителем семейства алгебраических критериев устойчивости, в отличие от частотных критериев, таких как критерий устойчивости Найквиста. Достоинством метода является принципиальная простота, недостатком - необходимость выполнения операции вычисления определителя, которая связана с определенными вычислительными тонкостями (например, для больших матриц может оказаться значительной вычислительная ошибка).
Содержание
Формулировка
Метод работает с коэффициентами характеристического уравнения системы. Пусть — передаточная функция системы, а — характеристическое уравнение системы. Представим характеристический полином в виде
Из коэффициентов характеристического уравнения строится определитель Гурвица по алгоритму:
1) по главной диагонали слева направо выставляются все коэффициенты характеристического уравнения от до ;
2) от каждого элемента диагонали вверх и вниз достраиваются столбцы определителя так, чтобы индексы убывали сверху вниз;
3) на место коэффициентов с индексами меньше нуля или больше ставятся нули.
Тогда согласно критерию Гурвица:
Для того, чтобы динамическая система была устойчива, необходимо и достаточно, чтобы все диагональных миноров определителя Гурвица были положительны. Эти миноры называются определителями Гурвица.
Анализируя условие критерия Гурвица, можно заметить его избыточность. Число неравенств можно уменьшить в два раза, используя теорему Льенара-Шипара. Впрочем, в вычислительном отношении сложность критерия уменьшается не существенно, так как при вычислении минора высокого порядка чаще всего необходимо вычисление миноров низших порядков.
К вопросу об автоматизации метода
Метод Гурвица, который часто называют методом Рауса-Гурвица, очень удобен для определения устойчивости звеньев при помощи ЭВМ.
Ниже приведён автоматизации работы метода с использованием одного из самых распространённых языков для технических вычислений 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 - логический параметр, характеризующий результат работы функции: % Ust = 1 - система устойчива % Ust = 0 - система неустойчива % % Mnrs - вектор значений миноров от меньшего размера к большему, % которые необходимо вычислить для оценки устойчивости по методу Рауса-Гурвица. % Согласно методу Рауса-Гурвица, система устойчива, если все миноры положительны. % Вычисления значения внешнего минора не имеют смысла, так как его знак % всегда будет совпадать со знаком предыдущего минора. % % Mtrx - полная матрица Рауса-Гурвица для данного полинома. % % Способ 2. % % [Ust, Mnrs, Mtrx] = RAUS_GUR(W); % % Входные параметры: % W - объект класса LTI (см. описание Control System Toolbox) % % Выходные параметры аналогичны вышеописанным. % % % Если размер характеристического полинома три и менее коэффициентов, % то значения выходных параметрв Mnrs и Mtrx принимают значение NaN. % % Ориентирована на работу в версии MATLAB 5.3 if isa(D, 'lti') [B, D] = tfdata(D, 'v'); end Ust = 1; if length(D(:)) < 4 Mtrx = NaN; Mnrs = NaN; if any(D(:) <= 0) Ust = 0; end return end D = D(:); n = length(D) - 1; % Размеры матрицы Гурвица A = [zeros(n-1, 1); D(end:-1:1); zeros(n-2, 1)]; Mtrx = zeros(n, n); % Заготовка матрицы Гурвица Mnrs = zeros(n-2, 1); % Вектор миноров for i = 1:n Mtrx(:, i) = A((n - i)*2 + 1:3*n - 2*i); end for i = 2:n-1 Mnrs(i-1) = det(Mtrx(1:i,1:i)); end if any([D(:); Mnrs(:)] <= 0) Ust = 0; end
Пример
Пусть дана передаточная функция:
Тогда вызов приведенной выше функции будет выглядеть следующим образом:
[A, B, C] = raus_gur([1 16 95 260 324 144])
А результат вычислений:
A =1
B =
1260 246960 63504000
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
Так как A = 1, то система устойчива.
Вектор В содержит значения диагональных определителей от 2×2 до 4×4, первый элемент не имеет значения, а значение внешнего определителя всегда будет иметь тот же знак, что и предыдущий. Согласно методу Гурвица, чтобы система была устойчива, все эти определители должны оказаться положительными.
Матрица С - сам определитель Гурвица.
Эту функцию вполне можно использовать в математических пакетах, имеющих схожий с MATLAB синтаксис или после небольшой переделки.
См. также
Система находится на границе апериодической устойчивости, если . Система находится на границе колебательной устойчивости, если определитель Гурвица с индексом (n-1) будет равным 0.
Литература
Четаев Н.Г. Устойчивость движения.— Москва: Наука, 1965.—234 с.
Категория:- Теория устойчивости
Wikimedia Foundation. 2010.