- •Минобрнауки россии
- •Введение
- •Исходные данные
- •Метод решения задачи
- •Реализация поисковых методов в системе matlab
- •Численное решение дифференциальных уравнений
- •Поиск параметров кусочнопостоянной функции времени
- •Поиск параметров полиномиальной функции времени
- •Поиск параметров экспоненциальной функции времени
- •Индивидуальные задания
- •197376, С.-Петербург, ул. Проф. Попова, 5
Численное решение дифференциальных уравнений
Основой т.н. одношаговых численных методов решения дифференциальных уравнений являются следующие соотношения.
Дано дифференциальное уравнение
![]()
Значение
,
отстоящее на
сек. от начальной точки
определяется точным соотношением
![]()
Для
построения схем численного решения
дифференциальных уравнений используются
различные способы аппроксимации
на интервале интегрирования.
Простейшая схема основана на использовании метода прямоугольников.
В этом случае получается схема, соответствующая методу Эйлера.
![]()
Повышение точности численного интегрирования может быть получено за счет аппроксимации правой части дифференциального уравнения трапецией.
Для
определения площади трапеции необходимо
знать значения
на границах интервала интегрирования.
![]()
Для определения значения на правой границе удобно использовать метод Эйлера.
![]()
![]()
Полученная схема обычно называется модифицированным методом Эйлера.
Еще большая точность достигается за счет аппроксимации параболами или за счет интегрирования по методу Симпсона. Рассмотрим связь схемы Рунга-Кутты и формулы определения величины определенного интеграла с помощью формулы Симпсона.
Вычисления по схеме Рунга-Кутты имеет вид:

В
приведенной выше схеме формула Симпсона
присутствует в выражении для
.
В
соответствии с логикой Симпсона
должно соответствовать значению
интегрируемой функции на левой границе
интервала интергрирования,
- значению функции в середине интервала,
а
- значению функции на правой границе.
Соответствие
своей роли очевидно. Вычисление значения
интегрируемой функции в середине
интервала становится понятным, если
вспомнить модифицированный метод
Эйлера. Соответствие
своей роли подтверждается методом
Эйлера.
В настоящее время численное решении дифуров выполняется с помощью программных инструментов. Одним из наиболее популярных является MATLAB.
Методы Эйлера не имеют реализации в виде MATLAB-функций, поэтому использование этих методов требует самостоятельного написания соответствующего программного кода. Более сложные методы численного решения дифуров реализованы в MATLAB в виде специальных функций солверов.
Выбор инструмента обычно выполняется методом проб и ошибок.
Поиск параметров кусочнопостоянной функции времени
В настоящем разделе рассматривается пример определения параметров кусочнопостоянной функции времени. Для численного решения дифференциальных уравнений используется метод Эйлера.
Для
примера выбраны следующие параметры
объекта управления:
,
,
.
Параметр критерия качества
принят равным 1.
Вычисление интегральной части критерия качества выполняется путем решения дополнительного дифференциального уравнения:

При поиске параметров кусочнопостоянной функции времени координатами пространства поиска являются значения искомого управляющего воздействия в моменты времени 0.8, 1.6, 2.4 и 3.2 сек.
Программное обеспечение решения рассматриваемого примера состоит из двух файлов.
В первом файле (Main1.m) организовано обращение к функции FMINSEARCH, обеспечиващей поиск параметров управляющего воздействия.
Во втором файле (fun1.m) производится численное решение дифференциальных уравнений объекта управления методом Эйлера и вычисление величины критерия качества, соответствующего текущим значениям параметров управляющего воздействия.
Файл Main1.m
u0=[1 1 1 1];
[u,F]=fminsearch('fun1',u0)
Файл fun1.m
function j=fun1(u)
t=0;
tm=4;
t1=0.8;
t2=1.6;
t3=2.4;
t4=3.2;
dt=0.01;
x1=1;
x2=0;
j=0;
x1g=[];
uug=[];
tg=[];
while t<tm
if t<t1
uu=u(1);
elseif t<t2
uu=u(2);
elseif t<t3
uu=u(3);
else
uu=u(4);
end
uug=[uug uu];
dx1=x2*dt;
dx2=uu*dt;
dj=(x1^2+uu^2)*dt;
x1=x1+dx1;
x1g=[x1g x1];
x2=x2+dx2;
j=j+dj;
t=t+dt;
tg=[tg t];
end
j=j+20*x1^2;
plot(tg,x1g

Рис. 1 Управление как кусочнопостоянная функция времени
В результате поиска были определены следующие значения управляющего воздействия, соответствующие заданным моментам времени:
-0.56
0.037
0.22
0.13
Достигнуто значение критерия качества 1.488
Графики переходных процессов, соответствующие рассматриваемой функции времени показаны на рис. 1.
