- •Задание на курсовую работу
- •Метод решения задачи
- •Поиск параметров кусочно-постоянной функции времени
- •Определение параметров методом Эйлера
- •Определение параметров с помощью функции ode45
- •Определение параметров с помощью функции ode23s
- •Поиск параметров полиномиальной функции времени
- •Определение параметров методом Эйлера
- •2.2. Определение параметров с помощью функции ode45
- •2.3. Определение параметров с помощью функции ode23
- •Поиск параметров экспоненциальной функции времени
- •Определение параметров методом Эйлера
- •3.2. Изучение влияния величины шага на параметры управляющего воздействия
- •Определение параметров с помощью функции ode45
- •Определение параметров с помощью функции ode23
- •Список используемой литературы
Поиск параметров полиномиальной функции времени
Определение параметров методом Эйлера
Файл Main2.m
clear all
clc
P0=[1 1 1 1 1];
OPTIONS = optimset('MaxIter',100000);
[P,F]=fminsearch('Eiler2',P0)
xlabel('t')
ylabel('u,x')
Файл Eiler2.m
function j=Eiler2(P)
t0=0;
t_max=4;
t1=0.8;
t2=1.6;
t3=2.4;
t4=3.2;
dt=0.01;
x1=1;
x2=0;
j=0;
x1r=[];
u1r=[];
tr=[];
while t0<t_max
u=polyval([P(1) P(2) P(3) P(4) P(5)],t0);
u1r=[u1r u];
dx1=x2*dt;
dx2=-2*x1*dt-2*x2*dt+2*u*dt;
dj=(2*x1^2+u^2)*dt;
x1=x1+dx1;
x1r=[x1r x1];
x2=x2+dx2;
j=j+dj;
t0=t0+dt;
tr=[tr t0];
end
j=j+20*x1^2;
plot(tr,x1r,tr,u1r), grid on
Рис. 4. Управление как полиномиальная функция времени
В результате было определено управляющее воздействие как следующая полиномиальная функция времени:
Достигнуто значение критерия качества 1.3226
Графики переходных процессов, соответствующие рассматриваемой функции времени показаны на рис. 4.
2.2. Определение параметров с помощью функции ode45
Файл Main45.m
clear all
clc
P0=[1 1 1 1 1];
OPTIONS = optimset('MaxIter',1000000);
[P,F] = fminsearch('fmsfun45',P0,OPTIONS);
xlabel('t')
ylabel('u,x')
Файл fmsfun45.m
function J=fmsfun45(Q)
global P;
P = Q;
OPTIONS = odeset('RelTol', 1e-6);
[t,x] = ode45('odefun45',[0 4],[1 0 0],OPTIONS);
n=length(t);
for k = 1:n
u(k)=polyval([P(1) P(2) P(3) P(4) P(5)],t(k));
end
J=x(n,3)+20*(x(n,1)^2);
figure(2)
plot(t,x(:,1),t,u)
grid on;
end
Файл odefun45.m
function F=odefun45(t,x)
global P;
u=polyval([P(1) P(2) P(3) P(4) P(5)],t);
F = [x(2); -2*x(1)-2*x(2)+2*u; 2*x(1)^2+u^2];
end
Рис. 5. Управление как полиномиальная функция времени
В результате было определено управляющее воздействие как следующая полиномиальная функция времени:
Достигнуто значение критерия качества 1.2946
Графики переходных процессов, соответствующие рассматриваемой функции времени показаны на рис. 5.
2.3. Определение параметров с помощью функции ode23
Файл Main2.m
clear all
clc
P0=[1 1 1 1 1];
[P,F] = fminsearch('fmsfun23s',P0);
Файл fmsfun23s.m
function J=fmsfun23s(Q)
global P;
P = Q;
OPTIONS = odeset('RelTol', 1e-6);
[t,x] = ode23s('odefun23s',[0 4],[1 0 0],OPTIONS);
n=length(t);
for k = 1:n
u(k)=polyval([P(1) P(2) P(3) P(4) P(5)],t(k));
end
J=x(n,3)+20*(x(n,1)^2);
figure(2)
plot(t,x(:,1),t,u)
grid on;
end
Файл odefun23s.m
function F=odefun23s(t,x)
global P;
u=polyval([P(1) P(2) P(3) P(4) P(5)],t);
F = [x(2); -2*x(1)-2*x(2)+2*u; 2*x(1)^2+u^2];
end
Рис. 6. Управление как полиномиальная функция времени
В результате было определено управляющее воздействие как следующая полиномиальная функция времени:
Достигнуто значение критерия качества 1.2961
Графики переходных процессов, соответствующие рассматриваемой функции времени показаны на рис. 6.
Поиск параметров экспоненциальной функции времени
Определение параметров методом Эйлера
Файл Main.m
clear all
clc
P0=[1 1 1 1];
OPTIONS = optimset('MaxIter',100000);
[P,F]=fminsearch('Eiler3',P0)
xlabel('t');
ylabel('u,x')
Файл Eiler3.m
function j=Eiler3(P)
t0=0;
t_max=4;
dt=0.01;
x1=1;
x2=0;
j=0;
x1r=[];
u1r=[];
tr=[];
while t0<t_max
u=P(1)*exp(P(2)*t0).*(cos(P(3)*t0+P(4)));
u1r=[u1r u];
dx1=x2*dt;
dx2=-2*x1*dt-2*x2*dt+2*u*dt;
dj=(2*x1^2+u^2)*dt;
x1=x1+dx1;
x1r=[x1r x1];
x2=x2+dx2;
j=j+dj;
t0=t0+dt;
tr=[tr t0];
end
j=j+20*x1^2;
figure(2);
plot(tr,x1r,tr,u1r), grid on
Рис. 7. Управление как экспоненциальная функция времени
В результате было определено управляющее воздействие как следующая полиномиальная функция времени:
Достигнуто значение критерия качества 1.2916
Графики переходных процессов, соответствующие рассматриваемой функции времени показаны на рис. 7.