本次笔记总结:
最优控制仿真(含代码)
本例为给定始端和终端的条件下,求解系统在性能指标下的最优控制。
系统的状态变量和协态变量求解结果如下:
sol_x1 = 7.292*t - 6.105 - 0.593*exp(t)+ 6.698*exp(-t)
sol_x2 = 5.542 - 0.593*exp(t) - 6.698*exp(-t) + 1.75
sol_p1 = -7.292
sol_p2 = 1.187*exp(t) - 3.792
具体代码如下
syms x1 x2 p1 p2 u ;
Dx1 = x2;
Dx2 = -x2 + u;
syms g ;
g = 0.5*u^2;
syms p1 p2 H ;
H = g + p1*Dx1 + p2*Dx2;
Dp1 = -diff(H,x1);
Dp2 = -diff(H,x2);
du = diff(H,u);
sol_u = solve(du,u);
Dx2 = subs(Dx2,u,sol_u);
eq1 = strcat('Dx1=',char(Dx1));
eq2 = strcat('Dx2=',char(Dx2));
eq3 = strcat('Dp1=',char(Dp1));
eq4 = strcat('Dp2=',char(Dp2));
sol_h = dsolve(eq1,eq2,eq3,eq4);
conA1 = 'x1(0) = 0';
conA2 = 'x2(0) = 0';
conA3 = 'x1(2) = 5';
conA4 = 'x2(2) = 2';
sol_a = dsolve(eq1,eq2,eq3,eq4,conA1,conA2,conA3,conA4) ;
sol_x1 = sol_a.x1
sol_x2 = sol_a.x2
sol_p1 = sol_a.p1
sol_p2 = sol_a.p2
公众号内还有:
【经典控制理论】全套笔记
【现代控制理论】全套笔记
【非线性控制理论】全套笔记
【车辆动力学】全套笔记
期待您的关注、留言、讨论!
领取专属 10元无门槛券
私享最新 技术干货