![](/user_photo/73440_9_PB8.jpg)
- •Задание на курсовую работу
- •Исходные данные
- •Аннотация
- •Введение
- •1. Общие сведения
- •2. Поиск параметров кусочно-постоянной функции времени
- •Определение параметров методом Эйлера
- •Определение параметров с использованием функции ode45
- •2В. Определение параметров с использованием функции ode23
- •3. Поиск параметров полиномиальной функции времени
- •Определение параметров методом Эйлера
- •Определение параметров с использованием функции ode45
- •Определение параметров с использованием функции ode23
- •4. Поиск параметров экспоненциальной функции времени
- •Определение параметров методом Эйлера
- •Определение параметров с использованием функции ode45
- •Определение параметров с использованием функции ode23
- •Заключение
- •Список используемой литературы
Введение
Целью курсовой работы является определение параметров управляющего воздействия как функции времени. Управляющее воздействие должно обеспечивать перевод объекта управления из начального состояние в конечное за фиксированное время. Траектория перевода должна соответствовать минимуму заданного критерия качества. Задача определения параметров решается для трех классов функций времени:
- кусочно-постоянные функции, которые изменяют своё значение в заданные моменты времени;
- полиномиальные функции времени;
- экспоненциальные функции времени.
Задача определения параметров управляющего воздействия должна быть решена с помощью средств пакета математических программ MATLAB.
1. Общие сведения
Для численного решения дифференциальных уравнений используется метод Эйлера.
Вычисление интегральной части критерия качества выполняется путем решения дополнительного дифференциального уравнения:
Программное обеспечение решения рассматриваемого примера состоит из двух файлов.
В первом файле (main.m) организовано обращение к функции FMINSEARCH, обеспечивающей поиск параметров управляющего воздействия.
Во втором файле (fun.m) производится численное решение дифференциальных уравнений объекта управления методом Эйлера и вычисление величины критерия качества, соответствующего текущим значениям параметров управляющего воздействия.
Объект управления описывается следующей системой дифференциальных уравнений:
Критерий качества переходных процессов:
Кусочно-постоянная функция меняет свои значения в следующие моменты времени:
t1 = 0.8; t2 = 1.6; t3 = 2.4; t4 = 3.2
Полиномиальная функция является полиномом четвертой степени от t.
Экспоненциальная функция имеет следующий вид:
2. Поиск параметров кусочно-постоянной функции времени
Определение параметров методом Эйлера
Файл main1.m
u0=[1 1 1 1 1];
OPTIONS = optimset('MaxIter',100000);
[u,F] = fminsearch('funstep',u0,OPTIONS);
Файл funstep.m
function j = funstep(u)
t0=0;
tm=4;
t1=0.8;
t2=1.6;
t3=2.4;
t4=3.2;
dt=0.01;
x1=1;
x2=0;
j=0;
x1_res=[];
u_res=[];
t_res=[];
while t0<tm
if t0<t1
U=u(1);
elseif t0<t2
U=u(2);
elseif t0<t3
U=u(3);
elseif t0<t4
U=u(4);
else
U=u(5);
end
u_res=[u_res U];
dx1 = x2*dt;
dx2 = (-1)*x1*dt + (-2)*x2*dt +1*U*dt;
dj = (1*x1^2+U^2)*dt;
x1=x1+dx1;
x1_res=[x1_res x1];
x2=x2+dx2;
j=j+dj;
t0=t0+dt;
t_res=[t_res t0];
end
j=j+20*x1^2;
plot(t_res,x1_res,'--',t_res,u_res)
legend('x(t)','u(t)')
grid on
Рис. 1. Управление как кусочно-постоянная функция времени.
В результате поиска были определены следующие значения управляющего воздействия, соответствующие заданным моментам времени:
-0.3029
-0.1407
-0.0742
-0.0497
u(4) =-0.0245
Достигнуто значение критерия качества 1.1146
Графики переходных процессов, соответствующие рассматриваемой функции времени показаны на рисунке 1.
Определение параметров с использованием функции ode45
Файл main2.m
clear all
clc
u0=[1 1 1 1 1];
OPTIONS = optimset('MaxIter',100000);
[u,F] = fminsearch('fmsfunction1',u0,OPTIONS);
Файл fmsfunction1.m
function J=fmsfunction1(Q)
global u;
u = Q;
OPTIONS = odeset('RelTol', 100000);
[t,x] = ode45('ode1',[0 4],[1 0 0], OPTIONS);
n=length(t);
for k = 1:n
if t(k)<0.8
U(k)=u(1);
elseif t(k)<1.6
U(k)=u(2);
elseif t(k)<2.4
U(k)=u(3);
elseif t(k)<3.2
U(k)=u(4);
else
U(k)=u(5);
end
end
J=x(n,3)+20*(x(n,1)^2);
figure(5)
plot(t,x(:,1),'--',t,U)
legend('x(t)','U(t)')
grid on;
end
Файл ode1.m
function F=ode1(t0,x)
global u;
if t0<0.8
U=u(1);
elseif t0<1.6
U=u(2);
elseif t0<2.4
U=u(3);
elseif t0<3.2
U=u(4);
else
U=u(5);
end
F = [x(2); -1*x(1)-2*x(2)+1*U;1*x(1)^2+U^2];
end
Графики переходных процессов, соответствующие рассматриваемой функции времени, показаны на рис. 2.
Рис. 2
В результате поиска были определены следующие значения управляющего воздействия, соответствующие заданным моментам времени:
u(0) = -0.3029
-0.1407
-0.0742
-0.0497
-0.0245
Значение критерия качества J=1.1146