Решение задач оптимального управления с помощью вариационного исчисления
Автор: qwert24 • Апрель 25, 2024 • Задача • 1,101 Слов (5 Страниц) • 102 Просмотры
«Решение задач оптимального управления с помощью
вариационного исчисления»
Задание: Определить оптимальное управление, переводящее объект, описанный матрицами состояния А и управления В, из состояния x1(0), x2(0) в состояние x1(tк), x2(tк) за заданное время tк таким образом, чтобы достигался минимум функционала J.
Дано:
[pic 1]
. (1)[pic 2]
Решение. Требуется объект, описываемый уравнениями:
(2)[pic 3]
перевести из состояния x1(0) = x2(0) = 0 в состояние x1(10) = 1, x2(10) = 0 таким образом, чтобы обеспечить минимум потребления энергии:
[pic 4]
Запишем гамильтониан:
(3)[pic 5]
Возьмем производные от гамильтониана, тогда необходимыми условиями экстремума будут:
, (4)[pic 6]
, (5)[pic 7]
. (6)[pic 8]
Из уравнения (6) получим
. (7)[pic 9]
Подставив (7) в уравнение объекта (2) и объединив последние с уравнениями (4), (5), получим систему дифференциальных уравнений:
(8)[pic 10]
Система (8) однородна и может быть представлена в матричном виде
, (9)[pic 11]
где , а матрица А в данном случае имеет вид:[pic 12]
[pic 13]
Структура решения системы, как известно, зависит от вида собственных чисел матрицы. Определим их с помощью следующего кода Matlab:
A = [-1 1 0 0;-1 0 0 -2;0 0 1 1;0 0 -1 0];
L = eig(A)
L =
-0.5000 + 0.8660i
-0.5000 - 0.8660i
0.5000 + 0.8660i
0.5000 - 0.8660i
В данном случае кратных корней нет, поэтому решение будем искать в виде:
(10)[pic 14]
где λj (j = 1…4) − собственные числа матрицы А (определенные выше); − собственные векторы, соответствующие числам λj; Сj − постоянные, определяемые через дополнительные условия.[pic 15]
Отметим, что в нашем случае все перечисленные величины − комплексные числа.
Определим собственные векторы матрицы A с помощью следующего вызова функции eig:
[V,D] =eig(A); V
V =
0.3536 - 0.6124i 0.3536 + 0.6124i 0.3536 - 0.2041i 0.3536 + 0.2041i
0.7071 + 0.0000i 0.7071 + 0.0000i 0.7071 + 0.0000i 0.7071 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.4082i 0.0000 - 0.4082i
0.0000 + 0.0000i 0.0000 + 0.0000i -0.3536 - 0.2041i -0.3536 + 0.2041i
Матрица состоит из столбцов, каждый из которых − собственный вектор, определенный для соответствующего собственного числа. Матрица D нами не используется.
Для нахождения постоянных С1…C4 воспользуемся граничными условиями:
x1(0) = x2(0) = 0,
x1(10) = 1, x2(10) = 0.
Из первых двух уравнений (10) получаем:
(11)[pic 16]
или в матричной форме:
MC = N, (12)
...