用MATLAB解线性二次型最优控制问题课件.ppt

用MATLAB解线性二次型最优控制问题课件.ppt

ID:57159278

大小:412.50 KB

页数:42页

时间:2020-08-02

用MATLAB解线性二次型最优控制问题课件.ppt_第1页
用MATLAB解线性二次型最优控制问题课件.ppt_第2页
用MATLAB解线性二次型最优控制问题课件.ppt_第3页
用MATLAB解线性二次型最优控制问题课件.ppt_第4页
用MATLAB解线性二次型最优控制问题课件.ppt_第5页
资源描述:

《用MATLAB解线性二次型最优控制问题课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、用MATLAB解线性二次型最优控制问题1解线性二次型最优控制问题一般情况的线性二次问题可表示如下:设线性时变系统的方程为其中,为维状态向量,为维控制向量,为维输出向量。寻找最优控制,使下面的性能指标最小其中,是对称半正定常数阵,是对称半正定阵,是对称正定阵。2解线性二次型最优控制问题我们用最小值原理求解上述问题,可以把上述问题归结为求解如下黎卡提(Riccati)矩阵微分方程:可以看出,上述的黎卡提矩阵微分方程求解起来非常困难,所以我们往往求出其稳态解。例如目标函数中指定终止时间可以设置成,这样可以保证系统状态渐近的趋近于零值,这样可

2、以得出矩阵趋近于常值矩阵,且,这样上述黎卡提矩阵微分方程可以简化成为:这个方程称为代数黎卡提方程。代数黎卡提方程的求解非常简单,并且其求解只涉及到矩阵运算,所以非常适合使用MATLAB来求解。3解线性二次型最优控制问题方法一:求解代数黎卡提方程的算法有很多,下面介绍一种简单的迭代算法来解该方程。令,则可以写出下面的迭代公式如果收敛于一个常数矩阵,即,则可以得出代数黎卡提方程的解为:其中4解线性二次型最优控制问题%*************MATLAB程序*************%I=eye(size(A));iA=inv(I-A);

3、E=iA*(I+A);G=2*iA^2*B;H=R+B'*iA'*Q*iA*B;W=Q*iA*B;P0=zeros(size(A));i=0;5解线性二次型最优控制问题while(1),i=i+1;P=E'*P0*E-(E'*P0*G+W)*inv(G'*P0*G+H)*(E'*P0*G+W)'+Q;if(norm(P-P0)

4、工具箱中提供了求解代数黎卡提方程的函数lqr(),其调用的格式为:[K,P,E]=lqr(A,B,Q,R)式中,输入矩阵为A,B,Q,R,其中(A,B)为给定的对象状态方程模型,(Q,R)分别为加权矩阵Q和R;返回矩阵K为状态反馈矩阵,P为代数黎卡提方程的解,E为闭环系统的极点。7解线性二次型最优控制问题这里的求解是建立在MATLAB的控制系统工具箱中给出的一个基于Schur分解的黎卡提方程求解函数are()基础上的,该函数的调用格式为:X=are(M,T,V)其中,矩阵满足下列代数黎卡提方程,are是AlgebraicRiccati

5、Equation的缩写。对比前面给出的黎卡提方程,可以容易得出8解线性二次型最优控制问题方法三:我们也可以采用care()函数对连续时间代数黎卡提方程求解,其调用方法如下:[P,E,K,RR]=care(A,B,Q,R,zeros(size(B)),eye(size(A)))式中,输入矩阵为A,B,Q,R,其中(A,B)为给定的对象状态方程模型,(Q,R)分别为加权矩阵Q和R;返回矩阵P为代数黎卡提方程的解,E为闭环系统的极点,K为状态反馈矩阵,RR是相应的留数矩阵Res的Frobenius范数,其值为:sqrt(sum(diag(R

6、es’*Res)))或者用Norm(Res’,‘fro’)计算9解线性二次型最优控制问题采用care函数的优点在于可以设置P的终值条件。例如,可以在下面的程序中设置P的终值条件为[0.2;0.2]。[P,E,K,RR]=care(A,B,Q,R,[0.2;0.2],eye(size(A)))采用lqr()函数不能设置代数黎卡提方程的边界条件。10解线性二次型最优控制问题例已知线性系统为目标函数确定最优控制。11解线性二次型最优控制问题解:方法一:A=[01;-5,-3];B=[0;1];Q=[500200;200100];R=1.66

7、67;mylqK=inv(R)*B'*PPE=eig(A-B*K)运行结果:K=13.02766.7496P=67.940621.713121.713111.2495E=-2.4798-7.269812解线性二次型最优控制问题方法二:A=[01;-5,-3];B=[0;1];Q=[500200;200100];R=1.6667;[K,P,E]=lqr(A,B,Q,R)运行结果:K=13.02766.7496P=67.940621.713121.713111.2495E=-2.4798-7.269813解线性二次型最优控制问题方法三:A

8、=[01;-5,-3];B=[0;1];Q=[500200;200100];R=1.6667;[P,E,K,RR]=care(A,B,Q,R,zeros(size(B)),…eye(size(A)))运行结果:P=67.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。