- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB在控制理论中的应用
摘要:为解决控制理论计算复杂问题,引入了MATLAB。以经典控制理论和现代控制理论中遇到的一些问题为具体实例,通过对比的手法,说明了MATLAB在控制理论应用中能节省大量的计算工作量,提高解题效率。
引言:现代控制理论是自动化专业一门重要的专业基础课程,内容抽象,且计算量大,难以理解,不易掌握。采用MATLAB软件计算现代控制理论中的问题可以很好的解决这些问题。自动控制理论分为经典控制理论和现代控制理论,在控制理论学习中,经常要进行大量的计算。这些工作如果用传统方法完成,将显得效率不高,额误差较大。因此。引用一种借助于计算机的高级语言来代替传统方法就显得十分必要。MATLAB集科学计算,可视化,程序设计于一体,对问题的描述与求解较为方便,在控制理论的学习中是一种备受欢迎的软件。
MATLAB简介:MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
1、MATLAB在系统的传递函数和状态空间模型之间的相互转换的应用:例1:求以下状态空间模型所表示系统的传递函数:
解:执行以下的M-文件:
>> A=[0 1 0;0 0 1;-5 -25 -5];
>> B=[0;25;-120];
>> C=[1 0 0];
>> D=[0];
>> [num,den]=ss2tf(A,B,C,D)
可得到结果:
num =0 0.0000 25.0000 5.0000
den =1.0000 5.0000 25.0000 5.0000
因此,所求系统的传递函数为G(S)=
2、 使用MATLAB对状态空间模型进行分析。
给出系统的单位阶跃响应曲线。
解:编写和执行以下的M-文件:
>> A=[-1 -1;6.5 0];
>> B=[1 1;1 0];
>> C=[1 0;0 1];
>> D=[0 0;0 0];
>> step(A,B,C,D)
可以得到如图所示的四条单位阶跃响应曲线。
3 、稳定化状态反馈控制器的设计。
例3:针对系统
试采用线性矩阵不等式处理方法,设计一个稳定化状态反馈控制器。
解:编制并执行以下的M-文件:
>> %输入状态方程系数矩阵
>> A=[0 1;-1 0];
>> B=[0;1];
>> %以命令setlmis开始描述一个线性矩阵不等式
>> setlmis([])
>> %定义线性矩阵不等式中的决策变量
>> X=lmivar(1,[2 1]);
>> Y=lmivar(2,[1 2]);
>> %依次描述所涉及的线性矩阵不等式
>> %1st LMI
>> %描述线性矩阵不等式中的项AX+XA'
>> lmiterm([1 1 1 X],A,1,'S');
>> %描述线性矩阵不等式中的项-BY-Y'B'
>> lmiterm([1 1 1 Y],B,-1,'S');
>> %2nd LMI
>> lmiterm([2 1 1 X],-1,1);
>> %以命令getlmis结束线性矩阵不等式系统的描述,并命名为lmis
>> lmis=getlmis;
>> %调用线性矩阵不等式系统可行性问题的求解器feasp
>> [tmin,xfeas]=feasp(lmis);
>> %将得到的决策变量值化为矩阵型式
>> XX=dec2mat(lmis,xfeas,X);
>> YY=dec2mat(lmis,xfeas,Y);
>> K=YY*inv(XX)
可以得到 K =
0.3125 0.9375
4、连续系统与采样系统之间的转换
例4:系统传递函数为
输入延时T(d)=0.35秒,试用一阶保持法对连续系统进行离散,采样周期T(s)=0.1秒
MATLAB程序为:
sys=tf([2,5,1],[1,2,3],'td',0.5);
>> sysd=c2d(sys,0.1,'foh')
Transfer function:
2.039 z^2 - 3.616 z + 1.587
z^(-5) * ---------------------------
z^2 - 1.792 z +
文档评论(0)