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

UptoLike

168
При решении нелинейного уравнения было вычислено значение функции
y
в
точке
1
tt = . Оно равно
10
103.1
, что подтверждает правильность решения
нелинейного уравнения. Исходные данные и результаты расчетов приведены
ниже. В точке
3990.1
1
=
=
tt значения
)(tx
и
)(tx
&
, вычисленные по разным
формулам, совпадают. Это подтверждает правильность приведенных формул.
8.3 Программная реализация аналитических моделей
function [X,DX] = OptUpr(T1,T2,k,Umax,Xn)
%-- ФУНКЦИЯ ДЛЯ РАСЧЕТА ПЕРЕХОДНОГО ПРОЦЕССА
%-- ОПТИМАЛЬНОГО УПРАВЛЕНИЯ:
%-- 1.Расчет параметров математической модели:
z = 0.8643; %-- промежуточный расчетный параметр;
y = 1.309672e-10; %-- промежуточный расчетный параметр;
t1 = 1.3990; %-- время переключения управления;
t2 = 1.4187; %-- время перехода системы в конечную точку;
%-- 2.Задание временных точек:
t = [0.0000 0.2798 0.5596 0.8394 1.1192...
1.3990 1.4029 1.4069 1.4108 1.4147 1.4187];
%-- 3.Расчет управляемой величины:
for i = 1:1:11
if t(i) <= t1
X(i) = k*Umax*(1+T1/(T2-T1)*exp(-t(i)/T1)+...
T2/(T1-T2)*exp(-t(i)/T2));
else
X(i) = -k*Umax+(Xn+k*Umax)/(T1-T2)*(T1*exp((t2-...
t(i))/T1)-T2*exp((t2-t(i))/T2));
end
end
%-- 4.Расчет скорости изменения управляемой величины:
for i = 1:1:11
if t(i) <= t1
DX(i) = k*Umax/(T1-T2)*(exp(-t(i)/T1)-...
exp(-t(i)/T2));
else
DX(i) = (Xn+k*Umax)/(T2-T1)*(exp((t2-...
t(i))/T1)-exp((t2-t(i))/T2));
end
end
%-- 5.Визуализация управляемой величины и скорости ee изменения:
subplot(2,2,1)
plot(t,X,'r')
xlabel('t')
ylabel('X')
subplot(2,2,2)
plot(t,DX,'r')
При решении нелинейного уравнения было вычислено значение функции y в
точке   t = t1 . Оно равно 1.3 ⋅ 10 −10 , что подтверждает правильность решения
нелинейного уравнения. Исходные данные и результаты расчетов приведены
ниже. В точке t = t1 = 1.3990 значения x(t ) и x& (t ) , вычисленные по разным
формулам, совпадают. Это подтверждает правильность приведенных формул.

               8.3 Программная реализация аналитических моделей

function [X,DX] = OptUpr(T1,T2,k,Umax,Xn)
%-- ФУНКЦИЯ ДЛЯ РАСЧЕТА ПЕРЕХОДНОГО ПРОЦЕССА
 %-- ОПТИМАЛЬНОГО УПРАВЛЕНИЯ:
%-- 1.Расчет параметров математической модели:
  z = 0.8643;            %-- промежуточный расчетный параметр;
  y = 1.309672e-10; %-- промежуточный расчетный параметр;
  t1 = 1.3990;           %-- время переключения управления;
  t2 = 1.4187;           %-- время перехода системы в конечную точку;
%-- 2.Задание временных точек:
  t = [0.0000 0.2798 0.5596 0.8394 1.1192...
       1.3990 1.4029 1.4069 1.4108 1.4147 1.4187];
%-- 3.Расчет управляемой величины:
    for i = 1:1:11
     if t(i) <= t1
        X(i) = k*Umax*(1+T1/(T2-T1)*exp(-t(i)/T1)+...
                T2/(T1-T2)*exp(-t(i)/T2));
     else
        X(i) = -k*Umax+(Xn+k*Umax)/(T1-T2)*(T1*exp((t2-...
                t(i))/T1)-T2*exp((t2-t(i))/T2));
     end
  end
%-- 4.Расчет скорости изменения управляемой величины:
   for i = 1:1:11
     if t(i) <= t1
        DX(i) = k*Umax/(T1-T2)*(exp(-t(i)/T1)-...
                  exp(-t(i)/T2));
     else
        DX(i) = (Xn+k*Umax)/(T2-T1)*(exp((t2-...
                   t(i))/T1)-exp((t2-t(i))/T2));
     end
  end
%-- 5.Визуализация управляемой величины и скорости ee изменения:
    subplot(2,2,1)
    plot(t,X,'r')
    xlabel('t')
    ylabel('X')
    subplot(2,2,2)
    plot(t,DX,'r')
                                       168