Решение задач оптимального управления с использованием математической системы MATLAB и пакета имитационного моделирования SIMULINK. Сивохин А.В - 133 стр.

UptoLike

133
plot(t,XSin,'r')
xlabel('t')
ylabel('X')
%
%-- 8.Конец функции LWSin(T,a0,w).
function [X,DX] = OptUpr(T,k,Umax,Xn)
%
%-- ФУНКЦИЯ ДЛЯ РАСЧЕТА ПЕРЕХОДНОГО ПРОЦЕССА
%-- ОПТИМАЛЬНОГО УПРАВЛЕНИЯ:
%
%-- 1.Расчет параметров математической модели:
%
z = exp(Xn/(k*Umax*T)) %-- промежуточный расчетный параметр;
y = z + sqrt(z^2-z) %-- промежуточный расчетный параметр;
t1 = T*log(y) %-- время переключения управления;
t2 = 2*t1-Xn/(k*Umax) %-- время перехода системы в конечную точку;
%
%-- 2.Задание временных точек:
%
t = [0.0000 0.9120 1.8240 2.7360 3.6480 4.5600 4.6459 4.7318 4.8177 …
4.9036 4.9895];
%
%-- 3.Расчет управляемой величины:
%
for i = 1:1:11
if t(i) <= t1
X(i) = k*Umax*t(i)+k*Umax*T*(exp(-t(i)/T)-1);
else
X(i) = Xn+k*Umax*(t2-t(i)+T-T*exp((t2-t(i))/T));
end
end
%
%-- 4.Расчет скорости изменения управляемой величины:
%
for i = 1:1:11
if t(i) <= t1
DX(i) = k*Umax*(1-exp(-(t(i)/T)));
else
DX(i) = k*Umax*(exp((t2-t(i))/T)-1);
end
end
%
%-- 5.Визуализация управляемой величины и скорости ee изменения:
%
   plot(t,XSin,'r')
   xlabel('t')
   ylabel('X')
%
%-- 8.Конец функции LWSin(T,a0,w).

function [X,DX] = OptUpr(T,k,Umax,Xn)
%
%-- ФУНКЦИЯ ДЛЯ РАСЧЕТА ПЕРЕХОДНОГО ПРОЦЕССА
%--           ОПТИМАЛЬНОГО УПРАВЛЕНИЯ:
%
%-- 1.Расчет параметров математической модели:
%
  z = exp(Xn/(k*Umax*T)) %-- промежуточный расчетный параметр;
  y = z + sqrt(z^2-z)         %-- промежуточный расчетный параметр;
  t1 = T*log(y)               %-- время переключения управления;
  t2 = 2*t1-Xn/(k*Umax) %-- время перехода системы в конечную точку;
%
%-- 2.Задание временных точек:
%
  t = [0.0000 0.9120 1.8240 2.7360 3.6480 4.5600 4.6459 4.7318 4.8177 …
       4.9036 4.9895];
%
%-- 3.Расчет управляемой величины:
%
  for i = 1:1:11
     if t(i) <= t1
        X(i) = k*Umax*t(i)+k*Umax*T*(exp(-t(i)/T)-1);
     else
        X(i) = Xn+k*Umax*(t2-t(i)+T-T*exp((t2-t(i))/T));
     end
  end
%
%-- 4.Расчет скорости изменения управляемой величины:
%
  for i = 1:1:11
     if t(i) <= t1
        DX(i) = k*Umax*(1-exp(-(t(i)/T)));
     else
        DX(i) = k*Umax*(exp((t2-t(i))/T)-1);
     end
  end
%
%-- 5.Визуализация управляемой величины и скорости ee изменения:
%
                                     133