Добавил:
nikolozzz15@gmail.com Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursovoy_Chirkov.docx
Скачиваний:
0
Добавлен:
27.11.2022
Размер:
582.58 Кб
Скачать

Введение

Целью курсовой работы является определение параметров управляющего воздействия как функции времени. Управляющее воздействие должно обеспечивать перевод объекта управления из начального состояние в конечное за фиксированное время. Траектория перевода должна соответствовать минимуму заданного критерия качества. Задача определения параметров решается для трех классов функций времени:

- кусочно-постоянные функции, которые изменяют своё значение в заданные моменты времени;

- полиномиальные функции времени;

- экспоненциальные функции времени.

Задача определения параметров управляющего воздействия должна быть решена с помощью средств пакета математических программ MATLAB.

1. Общие сведения

Для численного решения дифференциальных уравнений используется метод Эйлера.

Вычисление интегральной части критерия качества выполняется путем решения дополнительного дифференциального уравнения:

Программное обеспечение решения рассматриваемого примера состоит из двух файлов.

В первом файле (main.m) организовано обращение к функции FMINSEARCH, обеспечивающей поиск параметров управляющего воздействия.

Во втором файле (fun.m) производится численное решение дифференциальных уравнений объекта управления методом Эйлера и вычисление величины критерия качества, соответствующего текущим значениям параметров управляющего воздействия.

Объект управления описывается следующей системой дифференциальных уравнений:

Критерий качества переходных процессов:

Кусочно-постоянная функция меняет свои значения в следующие моменты времени:

t1 = 0.8; t2 = 1.6; t3 = 2.4; t4 = 3.2

Полиномиальная функция является полиномом четвертой степени от t.

Экспоненциальная функция имеет следующий вид:

2. Поиск параметров кусочно-постоянной функции времени

  1. Определение параметров методом Эйлера

Файл Eiler1.m

P0=[1 1 1 1 1];

OPTIONS = optimset('MaxIter',100000);

[P,F] = fminsearch('Eiler_fun1',P0,OPTIONS);

Файл Eiler_fun1.m

function j = Eiler_fun1(P)

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=P(1);

elseif t0<t2

u=P(2);

elseif t0<t3

u=P(3);

elseif t0<t4

u=P(4);

else

u=P(5);

end

u_res=[u_res u];

dx1=x2*dt;

dx2=x1*dt-2*x2*dt+1*u*dt;

dj=(2*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,'--black',t_res,u_res,'black')

legend('x(t)','u(t)')

grid on

Графики переходных процессов, соответствующие рассматриваемой функции времени, показаны на рис. 1.

Рис. 1

В результате поиска были определены следующие значения управляющего воздействия, соответствующие заданным моментам времени:

u(0) = -2.1484

-1.2090

-0.6763

-0.3798

-0.1565

Значение критерия качества J=7.5389

Оценим влияние шага интегрирования:

dt = 0.1:

Достигнуто значение критерия качества 7.7945

Рис. 2 Управление как кусочно-постоянная функция времени (c шагом 0.1)

dt = 0.5:

Достигнуто значение критерия качества 8.8544.

Рис. 3 Управление как кусочно-постоянная функция времени (c шагом 0.5)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]