本次笔记总结:
一般最优控制仿真举例(含代码)
采用如下例题作为仿真分析。
该例题是一个初端给定终端自由的系统,其中控制受约束。在上述条件中,求满足给定性能指标的最优控制和对应的最优轨迹。
利用前面几期内容的结论,构造汉密尔顿方程来求解系统的协态方程、控制方程,即可得到对应解。
其中:
控制切换时间为0.307s;
协态表达式为exp(1-t)-1;
控制表达式为:39*exp(t) + 1(切换时间前)、exp(t-ts)*(切换时间-0.5)+0.5(切换时间后)
具体代码如下
syms H lmd x u t
H = x+u+lmd*(x-u) ;
Dlmd = -diff(H,'x') ;
lmd = dsolve('Dlmd==-1-lmd','lmd(1)=0')
ts = double(solve(lmd==1))
x = dsolve('Dx=x-1','x(0)=40') ;
xchange = 3*exp(ts) + 1 ;
x1 = dsolve('Dx1=x1-0.5','x1(ts)=xchange') ;
tplot = 0:0.001:1 ;
for i = 1:length(tplot)
if tplot(i)<=ts
xplot(i) = 3*exp(tplot(i)) + 1 ;
uplot(i) = 1 ;
else
xplot(i) = exp(-0.307)*exp(tplot(i))*(xchange - 1/2) + 1/2 ;
uplot(i) = 0.5 ;
end
lmdplot(i) = exp(-tplot(i))*exp(1) - 1 ;
end
figure(1)
plot(tplot,xplot,'b','linewidth',2) ;
grid on
title('状态量')
figure(2)
plot(tplot,uplot,'b','linewidth',2) ;
grid on
title('控制量')
公众号内还有:
【经典控制理论】全套笔记
【现代控制理论】全套笔记
【非线性控制理论】全套笔记
【车辆动力学】全套笔记
期待您的关注、留言、讨论!
领取专属 10元无门槛券
私享最新 技术干货