Дифференциальное уравнение системы.
Спектральная характеристика системы определяется по формуле
Спектр выходного сигнала системы:
Рис.10. Переходная функция, построенная спектральным методом
Рис.11. Реакция на
Фазовый сдвиг
2. Синтез регулятора
Так реальная переходная характеристика системы не удовлетворяет поставленным требованиям
Эталонная переходная характеристика
Необходимо минимизировать следующую целевую функцию.
Метод оптимизации Дэвидона, Флетчера, Пауэла.
Согласно данному методу минимум ищется в направлении
достоинства этого метода высокая скорость сходимости, простота вычисления
Параметры регулятора:
Рис.12. Графики переходных характеристик системы
3. Синтез робастного регулятора матричным методом.
Одним из возможных и перспективных способов решения задачи синтеза регуляторов является использования метода матричных операторов. Достоинством данного метода является возможность его применения для различных классов систем, в том числе нелинейных и нестационарных.
Рассмотрим линейную систему без неопределенности, описываемую в форме матричных операторов:
Очевидно, что для линейной системы без неопределенности справедливы следующие зависимости:
Получаем следующую формулу расчета спектральной характеристики выходного сигнала:
Спектральная характеристика невязки между эталонной и реальной переходными характеристиками имеет вид:
где
В приведенной формуле используется зависимость
Перейдем к системе с неопределенностью:
где
Необходимо минимизировать целевую функцию вида:
где
Полученный функционал содержит полную информацию о параметрической неопределенности.
В качестве корректирующего устройства выберем ПИД-регулятор:
Пусть выборка составляет 1000 элементов. В качестве эталонного сигнала выберем
Приведем здесь клетку
Получены следующие значения коэффициентов регулятора:
Несколько примеров для произвольно взятых
Рис. 13. Графики эталонной и реальной переходных характеристик для разных значений параметра
Приложение.
Программа 1.
Решения уравнения методом Стеффенсена.
function Stefens
clc
e=10.^-5;
x=-20;
x1=0;
i=0;
As=0.0125*(x.^3)+0.3*(x.^2)+4.886*x+61.72;
x=x-(As.^2)./((0.0125*((x+As).^3)+0.3*((x+As).^2)+4.886*(x+As)+61.72)+As);
As=0.0125*(x.^3)+0.3*(x.^2)+4.886*x+61.72;
A(1)=x;
i=i+1;
while abs(x-x1)>e
x1=x;
x=x-(As.^2)./((0.0125*((x+As).^3)+0.3*((x+As).^2)+4.886*(x+As)+61.72)+As);
As=0.0125*(x.^3)+0.3*(x.^2)+4.886*x+61.72;
A(i+1)=x;
i=i+1;
end
plot(1,A(1));
hold on
for n=1:i
plot(n,A(n),'b-o')
end
grid on
xlabel('iteraciya')
ylabel('roots')
disp('ответ');
disp(x);
disp('число итераций');
disp(i);
Программа 2.
Решение дифференциального уравнения численным способом.
clc
a2=24;
a1=390.88;
a0=4937.6;
b2=0;
b3=0;
b1=230.88;
b0=4617.6;
f1=b2;
f2=b1-a1*f1;
f3=b0-a1*f1-a2*f2;
B=[f1;f2;f3]
A=[0 1 0; 0 0 1;-a0 -a1 -a2]
h=0.02;
Xt=[0;0;0];
X(1,1)=Xt(1);
X(1,2)=Xt(2);
X(1,3)=Xt(3);
F=A*Xt+B;
% Разгонный метод
K1=h*F;t(1)=0;
K2=h*(F+K1/3);
K3=h*(F+K2/6+K1/6);
K4=h*(F+K1/8+3/8*K2);
K5=h*(F+K1/2-3/2*K3+2*K4);
Xt=Xt+(1./6)*(K1+4*K4+K5);
X(2,1)=Xt(1);
X(2,2)=Xt(2);
X(2,3)=Xt(3);
t(2)=t(1)+h;
F=A*Xt+B;
i=2;
%Неявный метод второго порядка
while t(i)<1.6
X1(1)=X(i-1,1);
X1(2)=X(i-1,2);
X1(3)=X(i-1,3);
Xt=Xt+(h./12)*(5*B+8*(A*Xt+B)-(A*X1'+B));
Xt=((eye(3)-(5./12)*h*A)^-1)*Xt;
X(i+1,1)=Xt(1);
X(i+1,2)=Xt(2);
X(i+1,3)=Xt(3);
t(i+1)=t(i)+h;
i=i+1;
end
h=0.9352-0.0629*exp(-17.6849*(t))-(0.8723*cos(16.4082*(t))-0.2357*sin(16.4082*(t))).*exp(-3.1576*(t));
for j=1:i
V(j)=X(j,1);
end
E=h-V;
plot(t,V,t,h,t,E); grid on
Программа 3.
Анализа заданной системы с использованием спектрального метода.
syms t T;
Kx=(4937.6./2)*(t-T).^2-390.88*(1./2)*(-2*(t-T))+24;
Ky=(4617.6./2)*(t-T).^2-230.88*(1./2)*(-2*(t-T));
for i=0:9
F6=0;
for j=0:i
m=i;
K=(sqrt(1.1552)*exp(-(1.1552*t)./2));
F=(factorial(m))./(factorial(m-j));
F1=((-1.1552*t).^j);
F2=(factorial(j)).^2;
F3=K.*F;
F4=F1./F2;
F5=F3.*F4;
F6=F6+F5;
L(i+1)=F6;
end
end
for i=0:9
F6=0;
for j=0:i
m=i;
K=(sqrt(1.1552)*exp(-(1.1552*T)./2));
F=(factorial(m))./(factorial(m-j));
F1=((-1.1552*T).^j);
F2=(factorial(j)).^2;
F3=K.*F;
F4=F1./F2;
F5=F3.*F4;
F6=F6+F5;
L1(i+1)=F6;
end
end
G=L'*L1;
In=Kx*G;
r=int(In,T,0,t);
Cx=int(r,t,0,1.5);
In=Ky.*G;
r=int(In,T,0,t);
Cy=int(r,t,0,1.5);
A=((Cx+eye(10))^-1)*Cy;
Cy=int(L,t,0,1.5);
Cx=A*Су'
function H=fun(t)
Cx=[-0.1275; 0.5090; 0.2483; 0.0697; -0.0459; -0.1140; -0.1472; -0.1555; -0.1468; -0.1275];