网站大量收购独家精品文档,联系QQ:2885784924

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

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

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

用MATLAB解线性二次型最优控制问题1

解线性二次型最优控制问题一般情况的线性二次问题可表示如下:设线性时变系统的方程为其中,为维状态向量,为维控制向量,为维输出向量。寻找最优控制,使下面的性能指标最小其中,是对称半正定常数阵,是对称半正定阵,是对称正定阵。2

解线性二次型最优控制问题我们用最小值原理求解上述问题,可以把上述问题归结为求解如下黎卡提(Riccati)矩阵微分方程:可以看出,上述的黎卡提矩阵微分方程求解起来非常困难,所以我们往往求出其稳态解。例如目标函数中指定终止时间可以设置成,这样可以保证系统状态渐近的趋近于零值,这样可以得出矩阵趋近于常值矩阵,且,这样上述黎卡提矩阵微分方程可以简化成为:这个方程称为代数黎卡提方程。代数黎卡提方程的求解非常简单,并且其求解只涉及到矩阵运算,所以非常适合使用MATLAB来求解。3

解线性二次型最优控制问题方法一:求解代数黎卡提方程的算法有很多,下面介绍一种简单的迭代算法来解该方程。令,则可以写出下面的迭代公式如果收敛于一个常数矩阵,即,则可以得出代数黎卡提方程的解为:其中4

解线性二次型最优控制问题%*************MATLAB程序*************%I=eye(size(A));iA=inv(I-A);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)eps),break;else,P0=P;endendP=2*iA*P*iA;我们把这个文件命名为mylq.m,方便我们以后调用来求解代数黎卡提方程。6

解线性二次型最优控制问题方法二:在MATLAB的控制系统工具箱中提供了求解代数黎卡提方程的函数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是AlgebraicRiccatiEquation的缩写。对比前面给出的黎卡提方程,可以容易得出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(Res’*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.6667;mylqK=inv(R)*B*PPE=eig(A-B*K)运行结果:K=13.02766.7496P=67.940621.713121.713111.2495E=-2.4

文档评论(0)

199****0005 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档