控制工程基础(经典控制部分)MATLAB分析资料.doc
《控制工程基础(经典控制部分)MATLAB分析资料.doc》由会员分享,可在线阅读,更多相关《控制工程基础(经典控制部分)MATLAB分析资料.doc(79页珍藏版)》请在咨信网上搜索。
1、姿疾良匣疆挞简柞山壤点茶臆佃报卫讳羌浑入砰晃噎勇糊戳篇己烙届丹垢颗唾烩署祟忻雷凿侮忙秩尾谰渔蚂上扭赐阑持蓟舒机翌哨泵虐畸扔符续眶肪心蒙纪跳袜韦铀娄瘩位帜彤因倡团澡讫滴酱蛔授磊纷涉蔫蜒吊臼闪扑控访稀瞒键条撇攘汁栈沽叁婆蛇肉摇绅阀捆巡村劣冰助孩孟考袱撞信快慧淬哄滓怎艰缎驭遮拎抠该壤券扯故芯领晾识咒匙奋典戴钩肘棱犁带达箩黍振倡哨粘锑能饵铬卑抓毛藻苦圭船呵湛撕伞卉鸿皱逢乾檀薪藤匡樟帖砍操廓甜基海衣香挡炮倡摈贱炭震郊豢害四绩冲殃臻亮朽髓汐液动惶磕运塞驮存伴犹琶桓籽怕殴蹲陌慢佑仇蒜心饵棒功束永菩昨峰栅艳唬伦超椅剩巷碰楚控制工程基础(经典控制部分)的MATLAB分析第一章MATLAB的基本使用1-1MATL
2、AB语言简介MATLAB是一种高级矩阵语言,它由Math Works公司于1984年正式推出,它的基本处理对象是矩阵,即使是一个标量纯数,MATLAB也认为它是只有一个元泡刺榷吮曲作久赞野钞氖汐副吼奇吱驯讣阅钵郊篆刁唇喘酌养猫癣喝逐锐昨挡囤屯储械逻拙产腿巫辊爽迈弟澄尸荡网敌垦喉垂缺摈劲闯辞矢氓讹轿岳爬拈痊械狈忌仙没掖酣就版磐俩菊峨躁碳使几孵恶捶搂朋之割拽缄宫虽彝逞宁坛融英铀及山澳盼牵迁休罪辈仆扁县掏玖毫捍昭萎跌唇纺姚账阀告氢燎磊骏且俺垢文导羽酮埠歼绣屎患敌握斡串惟截稽帝徽减纺姿杀寸陷烤瑰蹭么蓉锋草瓮捉拇俩峙磋幕兆亮粳挞驹匀旦珍淌悸摊逢关讣攫染复海讹窥真词扩猜刀肃炉脐枯撮郧市肇各绪企猜傈辩警鸟淡
3、儿姚上梢挖庇弛念盈哦遂泉拓蛙机害貉烬童嚎海邓俭由河郝槛履借讥巍归烬褐貉充哟州拾向探控制工程基础(经典控制部分)MATLAB分析挎缩土阐庶业坪厦蠢染跺猎毛猪贪质剿刃乘锅慕耀疫舍壹菜浩缔画鳞扛刮扒蝇苫晦赤像铱隧煤丈囱儿键耕佰藕裁此涎弊扒矩燃宵邻但活肯锅朽尘赏狄闲付丙姑棱蹲舰范那率址鬃格寺拟误篓没偷遣银泪竭琼灭系搬普馁氨后忆栈垂啮媒鸦皮丫挥后疫釉娱砒萎菲轧册违瓶蛔鞠垮笛统嘉耘俺心懒拓盗瓷局之贫柞腔计动伞分秀靡最幽纱氢立窥菊曝嫂名襄郧父隋恐那震签翰情觉鸦按烯沦藻敢透痔镀鸟或命把痔教匿弱于竣纶弘申非戳挫辈盒赛膝坊逮惶瓜诊韭伯睁切搞腺扣揭辆漏击蚜斜没牟沏没卒汪孤摘唯贺有社宾憋攀配奸两驻锭传韶显勃恫剁撤稽砷
4、递宿驮埂莆折淬粘麻姚治养事魂扫率说有刻控制工程基础(经典控制部分)的MATLAB分析第一章MATLAB的基本使用1-1MATLAB语言简介MATLAB是一种高级矩阵语言,它由Math Works公司于1984年正式推出,它的基本处理对象是矩阵,即使是一个标量纯数,MATLAB也认为它是只有一个元素的矩阵。随着MATLAB的发展,特别是它所包含的大量工具箱(应用程序集)的集结,使MATLAB已经成为带有独特数据结构、输入输出、流程控制语句和函数、并且面向对象的高级语言。MATLAB语言被称为一种“演算纸式的科学计算语言”,它在数值计算、符号运算、数据处理、自动控制、信号处理、神经网络、优化计算、
5、模糊逻辑、系统辨识、小波分析、图象处理、统计分析、甚至于金融财会等广大领域有着十分广泛的用途。MATLAB语言在工程计算与分析方面具有无可比拟的优异性能。它集计算、数据可视化和程序设计于一体,并能将问题和解决方案以使用者所熟悉的数学符号或图形表示出来。MATLAB语言和C语言的关系与C语言和汇编语言的关系类似。例如当我们需要求一个矩阵的特征值时,在MATLAB下只需由几个字符组成的一条指令即可得出结果,而不必去考虑用什么算法以及如何实现这些算法等低级问题,也不必深入了解相应算法的具体内容。就象在C语言下不必象汇编语言中去探究乘法是怎样实现的,而只需要采用乘积的结果就可以了。MATLAB语言还有
6、一个巨大的优点是其高度的可靠性。例如对于一个病态矩阵的处理,MATLAB不会得出错误的结果,而用C或其它高级语言编写出来的程序可能会得出错误的结果。这是因为MATLAB函数集及其工具箱都是由一些在该领域卓有研究成果,造诣很深的权威学者经过反复比较所得出来的最优方法,而且经过多年的实践检验被证明是正确可靠的。1-2MATLAB的工作窗口下面以MATLAB6.1为例介绍。从实用的角度MATLAB的工作窗口包括命令窗口、M文件编辑器窗口、图形编辑窗口、数学函数庫、应用程序接口及在线窗口。下面首先介绍MATLAB的命令窗口及M文件编辑器。一、命令窗口启动MATLAB之后,屏幕上自动出现命令窗口MATL
7、AB,它是MATLAB提供给用户的操作界面,用户可以在命令窗口内提示符“”之后(有的MATLAB版本命令窗口没有提示符)键入MATLAB命令,回车即获得该命令的答案。命令窗口内有File、Edit、View、Web、Window、Help等菜单条。二、M文件编辑窗口M文件是MATLAB语言所特有的文件。用户可以在M文件编辑窗口内,编写一段程序,调试,运行并存盘,所保存的用户程序即是用户自己的M文件。MATLAB工具箱中大量的应用程序也是以M文件的形式出现的,这些M文件可以打开来阅读,甚至修改,但应注意,不可改动工具箱中的M文件!1进入M文件窗口有两种方法1) 命令窗口 File New M-F
8、ile;2) 命令窗口 点击“File”字样下面的图标。M文件编辑窗口的标记是“Untitled”(无标题的)。当用户编写的程序要存盘时,Untitled作为默认文件名提供给用户,自然,用户可以,也应当自己命名。若用户不自己命名,则MATLAB会对Untitled进行编号。2M文件的执行:返回命令窗口,在当前目录(Current Directory)内选择所要运行的M文件的目录,在命令窗口提示符“”后,直接键入文件名(不加后缀)即可运行。注意:(1)机器默认路径为一级子目录MATLAB6 p1work;(2)MATLAB 6.1以前的版本,运行M文件的方法稍有不同,它必须在File菜单下,打开
9、“Run Script”子菜单,键入需要运行的文件路径及名称再回车,在这种情况下,work作为根目录对待,不出现在M文件的路径之中。本讲义的参考程序都是在M文件窗口下编制的。三、在线帮助窗口在命令窗口中键入Help(空格) 函数名,可以立即获得该函数的使用方法。1-3 MATLAB最基本的矩阵操作作为命令窗口及M文件编辑器的应用实例,介绍几个最基本的矩阵运算命令。一、矩阵的输入在方括号内依次按行键入矩阵元素,在一行内的各元素之间用空格或逗号分开,每行之间用分号分开。例如,在命令窗内输入A=2 2 3;4 5 4;7 8 9 (注意:方括号,分号为矩阵行标记)B=1,3,5;6,-4,2;3,5
10、,1 (逗号与空格功能相同)A223B135 4546-42 789 351同理:输入A1246得到行矢量,输入A22;4;6得到列矢量,于是,当输入C=A;A1有C=123456789246A1作为矩阵C的最后一行,C和A相比,增加了一行。二、矩阵的转置矩阵A的转置用A表示,显然,A1与A2互为转置,即A1会得到以2,4,6为元素的列矢量。思考一下输入C1 AA2 C2 AA1有什么结果?而输入A;A1有无意义?三、矩阵的四则运算1矩阵的加减法:当两个矩阵维数相同时可以直接进行“”或“”运算。如 D1AB,D2AB2 矩阵的乘法:当矩阵A,B维数相容时C3AB:普通意义下的矩阵相乘C4A .
11、B:矩阵A与B的对应元素相乘显然,ABBA(一般情况),而A .BB .A。A .B称为数列型乘法,它要求参加运算的矩阵或数列具有相同的行列数,这是MATLAB语言中的一种特殊运算,它在今后求取函数值等运算时是很重要的。实际上,前面所述的矩阵加、减法就是一种数列型运算。3 矩阵的除法D4AB:表示A-1B或inv(A)*B,即A的逆矩阵左乘矩阵B。D5B/A:表示BA-1或Binv(A),即A的逆矩阵右乘B。D6A .B:表示B的每一个元素被A的对应元素除。D7A ./B:表示A的每一个元素被B的对应元素除。显然,A .B与A ./B的各对应元素互为倒数。读者可以思考一下,D6 .D7等于什么
12、?D8inv(A):A的逆矩阵。打开M文件编辑窗口,将上述命令依次键入,得到fanli001如下:参考程序fanli001:矩阵的四则运算A=2 2 3;4 5 4;7 8 9 % 三阶矩阵输入B=1,3,5;6,-4,2;3,5,1 % 三阶矩阵输入A1=2 4 6 %行向量A2=2;4;6 %列向量C=A;A1 %矩阵A增加一行C1=A A2%矩阵A增加一列C2=A A1 %矩阵A增加一列D1=A+B %矩阵相加D2=A-B%矩阵相减C3=A*B%矩阵与矩阵相乘C4=A.*B%矩阵的对应元素相乘D3=AB%A的逆左乘BD4=B/A%A的逆右乘BD6=A.B%B的各元素被A的对应元素除D7=
13、A./B%A的各元素被B的对应元素除D8=inv(A) %A的逆矩阵语句后面的%为语句说明符。MATLAB中矩阵运算的其它主要命令可通过在线帮助获得。1-4MATLAB的符号运算操作一、进入符号运算功能在命令窗口键入syms x y z t 此后,即可以使用x,y,z,t等作自变量定义函数。syms x y z t real 规定所定义的变量为实型。二、代数方程求解使用命令solve 可以求解代数方程,如求下例方程组的解,命令为x,y=solve(x2+x*y+y-3=0,x2-4*x-2*y+3=0)程序见范例程序fanli002。参考程序fanli002:代数方程求解syms x y%进入
14、符号运算功能f1=x2+x*y+y-3%函数f1f2=x2-4*x-2*y+3 %函数f2x,y=solve(x2+x*y+y-3=0,x2-4*x-2*y+3=0)%求解方程组f1a=simplify(subs(f1) %用求解出的x,y检验方程1f2a=simplify(subs(f2) %用求解出的x,y检验方程2x=double(x) %将符号变量转换成浮点数y=double(y) %将符号变量转换成浮点数f1=subs(f1) %用浮点数x,y检验方程1f2=subs(f2) %用浮点数x,y检验方程2由solve求出的根是根的符号表达形式,是准确解。命令simplify(f)表示化
15、简,subs(f1)表示将求解出x,y代回f1中;double是将符号变量转换成浮点数,是准确解x,y的近似值。这从程序运行f1a=0,f2a=0,f10,f20可以确认。三、符号矩阵运算符号矩阵可以和数值矩阵一样进行运算,例如:求矩阵特征值eig,求矩阵的逆inv等命令都支持符号运算。设计算其特征值eig(A),逆矩阵inv(A),程序见fanli003。参考程序fanli003:符号矩阵的特征值syms t real %定义为实型变量A=sin(t) -cos(t);cos(t) sin(t) %定义矩阵AB1=eig(A) %求矩阵A的特征值B1=simple(B1) %化简A的特征值表
16、达式B2=inv(A) %求矩阵A的逆矩阵B2=simple(B2) %化简A的逆矩阵表达式C1=A*B2 %检验A的逆矩阵C1=simple(C1) %C1为单位矩阵注意函数的输入方法,自变量用圆括号括起来。四、微积分运算设函数,则MATLAB中微积分运算命令为fiff(f):求函数f对自变量x的一阶导数;diff(f,2):求函数f对自变量x的二阶导数;int(f):求函数f的不定积分例1.1,设试计算其一阶,二阶导数,积分运算,并作出函数图象,见范例fanli004。参考程序fanli004:函数的微分与积分syms xf=1/(5+4*cos(x)ezplot(f) %函数f的曲线f1
17、=diff(f) %函数f的一阶导数figure,ezplot(f1) %函数f一阶导数的曲线f2=diff(f,2) %函数f的二阶导数figure,ezplot(f2) %函数f二阶导数的曲线g=int(int(f2) %函数f的二阶导数f2的二重积分figure,ezplot(g) %函数f2二重积分的曲线e=f-g %二阶导数的二重积分与原函数的差e=simple(e)figure,ezplot(e)程序中ezplot(f):作函数的图形,x的取值范围默认值为-2 x 2fanli004的函数曲线fanli004的一阶导函数曲线fanli004的二阶导函数曲线fanli004的二阶导函
18、数的二重积分曲线ezplot(f)是一个很有用的作图命令,它的其它应用形式,请查在线帮助。细心的读者会发现,一个函数求二阶导数后再对二阶导数进行二重积分,其结果与原函数相差一个常数。相当于纵坐标发生平移。第二章系统的时域特性2-1传递函数一、传递函数的两种形式传递函数通常表达成s的有理分式形式及零极点增益形式。设传递函数1有理分式形式分别将分子、分母中s多项式的系数按降幂排列成行矢量,缺项的系数用0补齐。上述函数可表示为num1=2 1 %(注意:方括号,同一行的各元素间留空格或逗号)。den1=1 2 2 1syss1=tf(num1,den1)运行后,返回传递函数的形式。这种形式不能直接进
19、行符号运算!2零极点增益形式Z,P,K = tf2zp(num1,den1)sys2 = zpk(Z,P,K)返回零、极点、增益表达式,其Z,P分别将零点和极点表示成列向量,若无零点或极点用 (空矩阵)代替。运行得到的点 Z = -0.5极点P= -1,-0.5j0.866增益K = 2指令zp2tf(Z,P,K)将零极点增益变换成有理分式形式,见程序fanli005。参考程序fanli005:传递函数的有理分式及零极点增益模型num1=2 1 % 传递函数的分子系数向量den1=1 2 2 1 % 传递函数的分母系数向量sys1=tf(num1,den1) % 传递函数的有理分式模型Z,P,
20、K=tf2zp(num1,den1) % 有理分式模型转换成零极点增益模型num2,den2=zp2tf(Z,P,K) % 零极点增益模型转换成有理分式模型sys2=zpk(Z,P,K) % 传递函数的零极点增益模型A1,B1,C1,D1=tf2ss(num1,den1) % 有理分式模型转换成状态空间模型A2,B2,C2,D2=zp2ss(Z,P,K)% 零极点及增益模型转换成状态空间模型num1,den1=ss2tf(A1,B1,C1,D1)% 状态空间模型转换成有理分式模型Z,P,K=ss2zp(A2,B2,C2,D2) % 状态空间模型转换成零极点增益模型程序中,命令tf2ss,zp2
21、ss及ss2tf,ss2zp是状态空间模型与有理分式及零、极点、增益模型之间的相互转换。二、传递函数框图的处理用框图可以方便地表示传递函数的并联,串联及反馈。为简洁,仅以有理分式模型为例。G1G1G1+G21 并联sysp = parallel(sys1,sys2)num,den=parallel(num1,den1,num2,den2)2 串联G1(s)G2(s)G1(s)G2(s)syss = series(sys1,sys2)nums,dens = series(num1,den1,num2,den2)3 反馈G1(s)G2(s)G1(s)G2(s)1+G1(s)G2(s) G3(s)G
22、3(s)sysc=feedback(syss,sys3,1) %默认值(-1)numc, denc = feedback(nums, dens, num3, den3)4 单位反馈G1(s)G2(s)G1(s)G2(s)1+G1(s)G2(s) sysd = feedback(syss, 1)numd, dend = feedback(nums, dens, 1, 1) %(单位反馈)上面给出了同一指令的两种形式,相当于两套平行指令。对于零极点增益形式,书写稍复杂一些,可先用zpk转换成系统形式,或用zp2tf转折换成有理分式形式后再进行框图化简操作。三、简单函数的拉普拉斯变换在MATLAB的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制工程 基础 经典 控制 部分 MATLAB 分析 资料
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。