机电控制技术试验指导书(基于matlab的控制系统设计与仿真)--大学毕业设计论文.doc
《机电控制技术试验指导书(基于matlab的控制系统设计与仿真)--大学毕业设计论文.doc》由会员分享,可在线阅读,更多相关《机电控制技术试验指导书(基于matlab的控制系统设计与仿真)--大学毕业设计论文.doc(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、机电控制技术实验指导书基于MATLAB的控制系统设计与仿真王正杰 杨喆北京理工大学机电学院2012年4月目录1. MATLAB简介11.1 MATLAB界面11.2 文件和变量的命名规则11.3 标点符号21.4 数值计算21.4.1 复数21.4.2 矩阵和数组31.4.3 基本运算函数41.5 控制语句51.5.1 循环语句51.5.2 条件转移语句51.5.3 break语句61.6 函数绘图61.6.1 曲线的颜色、线型和数据点形61.6.2 绘制二维曲线61.6.3 绘制三维图形61.6.4 多个图形的绘制71.6.5 交互式图形命令81.6.6 图形的标注82. 控制系统的数学模型
2、92.1 Laplace变换和反变换92.1.1 直接调用MATLAB所提供的函数92.1.2部分分式展开92.2 传递函数描述法112.3 零极点描述法112.4 模型之间的转换122.5 结构图的化简132.5.1 串联结构132.5.2 并联结构132.5.3 反馈结构143. 控制系统的时域分析163.1系统稳定性分析163.2 系统动态特性分析174. 控制系统的频域分析234.1 频域特性234.2 绘制Bode图244.3 绘制Nyquist曲线294.4 幅值裕度和相位裕度315. 控制系统的根轨迹分析345. 1 绘制根轨迹345.2 开环零点和极点对系统性能的影响395.2
3、.1 开环零点对系统性能的影响395.2.2 开环极点系统性能的影响425.2.3 开环偶极子对系统性能的影响45II1. MATLAB简介1.1 MATLAB界面(1)命令窗口(Command Window)进行各种MATLAB指令各种操作,可输入各种MATLAB指令、函数、表达式、变量等,并显示除图形外的所有运算结果。(2)工作空间窗口(Workspace)显示目前保存在内存中所有变量的变量名、类型,最大值和最小值等。(3)当前目录窗口(Current Directory或Current Folder)显示当前路径。(4)历史命令窗口(Command History)记录在命令窗口中已经运
4、行过的指令、函数。1.2 文件和变量的命名规则(1)文件名和变量名必须是数字或英文字母,第一个字符不能是数字,最多可包含31个字符;(2)文件名和变量名中不得包含空格、标点,可以包含下划线;(3)文件名和变量名需区分大小写;(4)文件名和函数名不得与MATLAB固有函数、特殊变量和常量名重复;(5)文件存储路径必须为英文。表1.1MATLAB的特殊变量与常量变量名取值ans默认变量名,以pi圆周率i或j虚数单位,i=j=inf无穷大,如NaN或nan不定值,如,eps计算机的最小数realmax最大的正实数realmin最小的正实数nargin函数的输入变量数目narout函数的输出变量数目1
5、.3 标点符号表1.2 MATLAB中的常用标点符号名称符号功能空格用于输入变量之间的分隔符以及数组行元素之间的分隔符逗号,用于要显示计算结果的命令之间的分隔符;用于输入变量之间的分隔符;用于数组行元素之间的分隔符分号;用于不显示计算结果命令行的结尾;用于不显示计算结果命令之间的分隔符;用于数组元素行之间的分隔符冒号:用于生成一维数值数组,表示一维数组的全部元素或多维数组的某一维的全部元素百分号%用于注释的前面,在它后面的命令不需要执行单引号 用于括住字符串圆括号( )用于引用数组元素;用于函数输入变量列表;用于确定算术运算的先后次序方括号 用于构成向量和矩阵;用于函数输出列表下划线-用于一个
6、变量、函数或文件名中的连字符续行号用于把后面的行与该行连接以构成一个较长的命令1.4数值计算1.4.1 复数复数由实部和虚部组成,MATLAB用特殊变量“i”和“j”表示虚数的单位。复数运算不需要特殊处理,可以直接进行。(1)复数的表示z=a+b*i或z=a+b*jz=a+bi或z=a+bj(当b为标量时)z=r*exp(i*theta)(2)求一个复数的实部、虚部、幅值和相角a=real(z)%计算实部b=imag(z)%计算虚部r=abs(z)%计算幅值theta=angle(z)%计算相角说明:复数z的实部a=r*cos();复数z的虚部b=r*sin();复数z的幅值;复数z的相角,以
7、弧度为单位。1.4.2 矩阵和数组矩阵元素应用方括号括住,每行内的元素间用逗号或空格隔开,行与行之间用分号或回车键隔开,矩阵元素可以是数值或表达式。(1)通过显式元素列表输入矩阵表1.3通过显式元素列表输入矩阵说明例子输入结果 表示构成矩阵,分号分隔行,空格分隔元素c=1 2;3 4;5 3*2或c=1,2;3,4;5,3*2c = 1 2 3 4 5 6 (2)通过语句生成矩阵表1.4通过语句生成矩阵函数名说明例子输入结果from:step:tofrom、step和to分别表示开始值、步长和结束值,step省略则默认为step=1x1=1:2:6x1 = 1 3 5linspace(a,b,
8、n)a、b、n三个参数分别表示开始值、结束值和元素个数,生成从a到b之间线性分布的n个元素的行向量。n如果省略则默认值为100x2=linspace(0,2*pi,3)x2 =0 3.1416 6.2832logspace(a,b,n)a、b、n三个参数分别表示开始值、结束值和数据个数,n如果省略则默认值为50。生成从10a到10b之间按对数等分的n个元素的行向量x3=logspace(0,2,3)x3 =1 10 100(3)由矩阵生成函数产生特殊矩阵表1.5由矩阵生成函数产生特殊矩阵函数名功能例子输入结果zeros(m,n)产生mn的全0矩阵zeros(2,3)ans =0 0 00 0
9、0ones(m,n)产生mn的全1矩阵ones(2,3)ans =1 1 11 1 1rand(m,n)产生均匀分布的随机矩阵,元素取值范围0.01.0rand(2,3)ans =0.9501 0.6068 0.89130.2311 0.4860 0.7621randn(m,n)产生正态分布的随机矩阵randn(2,3)ans =-0.4326 0.1253 -1.1465-1.6656 0.2877 1.1909magic(N)产生N阶魔方矩阵(矩阵的行、列和对角线上元素的和相等)magic(3)ans =8 1 63 5 74 9 2eye(m,n)产生mn的单位矩阵eye(3)ans =
10、1 0 00 1 00 0 11.4.3 基本运算函数表1.6MATLAB的基本运算函数函数名函数功能函数名函数功能函数名函数功能sin正弦运算asin反正弦log以e为底的对数cos余弦运算acos反余弦log2以2为底的对数tan正切运算atan反正切log10以10为底的对数cot余切运算acot反余切sqrt开平方exp指数函数abs求模round就近取整floor向下取整ceil向上取整sum求和1.5控制语句1.5.1 循环语句(1)forfor 循环变量=表达式1:表达式2:表达式3循环语句组end其中,表达式1,2,3分别为循环变量的初始值、增量、最终值。当增量为1时,表达式2
11、可省略。(2)whilewhile (条件式)循环语句组end对于条件式来说,逻辑运算是必要的,MATLAB中使用“&”,“|”,“”分别表示“与”,“或”,“非”。1.5.2 条件转移语句(1)if (条件式)语句组end(2)if(条件式)语句组1 else语句组2 end(3)if(条件式1)语句组1 else if (条件式2)语句组2 end1.5.3 break语句 break用于终止包含它的最里面一层循环过程。1.6函数绘图1.6.1 曲线的颜色、线型和数据点形表1.7曲线的颜色、线型和数据点形选项意义选项意义选项意义y黄色-实线(默认).实点标记m紫色:点线o圆圈标记c青色-.
12、点划线x叉号形r红色-虚线+十字形g绿色*星号形b蓝色s方框形k黑色d钻石形p五角星形在系统默认的情况下,第一条曲线是蓝色,第二条是绿色,第三条是红色,第四条是青色,第五条是紫色,第六条是黄色,第七条是黑色,如此循环。1.6.2绘制二维曲线(1)绘制向量x和y的曲线plot(x,s)%绘制以x为纵坐标的二维曲线,s是指定线型、色%彩、数据点形的字符串。plot(x,y,s)%绘制以x为横坐标y为纵坐标的二维曲线(2)绘制矩阵x的曲线plot(x,s)%当x为矩阵时,plot(x)为每个列向量画一条曲线(3)绘制复向量的曲线plot(z,s)%以复数z的实部为横坐标,虚部为纵坐标(4)绘制多条曲
13、线plot(x1,y1,s1,x2,y2,s2,)% MATLAB自动以不同的颜色绘制不同曲线1.6.3绘制三维图形(1)绘制三维曲线plot3命令plot3(x,y,z, s)%绘制三维曲线plot3(x1,y1,z1, s1,x2,y2,z2, s2,)%绘制多条三维曲线(2)绘制三维网线mesh命令mesh(z)%画三维网线图mesh(x,y,z) 当只有参数z时,以z矩阵的行下标作为x坐标轴,把z的列下标当作y坐标轴;x、y分别为x、y坐标轴的自变量;当有x、y、z参数时,z是指定各点的数据。1.6.4多个图形的绘制(1)指定图形窗口figure(n) %产生新图形窗口如果该窗口不存在
14、,则产生新图形窗口并设置为当前图形窗口,该窗口名为“Figure No.n”,不关闭其它窗口。(2)同一窗口多个子图形将plot命令改成subplot命令,将一个图形窗口划分为多个区域,每个区域一幅子图,即subplot(m,n,k)%使(mn)幅子图中的第k幅成为当前图将图形窗口划分为mn幅子图,k是当前子图的编号。子图的序号编排原则是:左上方为第1幅,先向右后向下依次排列,子图彼此之间独立。(3)同一窗口多次叠绘为了在一个坐标系中增加新的图形对象,可以用“hold”命令来保留原图形对象。hold on %使当前坐标系和图形保留hold off %使当前坐标系和图形不保留(默认)hold %
15、在以上两个命令中切换在设置了“hold on”后,如果画多个图形对象,则在生成新的图形时保留当前坐标系中已存在的图形对象,MATLAB会根据新图形的大小,重新改变坐标系的比例。1.6.5交互式图形命令(1)从图上获取数据ginput命令x,y=ginput(n)%用鼠标从图形上获取n个点的坐标(x,y)参数n应为正整数,是通过鼠标从图上获得数据点的个数;x、y用来存放所取点的坐标。由于鼠标所取点的位置可能有偏差,因此ginput命令获取的坐标并不是很精确。(2)把字符串放置到图形中鼠标所指定的位置上gtext命令gtext(s) %用鼠标把字符串放置到图形上如果参数s是单个字符串或单行字符串矩
16、阵,那么一次鼠标操作就可把全部字符以单行形式放置在图上;如果参数s是多行字符串矩阵,那么每操作一次鼠标,只能放置一行字符串,需要通过多次鼠标操作,把一行一行字符串放在图形的不同位置。1.6.6 图形的标注(1)使用grid命令显示分格线grid on%显示分格线grid off%不显示分格线(默认)grid%在以上两个命令间切换(2)文字标注添加图题title(s)%书写图题s为图题,为字符串,可以是英文或中文。添加坐标轴名xlabel(s)%横坐标轴名ylabel(s)%纵坐标轴名2. 控制系统的数学模型2.1 Laplace变换和反变换2.1.1 直接调用MATLAB所提供的函数F=lap
17、lace(f,t,s)%求时域函数f的Laplace变换Ff=ilaplace(F,s,t)%求F的Laplace反变换f其中,返回结果F为s的函数,当参数s省略时,返回结果F默认为s的函数;f为t的函数,当参数t省略时,默认自由变量为t。例2-1求的Laplace变换。程序:clear% 清除工作空间中的变量clc% 清除命令窗口syms t% 令t为符号变量f=-exp(-4*t)+2*exp(-3*t)-exp(-2*t)-exp(-t)+1; % 这里的1相对于单位阶跃函数% heaviside(1)F=laplace(f)% 求f的Laplace变换输出:F =2/(s + 3) -
18、 1/(s + 2) - 1/(s + 1) - 1/(s + 4) + 1/s为了便于阅读,可采用MATLAB提供的pretty()函数。例2-1续求上例中F的Laplace反变换。程序:f2=ilaplace(F)% 求F的Laplace逆变换结果:f2 =2/exp(3*t) - 1/exp(2*t) - 1/exp(t) - 1/exp(4*t) + 12.1.2部分分式展开r,p,k=residue(num,den)其中,num和den分别是分子多项式和分母多项式系数行向量:r是留数行向量;p为极点行向量;k为直项行向量。例2-2将表达式进行部分分式展开。程序:clearclcnum
19、=1 7 24 24;% 分子多项式系数,降幂排列den=1 10 35 50 24 0;% 分母多项式系数,注意:常数项为零(即s零% 次方的系数为零)r,p,k=residue(num,den)结果:r =-1.00002.0000-1.0000-1.00001.0000p =-4.0000 -3.0000 -2.0000 -1.0000 0k = 由此可知,经部分分式展开后为其Laplace反变换为若留数r不是整数,可利用rat函数将其转换为分数形式:rnum,rden=rat(r)例如,rnum,rden=rat(0.8)的运行结果为rnum=4,rden=5,即将0.8化为。2.2传
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机电 控制 技术 试验 指导书 基于 matlab 控制系统 设计 仿真 大学 毕业设计 论文
限制150内