-
Ход выполнения работы
-
Анализ устойчивости с помощью matlab.
-
Как было отмечено выше, критерий Рауса – Гурвица определяет необходимое и достаточное условие устойчивости. Если задано характеристическое уравнение с постоянными коэффициентами, то с помощью критерия Рауса – Гурвица можно определить число корней, расположенных в правой полуплоскости. Два изменения знака в первом столбце указывают на наличие двух корней уравнения в правой полуплоскости; следовательно, замкнутая система неустойчива.
>> numg=[1]; deng=[1 1 2 23]; sysg=tf(numg,deng);
>> sys=feedback(sysg,[1]);
>> pole(sys)
ans =
-3.0000
1.0000 + 2.6458i
1.0000 - 2.6458i
Если характеристическое уравнение является функцией единственного параметра, то с помощью критерия Рауса – Гурвица можно определить диапазон значений этого параметра, при которых система будет устойчивой. Рассмотрим замкнутую систему, характеристическое уравнение которой имеет вид:
С помощью критерия Рауса – Гурвица мы нашли, что система устойчива при . Проверим этот результат графически с помощью MATLAB.
% Вычисляет корни уравнения q(s)=s^3+2s^2+4s+K pri 0<K<20
%
K=[0:0.5:20];
for i=1:length(K)
q=[1 2 4 K(i)];
p(:,i)=roots(q);
end
plot(real(p),imag(p),'x'),grid
xlabel('Действительная ось'),ylabel('Мнимая ось')
рис. 1. График траектории корней уравнения.
Как видно из графика, с увеличением K корни характеристического уравнения смещаются вправо, при K=8 они оказываются на мнимой оси, а при K>8 попадают в правую полуплоскость.
Найдем границу устойчивости в плоскости параметров K и a. Затем мы сможем найти пары значений (K, a), принадлежащих области устойчивости, таких, которые удовлетворяли бы ограничению на установившуюся ошибку.
% Определение области устойчивости для системы управления поворотом гусеничной машины
a=[0.1:0.01:3.0]; K=[20:1:120];
x=0*K; y=0*K;
n=length(K); m=length(a);
for i=1:n
for j=1:m
q=[1,8,17,K(i)+10,K(i)*a(j)];
p=roots(q);
if max(real(p))>0, x(i)=K(i); y(i)=a(j-1); break; end
end
end
plot(x,y), grid, xlabel('K'), ylabel('a')
рис. 2. График области устойчивости в плоскости параметров (K, a) для системы управления поворотом гусеничной машины.
Построим реакцию системы на линейный входной сигнал, изменяющийся с единичной скоростью.
% Реакция системы управления поворотом гусеничной машины при а = 0,6 и к =70
%
t=[0:0.01:16]; u=t;
numgc=[1 0.6]; dengc=[1 1]; sysgc=tf(numgc, dengc);
numg=[70]; deng=[1 7 10 0]; sysg=tf(numg, deng);
sysa=series(sysgc,sysg);
sys=feedback(sysa, [1]);
[y, T]=lsim(sys,u,t);
plot(T,y,t,u,'--'), grid
xlabel('time(s)'), ylabel('y(t)')
рис. 3. График реакции системы управления поворотом гусеничной машины на линейный входной сигнал при K=70 и а=0,6.
Установившаяся ошибка менее 0,24.
Обратимся теперь к анализу устойчивости систем, представленных моделью в переменных состояния. Устойчивость системы можно определить по характеристическому уравнению, которое записывается через матрицу А:
det(sI - A) = 0.
Зададим матрицу А:
Вычислим характеристический полином матрицы А.
>> A=[-8 -16 -6; 1 0 0; 0 1 0];
>> p=poly(A)
p =
1.0000 8.0000 16.0000 6.0000
>> roots(p)
ans =
-5.0861 -2.4280 -0.4859
Данная система является устойчивой, т.к. все корни характеристического уравнения имеют отрицательные действительные части.
Определим область устойчивости системы в случае неустойчивого объекта на примере системы управления реактивным самолетом в трехмерном пространстве.
>> [p,z]=meshgrid(1.2:0.2:10,0.1:0.2:10);
>> k=p.*(p-1)./(p-1-z);
>> mesh(p,z,k)
рис. 4. График границы устойчивости в трехмерном пространстве.