rybalev optimal systems_(отсюда брал лекции) (842910), страница 4
Текст из файла (страница 4)
пример 1):ìx1 = C1a1(1) e l1t + C 2a1( 2) e l 2 t + C3a1(3) e l 3 t + C 4a1( 4) e l 4 t ,ïïïx 2 = C1a (21) el1t + C 2a (22) el 2 t + C3a (23) e l 3 t + C 4a (24) e l 4 t ,í(1) l t( 2) l t( 3) l t( 4) l tïY1 = C1a 3 e 1 + C 2a 3 e 2 + C3a 3 e 3 + C 4a 3 e 4 ,ïïîY2 = C1a (41) e l1t + C 2a (42) e l 2 t + C3a (43) e l 3 t + C 4a (44) el 4 t ,где lj (j = 1…4) - собственные числа матрицы А:23(105)[l1 = -0.5000 + 1.6583i,l2 = -0.5000 - 1.6583i,l3 = 0.5000 + 1.6583i,l4 = 0.5000 - 1.6583i,]Ta ( j) = a1( j) , a (2j) , a 3( j) , a (4j)- собственные векторы, соответствующие числамlj:a(1) = [-0.1443-0.4787i, 0,866, 0, 0]T,a(2) = [-0.1443+0.4787i, 0,866, 0, 0]T,a(3) = [-0,0714, -0,0357-0,1185i, 0,8571, 0,1429+0,4738i]T,a(4) = [-0,0714, -0,0357+0,1185i, 0,8571, 0,1429-0,4738i]T.Для нахождения постоянных С1…C4 воспользуемся граничными условиями и условием трансверсальности:Y2 (1) =¶G= 20x 2 (1) .¶x 2 (1)(106)Из первых двух уравнений (105) получим:ìx1 (0) = C1a1(1) + C 2a1( 2) + C3a1(3) + C 4a1( 4) = 0,ïï(1)(2)( 3)(4)íx 2 (0) = C1a 2 + C 2 a 2 + C3a 2 + C 4a 2 = 0,ï(1) l( 2) l( 3) l( 4) lïîx1 (1) = C1a1 e 1 + C 2a1 e 2 + C3a1 e 3 + C 4a1 e 4 = 1.(107)Раскрывая (106) с учетом второго и четвертого уравнений (105), определим:C1a (41) el1t + C 2a (42) el 2 t + C3a (43) e l 3 t + C 4a (44) el 4 t == 20C1a (21) el1tили()+ 20C 2a (22) e l 2 t(+ 20C3a (23) e l 3 t)C1 a (41) - 20a (21) el1t + C 2 a (42) - 20a (22) e l 2 t()(+ 20C 4a (24) e l 4 t ,)+ C3 a (43) - 20a (23) e l 3 t + C 4 a (44) - 20a (24) e l 4 t = 0.(108)(109)Объединяя (107) и (109), получим систему из четырех уравнений, решение которой позволяет определить постоянные С1…C4.
Представим эту систему в матричной форме:MC = N,(110)где24éa1(1)êa (21)êM=êa1(1) e l1ê (1)(1) l1ëê a 4 - 20a 2 e()a1( 2)a (22)a1( 2) e l 2a (42) - 20a (22) e l 2()a1(3)a (23)a1(3) e l 3a (43) - 20a (23) e l 3()a1( 4)a (24)a1( 4) e l 4a (44) - 20a (24)(ùúú ,(111)úúe l 4 ûú)N = [0, 0, 1, 0]Т.(112)С = [C1, C2, C3, C4]T - вектор, подлежащий определению.Сформируем матрицы M и N и решим уравнение (99) в Matlab. Матрица V и вектор L содержат собственные векторы и собственные числа системы(94), см. пример 1.M = [V(1:2,:);[V(1,:);V(4,:)-20*V(2,:)]*diag(exp(L))];N = [0; 0; 1; 0];C = M\NC =-1.3681-1.3681-4.4045-4.4045++-1.0697i1.0697i8.6746i8.6746iПерепишем систему (105) следующим образом:ìx1 = C11¢ e l1t + C12¢ e l 2 t + C13¢ el 3 t + C14¢ el 4 t ,ïïx 2 = C¢21el1t + C¢22e l 2 t + C¢23el 3 t + C¢24el 4 t ,íl tl tl tl tïY1 = C¢31e 1 + C¢32e 2 + C¢33e 3 + C¢34e 4 ,ïl3tl1tl2tl4tîY2 = C¢41e + C¢42e + C¢43e + C¢44e ,(113)где C¢i, j = C ja i( j) .Матрицу С¢ определим с помощью кодаC_ = V*diag(C)C_ =-0.3146+0.8093i-1.1848-0.9264i00-0.3146-0.8093i-1.1848+0.9264i000.3146-0.6196i1.1848+0.2119i-3.7753+7.4354i-4.7393-0.8476i0.3146+0.6196i1.1848-0.2119i-3.7753-7.4354i-4.7393+0.8476iКак и в примере 1, перейдем к решению в обыкновенном виде, проведясоответствующие преобразования над парами слагаемых решения (113) (см.пример 1).
В результате получим:25x1 = e-0,5t [- 0,6292 cos(1,6583t ) - 1,6186 sin (1,6583t )]+[0,6292 cos(1,6583t )+1,2392 sin(1,6583t )] ,x 2 = e -0,5 t [- 2,3696 cos(1,6583t )+1,8528 sin(1,6583t )]++ e 0,5t [2,3696 cos(1,6583t ) - 0,4238 sin(1,6583t )] ,y1 = e 0,5 t [- 7,5506 cos(1,6583t ) - 14,8708 sin (1,6583t )] ,y 2 = e 0,5 t [- 9,4786 cos(1,6583t ) + 1,6952 sin (1,6583t )] .+e0,5 t(114)(115)(116)(117)Управление:u = -0,5y 2 = e 0,5 t [4,7393 cos(1,6583t ) - 0,8476 sin (1,6583t )] .(118)Графики полученных оптимальных траекторий и оптимального управления приведены на рис. 3.x1 ,x2u1.554x2312x1100.5-1-2000.20.40.60.81t-30a)0.20.40.60.81tб)Рис. 3.
Графики изменения координат объекта (а) иуправления (б)Скорость движения объекта в момент времени t = 1 определим вMatlab:x2k = exp(-.5)*(-2.3696*cos(1.6583)+1.8528*sin(1.6583))+...exp(.5)*(2.3696*cos(1.6583)-.4238*sin(1.6583))x2k =0.2076Значение функционала:t = 0:.01:1;u = exp(.5*t).*(4.7393*cos(1.6583*t)-.8476*sin(1.6583*t));J = 10*x2k+trapz(t,u.*u)J =13.3140261При этом «потребление энергии» ( ò u 2dt ) составило:0trapz(t,u.*u)ans =11.2380Как и следовало ожидать, значение интеграла больше, чем в примере 2,где на конечную скорость объекта не накладывалось никаких ограничений, номеньше, чем в примере 1, в котором она должна была быть нулевой.Пример 4.Требуется объект, описываемый уравнениямиìx& 1 = - x1 + u,íîx& 2 = -2x 2 + u,(119)перевести из состояния x1(0) = x2(0) = 0 в состояние, характеризуемое равенствомx1 (1) + x 2 (1) = 1 ,(120)таким образом, чтобы обеспечить минимум потребления энергии:1J = ò u 2 ( t )dt ® min .(121)0Физический смысл такой задачи может быть следующим.Будем полагать, что уравнения (119) описывают две независимые системы.
За время, равное единице, их нужно привести в «согласованное» состояние, заданное уравнением (120) с минимальным потреблением энергии.В данном случае присутствует ограничение на правые концы траектории движения, которое вносится в функцию G:G = n(x1 (1) + x 2 (1) - 1) ,(122)где n -неопределенный множитель.Запишем гамильтониан:H = u 2 + y1 (- x1 + u ) + y 2 (-2 x 2 + u ).(123)Необходимыми условиями экстремума будут:¶H= 2u + y1 + y 2 = 0 ,¶u¶Hy& 1 = = y1 ,¶x1¶Hy& 2 = = 2y 2 .¶x 2(124)(125)(126)27Из (124) получимu = -0,5y1 - 0,5y 2 .(127)С учетом (127) полная система дифференциальных уравнений будетиметь вид:ìx& 1 = - x1 - 0,5y1 - 0,5y 2 ,ïx& = -2x - 0,5y - 0,5y ,ï 2212íïy& 1 = y1,ïîy& 2 = 2y 2 .(128)Для ее решения потребуется четыре дополнительных условия.
Мы имеем два граничных условия x1(0) = 0 и x2(0) = 0 и уравнение (120), связывающееx1(1) и x2(1). Воспользуемся условиями трансверсальности¶G= y1 (1) = n ,¶x1 (1)¶G= y 2 (1) = n .¶x 2 (1)(129)(130)Собственно значение n нас не интересует, важно только, чтоy1 (1) = y 2 (1) .(131)Таким образом, все четыре дополнительных условия нам известны.Система (128) однородна и может быть представлена в матричном виде&(132)X̂ = AX̂ ,где X̂ = [ x1 , x 2 , y1, y 2 ]T , а матрица А имеет вид:é- 1 0 - 0,5 - 0,5ùê 0 - 2 - 0,5 - 0,5úú.A=êê0010 úêú002 ûë0Определим собственные числа матрицы А с помощью Matlab:A = [-1 0 -.5 -.5;0 -2 –.5 -.5 ;0 0 1 0;0 0 0 2];L = eig(A)L =-1-21228Кратных чисел нет, поэтому решение будем искать в виде:ìX̂1 = C1a1(1) e l1t + C 2a1( 2) e l 2 t + C3a1(3) e l 3 t + C 4a1( 4) el 4 t ,ïïïX̂ 2 = C1a (21) e l1t + C 2a (22) el 2 t + C3a (23) e l 3 t + C 4a (24) e l 4 t ,í(1) l t( 2) l t( 3) l t( 4) l tïX̂ 3 = C1a 3 e 1 + C 2a 3 e 2 + C3a 3 e 3 + C 4a 3 e 4 ,ïïîX̂ 4 = C1a (41) e l1t + C 2a (42) el 2 t + C3a (43) e l 3 t + C 4a (44) e l 4 t ,(133)где lj (j = 1…4) - собственные числа матрицы А (определенные выше);[]Ta ( j) = a1( j) , a (2j) , a 3( j) , a (4j)- собственные векторы, соответствующие числамlj; Сj - постоянные, определяемые через дополнительные условия.Определим собственные векторы матрицы A с помощью следующеговызова функции eig:[V,D] =eig(A); VV =1.000000001.000000-0.2394-0.15960.95770-0.1632-0.122400.9790Матрица V состоит из столбцов, каждый из которых - собственный вектор, определенный для соответствующего комплексного числа.
Матрица D нами не используется.Для нахождения постоянных С1…C4 воспользуемся дополнительнымиусловиями, которые в новых обозначениях будут следующими:ìX̂1 (0) = 0,ïïX̂ 2 (0) = 0,íïX̂1 (1) + X̂ 2 (1) = 1,ïîX̂ 3 (1) - X̂ 4 (1) = 0.(134)Первые два уравнения (134) с учетом решения (133) следующие:x1 (0) = C1a1(1) + C 2 a1( 2) + C3a1(3) + C 4 a1( 4) = 0,(135)x 2 (0) = C1a (21) + C 2 a (22) + C3a (23) + C 4 a (24) = 0 .(136)Третье и четвертое уравнения (134) примут вид:()()x1 (1) + x 2 (1) = C1 a1(1) + a (21) e l1 + C 2 a1( 2) + a (22) e l 2 +()()+ C3 a1(3) + a (23) e l 3 + C 4 a1( 4) + a (24) e l 4 = 1,29(137)()()y1 (1) - y1 (1) = C1 a 3(1) - a (41) e l1 + C 2 a 3( 2) - a (42) el 2 t +()((138))+ C3 a 3(3) - a (43) e l 3 t + C 4 a 3( 4) - a (44) e l 4 t = 0.В матричной форме уравнения (135) - (138) запишутся:MC = N,(139)гдеéa1(1)êa (21)êM=ê a (1) + a (1) e l12ê 1(1)(1) l1êë a 3 - a 4 e(())a1( 2)a (22)a1( 2) + a (22) e l 2((a( 2)3- a (42)))el2a1(3)a (23)a1(3) + a (23) e l 3((a( 3)3- a (43)))el3ùa1( 4)úa (24)ú,(4)( 4) l 4 úa1 + a 2 eúa 3( 4) - a (44) e l 4 úû(())N = [0, 0, 1, 0]Т.(140)(141)С = [C1, C2, C3, C4]T - вектор, подлежащий определению.Сформируем матрицы M и N и решим уравнение (31) в Matlab:M = [V(1:2,:);[V(1,:)+V(2,:);V(3,:)-V(4,:)]*diag(exp(L))];N = [0; 0; 1; 1];C = M\NC =-0.1747-0.1193-0.5859-0.2109Перепишем систему (133) следующим образом:ìX̂1 = C11¢ e l1t + C12¢ e l 2 t + C13¢ el 3 t + C14¢ el 4 t ,ïïX̂ 2 = C¢21el1t + C¢22e l 2 t + C¢23el 3 t + C¢24e l 4 t ,íl tl tl tl tïX̂ 3 = C¢31e 1 + C¢32e 2 + C¢33e 3 + C¢34e 4 ,ïl 3tl1tl2tl4tîX̂ 4 = C¢41e + C¢42e + C¢43e + C¢44e ,где C¢i, j = C ja i( j) .Матрицу С¢ определим с помощью кодаC_ = V*diag(C)C_ =-0.17470000-0.1193000.14030.0935-0.561100.03440.02580-0.2064Окончательно решение запишем в виде:30(142)x1 = -0,1747e - t + 0,1403e t + 0,0344e 2 t ,(143)x 2 = -0,1193e -2 t + 0,0935e t + 0,0258e 2 t ,(144)ty1 = -0,5611e ,(145)y 2 = -0,2064e 2 t .(146)Управлениеu = -0,5y1 - 0,5y 2 = 0,2806e t + 0,1032e 2 t .(147)Графики координат объекта и управления приведены на рис.