首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

最优控制理论笔记总结(11)——最优控制仿真举例(含Matlab实现代码)

本次笔记总结:

最优控制仿真(含代码)

本例为给定始端和终端的条件下,求解系统在性能指标下的最优控制。

系统的状态变量和协态变量求解结果如下:

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

公众号内还有:

【经典控制理论】全套笔记

【现代控制理论】全套笔记

【非线性控制理论】全套笔记

【车辆动力学】全套笔记

期待您的关注、留言、讨论!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/ONpOdIyAhCGswKfFF_-JanEQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券