




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB概述,MATLAB语言是一种广泛应用于工程计算及数值分析领域的新型高级语言。自1984年推向市场以来,近20年的发展已成为国际公认的最优秀的工程应用开发环境。因其功能强大、简单易学、编程效率高而深受广大科技工作者的欢迎。现今的欧美高校中,MATLAB已成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等课程的基本教学工具,成为本科生、硕士生以及博士生必须掌握的基本技能。,MATLAB的发展,1980年前后,MATLAB的雏形:LINPACK和EISPACK的接口程序。1984年成立MathWorks公司,推出MATLAB第1版(DOS版)。1992年推出具有划时代意义的4.0版。1997年推出5.0版。1999年初推出5.3版。2001年7月推出6.1版。2002年8月推出最新版本6.5版。,MATLAB的主要功能及特点,主要功能:1.数值计算和符号计算功能2.绘图功能3.MATLAB语言体系4.MATLAB工具箱,MATLAB的主要功能及特点,主要特点:1.功能强大、适用范围广2.编程效率高3.界面友好、用户使用方便4.扩充能力强5.语言简单、内涵丰富6.强大方便的图形功能7.功能齐备的软件工具包,MATLAB命令窗口,MATLAB命令窗口,菜单栏:在MATLAB6.5命令窗口的菜单栏,共包含File、Edit、View、Web、Window和Help等6个菜单项。工具栏:MATLAB6.5命令窗口的工具栏共提供了10个命令按钮。,命令编辑区:1.命令编辑区的作用命令编辑区用于输入命令和显示计算结果。2.命令行的输入规则一个命令行输入一条命令,命令行以回车结束。一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。如果一个命令行很长,要加续行符(三个小黑点)。3.命令行的编辑(方便地使用上、下键)4.常用操作系统命令,MATLAB文件管理,1MATLAB的目录结构2MATLAB的搜索路径3用户目录的设置将用户目录设置成当前目录使用cd命令。cdc:mydir注意:设置的当前目录只是在当前启动的MATLAB环境下有效,一旦MATLAB重新启动,必须重新设置。,MATLAB帮助系统,帮助命令1.help命令help命令是查询函数语法的最基本方法,查询信息直接显示在命令窗口。2.lookfor命令lookfor对搜索范围内的M文件进行关键字搜索,条件比较宽松。帮助窗口帮助桌面在线帮助页,还可以访问MathWorks公司的主页():,MATLAB功能演示,例1求解线性方程组命令如下:a=2,3,-1;8,2,3;45,3,9;b=2;4;23;x=inv(a)*b执行结果:x=0.55310.2051-0.2784,例2绘制正弦曲线和余弦曲线。命令如下:x=0:0.5:360*pi/180;plot(x,sin(x),x,cos(x);例3输入10个学生的成绩并对成绩按升序排序。在MATLAB命令窗口输入:g=input(请输入学生成绩:);g=sort(g)执行结果:请输入学生成绩:589076808766g=586676808790,例4绘制草帽图程序如下:x,y=meshgrid(-8:0.5:8);r=sqrt(x.2+y.2)+eps;z=sin(r)./r;surf(x,y,z)shadinginterpaxisoff,控制系统MATLAB计算与仿真,1控制系统MATLAB仿真基础1.1控制系统数学模型1.2系统时域分析1.3系统频域分析2控制系统的MATLAB仿真及计算3控制系统设计,1控制系统MATLAB仿真基础,1.1控制系统数学模型1.数学模型种类与转换MATLAB中用四种数学模型表示控制系统:传递函数模型、零极点增益模型、状态空间模型、动态结构图(SIMULINK中使用)。实际应用中,根据要解决问题的需要,往往要进行不同种类模型之间的转换,MATLAB控制系统工具箱中为此提供了相应的命令函数。,(1)传递函数模型MATLAB中用函数命令tf()来建立控制系统的传递函数模型。函数命令的调用格式为:sys=tf(num,den)函数返回的变量为连续系统的传递函数模型,函数输入参量num与den分别为系统的分子与分母多项式系数向量。sys=tf(num,den,Ts)函数返回的变量为离散系统的传递函数模型,函数输入参量num与den分别为系统的分子与分母多项式系数向量,Ts为采样时间。MATLAB中还用函数printsys()来输出系统模型。,(2)零极点增益模型MATLAB中用函数命令zpk()来建立控制系统的零极点增益模型。函数命令的调用格式为:sys=zpk(z,p,k)其中的z、p、k分别代表系统零点、极点、增益向量,函数返回连续系统零极点模型。sys=zpk(z,p,k,Ts)其中的z、p、k分别代表系统零点、极点、增益向量,函数返回离散系统零极点模型,Ts为采样时间。,(3)状态空间模型MATLAB中用函数命令ss()来建立控制系统的零极点增益模型。函数命令的调用格式为:sys=ss(a,b,c,d)其中的a、b、c、d分别代表系统状态矩阵、控制矩阵、输出矩阵、直接传输矩阵,函数返回连续系统状态空间模型。sys=ss(a,b,c,d,Ts)其中的a、b、c、d分别代表系统状态矩阵、控制矩阵、输出矩阵、直接传输矩阵,函数返回离散系统状态空间模型,Ts为采样时间。,模型转换,例5已知某控制系统的传递函数为,求Matlab描述的传递函数模型及零极点增益模型。解:num=001;den=132;sys1=tf(num,den);zpk=tf2zp(num,den);sys2=zpk(z,p,k)执行结果:Transferfunction:1-s2+3s+2,Zero/pole/gain:1-(s+2)(s+1),2.方框图模型化简在MATLAB中描述系统的模型形式不仅仅拘泥于数学表达式,还有应用在SIMULINK仿真环境中的动态方框图形式。只要按照一定的规则画出系统模型图,然后用实际系统的数据进行设置,就可以对其实现仿真。模型化简包括:环节串联化简;环节并联化简;反馈环节化简。,(1)环节串联化简多个环节相串联的连接形式是控制系统最基本的组成结构形式之一。在MATLAB中用函数命令series()来实现串联化简。其调用格式为:sys=series(sys1,sys2)说明:也可以简单地通过命令sys=sys1sys2实现。,(2)环节并联化简多个环节相并联的连接形式也是控制系统最基本的组成结构形式之一。在MATLAB中用函数命令parallel()来实现串联化简。其调用格式为:sys=parallel(sys1,sys2)说明:也可以简单地通过命令sys=sys1+sys2实现。,(3)反馈环节化简反馈连接结构是控制系统动态方框图动中常见连接形式,为此MATLAB提供了相应的函数命令实现反馈化简。在MATLAB中用函数命令feedback()来实现串联化简。其调用格式为:sys=feedback(sys1,sys2,sign)其中sign缺省值为-1,即表示负反馈;若为正反馈,则sign=1。,1.2系统时域分析,时域响应仿真时域响应MATLAB仿真的方法有两种:一种是在MATLAB的函数指令方式下进行时域仿真;另一种是在SIMULINK环境下的菜单方式的时域仿真。(1)命令方式下的时域仿真控制系统工具箱中提供了一系列关于时域响应求取的函数命令。阶跃响应:step(sys)step(sys,t)dstep(a,b,c,d)dstep(num,den)脉冲响应:impulse(sys)impulse(sys,t)dimpulse(a,b,c,d)dimpulse(num,den),例6用MATLAB绘制典型二阶系统的单位阶跃响应曲线。解:程序实现如下:c=037102040;k=25;t=linspace(0,10,100);num=k;fori=1:6den=1c(i)25;sys=tf(num,den);y(:,i)=step(sys,t);endplot(t,y(:,1:6),(2)SIMULINK环境下的仿真2.系统稳定性分析线性定常系统稳定性的数学定义是控制系统闭环特征方程的全部根,不论是实根或复根,其实部均应为负值,则闭环系统就是稳定的。由此可知,求解控制系统闭环特征方程的根并进而判断所有根的实部是否小于零,这是控制系统判稳的最基本方法同时也是MATLAB中提供和使用的思路。MATLAB中提供命令函数roots()实现,其调用格式为:roots(P)其中,P是系统闭环特征多项式降幂排列的系数向量。,例7已知单位负反馈系统的开环传递函数为,试判断系统的闭环稳定性。解:k=1;z=-2;p=0,-1,-3;num,den=zp2tf(z,p,k);D=num+den;roots(D)执行结果:ans=-2.8393-0.5804+0.6063i-0.5804-0.6063i从结果看,特征根均为负实部根,因而该系统闭环稳定。,3.系统稳态误差分析稳态误差是系统控制准确度的评价指标,实际计算是基于响应曲线的稳态值与期望值之差。控制理论的研究中典型的外作用有单位阶跃信号、单位速度(斜坡)信号、单位加速度信号,MATLAB中,通过step()函数,其稳态误差为阶跃响应曲线的稳态值与期望值(1)之差。,例8已知一单位负反馈系统的开环传递函数为G(s)=,试求单位阶跃信号作为参考输入时产生的稳态误差。解:(a)判断系统稳定性k=5;z=-0.2;p=00.5-1.5;num,den=zp2tf(z,p,k);sys=tf(num,den);sys1=feedback(sys,1);roots(sys1.den1)执行结果:ans=-0.3770+1.9805i-0.3770-1.9805i-0.2460,(b)单位阶跃输入产生的稳态误差step(sys1);t=0:0.1:300;y=step(sys1,t);ess=1-y;ess(length(ess)执行结果:ans=1.4433e-015从结果来看,1.4433e-015近似为零,说明一型系统承受阶跃信号时的稳态误差为零。,1.3系统频域分析,频域分析法是控制系统研究中应用频率特性来分析系统性能:稳定性、快速性和稳态精度的方法。此法不必直接求解系统的微分方程,而是间接地运用系统开环频率特性曲线分析闭环系统的响应。MATLAB中提供了相应绘制频率特性曲线的命令函数。(1)nyquist曲线图调用格式为:nyquist(sys)得到连续系统的极坐标图。dnyquist(num,den,Ts)dnyquist(a,b,c,d,Ts)得到关于离散系统的极坐标图。,(2)伯德图MATLAB中绘制系统的伯德图使用命令函数bode()实现。其调用格式为:bode(sys)得到关于连续系统的伯德图;dbode(num,den,Ts)dbode(a,b,c,d,Ts)得到关于离散系统的伯德图。(3)系统相对稳定性分析控制理论中用幅值裕度和相角裕度评价系统相对稳定性,MATLAB中提供命令函数margin()从频域响应数据中计算出幅值裕度和相角裕度及其对应的角频率。gm,pm,wcp,wcg=margin(mag,phase,w)其中,wcg为剪切频率,pm为相角裕度,wcp为穿越频率,gm为幅值裕度Kg,例9已知系统的开环传递函数为试利用MATLAB绘制系统的奈奎斯特图解:其程序:num=0,0,500;den=1,1,100,0;nyquist(num,den);,例10已知系统的开环传递函数为试利用MATLAB绘制系统的伯德图。解:其程序:num=0,0,500;den=1,1,100,0;bode(num,den);gridon;,2控制系统MATLAB计算及仿真,2.1简单闭环控制系统MATLAB计算及仿真简单闭环控制是指控制器与被控对象之间既有顺向作用又有一个反馈作用的控制系统,实际工程中通常是负反馈闭环控制。工程领域的恒值控制系统通常是单闭环控制系统。例如:加热炉的炉温控制;测速反馈的单闭环调速控制系统;电冰箱的恒温调节系统;水塔的水位控制系统;,求单闭环调速系统的阶跃响应,2.2位置随动控制系统MATLAB计算及仿真位置随动系统是输出量对于给定输入量的跟踪系统,它实现的是执行机构对于位置指令的准确跟踪。位置指令可以是负载的空间位移(或者代表位移的电量),可以是角位移,也可以是直线位移。在实际工程中应用非常广泛。例如:自整角机位置随动系统;位置伺服系统;位置随动系统通常是一个多闭环控制系统。,自整角机位置随动系统,加PID的自整角机位置随动系统阶跃响应,随动系统bode图及幅值裕度和相角裕度,3自动控制系统设计,3.1控制系统设计概述前面解决的问题主要是已知系统的结构与参数,计算系统的性能指标,并进行相应的仿真。在此所说的控制系统设计实质上就是设计系统校正控制器,即在给定的性能指标下,对于给定的对象模型,确定一个能够完成给定任务的控制器,确定校正器的结构与参数。工程中使用很广泛的是基于频率特性的bode图法。校正方式常用的有串联校正和反馈校正等。,3.2控制系统串联校正为使系统既有较好的稳态性能,又有一定的稳定裕量,可以通过两个办法实现。其一是,以满足系统稳态性能指标的开环增益为基础,对系统bode图在剪切频率附近提供一个相位超前量,使之达到动态相角稳定裕量的要求,而保持低频部分不变,称相位超前校正;其二是,仍以满足系统稳态性能指标的开环增益为基础,对系统bode图保持低频段不变,将其中频与高频段的模值加以衰减
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论