线性二次型最优控制的MATLAB实现(3)

2018-11-20 18:42

中北大学2011届毕业设计说明书

是渐近稳定的,其解为最优轨线x(t)。

3.2 连续系统线性二次型最优控制的MATLAB实现

在MATLAB系统里,有特别提供的函数来求解连续系统线性二次型状态调节器问题。其函数有lqr()、lqr2()与lqry()。函数的调用格式为:

[K,S,E]=lqr(A,B,Q,R,N) [K,S]=lqr2(A,B,Q,R,N) [K,S,E]=lqry(sys,Q,R,N)

其中,输入参量sys为系统的模型;A为系统的状态矩阵;B为系统的输入矩阵;Q为给定的半正定实对称矩阵;R为给定的正定实对称矩阵;N代表更一般化性能指标中交叉乘积项的加权矩阵;输出参量K为最优反馈增益矩阵;S为对应Riccati方程的唯一正定解P(若矩阵A-BK是稳定矩阵,则总有P的正定解存在);E为A-BK的特征值。

函数lqry()用来求解二次型状态调节器的特例,是用输出反馈替代状态反馈,即有:

u(t)??Ky(t) (3-8)

其性能指标则为: J?1?T??(y20Qy?uRu)dt (3-9)

T这种二次型输出反馈控制称为次优(或准最优)控制。 3.3 连续系统线性二次型最优控制的MATLAB实现示例

?1(t)?u(t)?x1(0)?0?x,?,性能指标:【例18-1】已知连续系统状态方程与初始条件为??x(t)?x(t)x(1)?1?21?212??2J=??x2(t)?u(t)?dt,设计要求:设计一GUI界面,界面有五个按钮,分别实现的功能

4?0??是:最优反馈增益矩阵K、最优控制u*(t)、最优性能指标J*、特征方程的特征值和Riccati方程的正定解P。 解:

由系统状态方程直接写出状态矩阵、输入矩阵与初始条件:

?x1(0)??0??00??1? A=??,B???,x(0)?????? 100x(0)?????2??1?选择矩阵

第8页 共39页

中北大学2011届毕业设计说明书

?00?1 Q???,R?2?02?

由题目要求,

第一步:打开MATLAB,输入guide回车后将弹出GUIDE快速启动对话框,如图3.1所示。

图3.1 GUIDE快速启动对话框

从上面的对话框可以看到,MATLAB提供了4种GUIDE模板,其中本次设计需要用到的是第一个,空白GUI模板。单击OK按钮,打开GUI编辑界面,如图3.2所示。

图3.2 新建的GUI界面

第9页 共39页

中北大学2011届毕业设计说明书

如图所示,上面的第一行为菜单栏,第二栏为工具栏,左边的两列为常用控件,关于各个控件的名称与功能见附录1

第二步:针对例子的设计要求,为GUI添加必要的控件。

(1)添加“静态文本”控件。选择Static Text图标,用鼠标将其拖到GUI模板的合适位置,并根据设计,调整其大小。

(2)添加“文本框”控件。用鼠标单击Edit Text图标,然后在界面上建立文本框。 (3)添加“列表框”控件。用鼠标单击Listbox图标,然后在界面上合适的位置建立大小适中的列表框。

(4)添加“按钮组”控件。单击Button Group图标,建立合适的按钮组控件。 (5)在按钮组上添加“按钮”。单击Push Button图标,将按钮建立在按钮组里,需要多少即建立多少。

完成以上操作后得到草图,如图3.3所示。

图3.3 GUI草图

第10页 共39页

中北大学2011届毕业设计说明书

上述界面包含两个静态文本框控件、一个可编辑文本框、一个按钮组控件、五个按钮控件、一个列表框控件。

第三步:修改属性。创建控件以后,要对控件的各种属性进行设置,具体步骤如下:双击各控件,则会弹出左边的属性对话框,按要求分别修改各按钮的属性,如图3.4所示。

图3.4 修改属性窗口

如图所示,右边窗口为修改属性窗口,常用属性有:string属性,用于显示在控件上的字符串,起说明或提示作用;Callback属性,回调函数,与菜单的一样;Tag属性,控件的标记,用于标识控件。更多属性功能见附录1

1)在图形左边上方的静态文本的属性编辑框中,设置如下属性值:

? Fontsize 10 %字体大小

? FontUnits normalized %采用相对度量单位,缩放时保持字体

比例

? String 系统输入 %显示在界面上的字符

第11页 共39页

中北大学2011届毕业设计说明书

? HorizontalAlignment Center %文字中心对齐

? Units normalized %采用相对度量单位,缩放时保持该区

比例

2)在图形左边中间的静态文本的属性编辑框中,设置如下属性值:

? Fontsize 10 %字体大小

? FontUnits normalized %采用相对度量单位,缩放时保持字体

比例

? String 系统输出 %显示在界面上的字符 ? HorizontalAlignment Center %文字中心对齐

? Units normalized %采用相对度量单位,缩放时保持该区比

3) 在可编辑文本的属性编辑框中,设置如下属性值:

? FontUnits normalized %采用相对度量单位,缩放时保持字体比

? String %清除在界面上的字符 ? HorizontalAlignment Center %文字中心对齐

? Units normalized %采用相对度量单位,缩放时保持该区

比例

4) 在按钮组的属性编辑框中,设置如下属性值:

? Fontsize 12 %字体大小

? FontUnits normalized %采用相对度量单位,缩放时保持字体比例 ? HorizontalAlignment Center %文字中心对齐

? String 连续系统线性二次型最优控制 %在按钮组顶头显示 ? Units normalized %采用相对度量单位,缩放时保持该键比

5) 在按钮组的按键上属性编辑框中,设置如下属性值:

? Fontsize 10 %字体大小

? FontUnits normalized %采用相对度量单位,缩放时保持字体比例 ? HorizontalAlignment Center %文字中心对齐

第12页 共39页


线性二次型最优控制的MATLAB实现(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:整式乘法评课稿

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: