![](/user_photo/73440_9_PB8.jpg)
- •Задание на курсовую работу
- •Исходные данные
- •Аннотация
- •Введение
- •1. Общие сведения
- •2. Поиск параметров кусочно-постоянной функции времени
- •Определение параметров методом Эйлера
- •Определение параметров с использованием функции ode45
- •2В. Определение параметров с использованием функции ode23
- •3. Поиск параметров полиномиальной функции времени
- •Определение параметров методом Эйлера
- •Определение параметров с использованием функции ode45
- •Определение параметров с использованием функции ode23
- •4. Поиск параметров экспоненциальной функции времени
- •Определение параметров методом Эйлера
- •Определение параметров с использованием функции ode45
- •Определение параметров с использованием функции ode23
- •Заключение
- •Список используемой литературы
Определение параметров с использованием функции ode23
Файл Main4.m
clear all
clc
u0=[1 1 1 1 1];
OPTIONS = optimset('MaxIter',100000);
[u,F] = fminsearch('fmsfunction2',u0,OPTIONS);
Файл fmsfunction2.m
function J=fmsfunction2(Q)
global u;
u = Q;
OPTIONS = odeset('RelTol', 100000);
[t,x] = ode23s('ode2',[0 4],[1 0 0], OPTIONS);
n=length(t);
for k = 1:n
U(k)=polyval([u(1) u(2) u(3) u(4) u(5)],t(k));
end
J=x(n,3)+20*(x(n,1)^2);
figure(2)
plot(t,x(:,1),'--',t,U)
legend('x(t)','U(t)')
grid on;
end
Файл ode2.m
function F=ode2(t,x)
global u;
U=polyval([u(1) u(2) u(3) u(4) u(5)],t);
F = [x(2); -1*x(1)-2*x(2)+1*U;1*x(1)^2+U^2];
end
Графики переходных процессов, соответствующие рассматриваемой функции времени показаны на рис. 6.
Рис. 6
В результате было определено управляющее воздействие как следующая полиномиальная функция времени:
Значение критерия качества J=3.0335
4. Поиск параметров экспоненциальной функции времени
Определение параметров методом Эйлера
Файл Main5.m
u0=[1 1 1 1 1];
OPTIONS = optimset('MaxIter',100000);
[u,F] = fminsearch('funexp',u0,OPTIONS);
Файл funexp.m
function j = funexp(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
U=u(1)*exp(u(2)*t0).*(cos(u(3)*t0+u(4)));
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
Графики переходных процессов, соответствующие рассматриваемой функции времени показаны на рис. 7.
Рис. 7
В результате было определено управляющее воздействие как следующая полиномиальная функция времени:
Значение критерия качества J=1.1150.
Определение параметров с использованием функции ode45
Файл Main6.m
clear all
clc
u0=[1 1 1 1 1];
[u,F] = fminsearch('fmsfunction3',u0);
Файл fmsfunction3.m
function J=fmsfunction3(Q)
global u;
u = Q;
OPTIONS = odeset('RelTol', 100000);
[t,x] = ode45('ode3',[0 4],[1 0 0],OPTIONS);
n=length(t);
for k = 1:n
U(k)=u(1)*exp(u(2)*t(k)).*(cos(u(3)*t(k)+u(4)));
end
J=x(n,3)+20*(x(n,1)^2);
figure(2)
plot(t,x(:,1),'--',t,U)
legend('x(t)','U(t)')
grid on;
end
Файл ode3.m
function F=ode3(t,x)
global u;
U=u(1)*exp(u(2)*t).*(cos(u(3)*t+u(4)));
F = [x(2); -1*x(1)-2*x(2)+1*U;1*x(1)^2+U^2];
end
Графики переходных процессов, соответствующие рассматриваемой функции времени показаны на рис. 8.
Рис. 8
В результате было определено управляющее воздействие как следующая полиномиальная функция времени:
Значение критерия качества J=1.1107.