《浙师大机械控制工程基础实验报告.doc》由会员分享,可在线阅读,更多相关《浙师大机械控制工程基础实验报告.doc(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、机械控制工程基础实验报告学 院 工学院职业技术教育学院 班 级 机械设计制造及其自动化 姓 名 XXX 学 号 xxxxxxxx 50 / 50实验项目名称: Matlab语言基础实验 机械控制工程基础实验报告之一一、实验目的和要求1、掌握Matlab软件使用的基本方法 2、熟悉Matlab的数据表示、基本运算和程序控制语句 3、熟悉Matlab绘图命令及基本绘图控制 4、掌握Matlab软件求拉普拉斯变换及逆变换基本方法二、实验内容Command Window1) MATLAB工作环境平台图1 在英文Windows 平台上的MATLAB6.5 MATLAB工作平台 命令窗口(Command
2、Window)命令窗口是对 MATLAB 进行操作的主要载体,默认的情况下,启动MATLAB 时就会打开命令窗口,显示形式如图 1 所示。一般来说,MATLAB的所有函数和命令都可以在命令窗口中执行。掌握 MALAB 命令行操作是走入 MATLAB 世界的第一步。命令行操作实现了对程序设计而言简单而又重要的人机交互,通过对命令行操作,避免了编程序的麻烦,体现了 MATLAB 所特有的灵活性。在运行MATLAB后,当命令窗口为活动窗口时,将出现一个光标,光标的左侧还出现提示符“”,表示MATLAB正在等待执行命令。注意:每个命令行键入完后,都必须按回车键!当需要处理相当繁琐的计算时,可能在一行之
3、内无法写完表达式,可以换行表示,此时需要使用续行符“”否则 MATLAB 将只计算一行的值,而不理会该行是否已输入完毕。使用续行符之后 MATLAB 会自动将前一行保留而不加以计算,并及下一行衔接,等待完整输入后再计算整个输入的结果。在 MATLAB 命令行操作中,有一些键盘按键可以提供特殊而方便的编辑操作。比如:“”可用于调出前一个命令行,“”可调出后一个命令行,避免了重新输入的麻烦。当然下面即将讲到的历史窗口也具有此功能。 历史窗口(Command History)历史命令窗口是 MATLAB6 新增添的一个用户界面窗口,默认设置下历史命令窗口会保留自安装时起所有命令的历史记录,并标明使用
4、时间,以方便使用者的查询。而且双击某一行命令,即在命令窗口中执行该命令。 当前目录窗口(Current Directory)在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件,包括文件名、文件类型、最后修改时间以及该文件的说明信息等并提供搜索功能。 工作空间管理窗口(Workspace)工作空间管理窗口是 MATLAB 的重要组成部分。在工作空间管理窗口中将显示所有目前保存在内存中的 MATLAB 变量的变量名、数据结构、字节数以及类型,而不同的变量类型分别对应不同的变量名图标。2) MATLAB 的基本规定(1) 数值的表示MATLAB 的数值采用十进制,可以带小数点或负号。以
5、下表示都合法。0, -100, 0.008, 12.752,1.8e-6 ,8.2e52(2) 变量命名规定 变量名、函数名:字母大小写表示不同的变量名。如A 和a 表示不同的变量名;sin 是MATLAB 定义的正弦函数,而Sin,SIN 等都不是。 变量名的第一个字母必须是英文字母,不能是数字,最多可包含31 个字符(英文、数字和下连字符)。如A21 是合法的变量名,而3A21 是不合法的变量名。 变量名中不得包含空格、标点,但可以有下连字符。如变量名A _b21 是合法变量名,而A,21 是不合法的。(3) 基本运算符 表1 MATLAB 表达式的基本运算符数学表达式MATLAB 运算符
6、MATLAB 表达式加a + b+a + b减abab乘ab*a*b除ab/或a/b或ab幂abab点乘两矩阵元素相乘.*a.*b(4) MATLAB 默认的预定义变量在MATLAB 中有一些预定义变量(predefined variable)。每当MATLAB 启动,这些变量就被产生。用户在定义变量时,尽量避开表2 所列预定义变量名,以免产生混淆。表2 MATLAB 的预定义变量预定义变量含义预定义变量含义ans计算结果的缺省变量名NaN或nan未定式,如0/0eps机器零阈值nargin函数输入宗量数目flops浮点运算次数nargout函数输出宗量数目Inf 或inf无穷大,如1/0re
7、almax最大正实数i 或j虚单元i = j =realmin最小正实数pi圆周率3) MATLAB 图形绘制在二维曲线绘制中,最基本的指令是plot( )函数。如果用户将x 和y 两组数据分别在向量x 和y 中存储,且它们的长度相同,调用该函数的格式为:plot(x,y)这时将在一个图形窗口上绘出所需要的二维图形。在MATLAB 命令窗口提示符“”下键入 help plot ,可得到plot( )函数的相关内容,如曲线颜色和线型的改变。(1)绘制余弦曲线y=cos(t),t0,2解: t=0:pi/100:2*pi; y=cos(t) plot(t,y)(2)在同一坐标系中绘制余弦曲线y=c
8、os(t-0.25)和正弦曲线y=sin(t-0.5), t0,2解:t=0:pi/100:2*pi; y1=cos(t-0.25);y2=sin(t-0.5); plot(t,y1,t,y2)4) MATLAB求拉普拉斯变换及逆变换(1)在系统默认自变量和参变量情况下求f= t3e3t-1的Laplace变换。 syms x y z t %定义符号变量 f=t3*exp(3*t-1);%定义符号函数 laplace(f)%求laplace变换 ans = 6*exp(-1)/(s-3)4(2)在系统默认自变量和参变量情况下求函数 (s2+4)/(s3+s2+2s)的laplace逆变换。 s
9、yms x y t s z a b u%定义符号变量 f=(s2+4)/(s3+2*s2+2*s);%定义符号函数 ilaplace(f) %求符号函数的laplace逆变换 ans = -exp(-t)*cos(t)-3*exp(-t)*sin(t)+2三. 实验结果及分析(包括运行结果截图、结果分析等)(1) 利用MATLAB求(学号后2位)t及班级号sin(学号后2位t)的拉普拉斯变换学号 13 ; 班级 2 ; 即求: 1)13t 2) 2sin13t1) 2) (2) 建立P73页2-3(6、8、12、18)的传递函数;并利用MATLAB求其相应的原函数P73.题:使用matlab进
10、行下列函数的拉式反变换(2) (4) (6) (8) (10) (12) (14) (16) (18) diarc 狄拉克函数/单位脉冲函数(3)求P73页2-5(1-2)传递函数的零、极点并绘制零极点图1) clc;clear;close all;Gs=zpk(-1,0 0 -2 -5,5)pzmap(Gs)p,z=pzmap(Gs) p = 0 0 -2 -5 z=-1 2) clc;clear;close all;Gs=tf(1 1 0 0,1 5 8 4)pzmap(Gs)p,z=pzmap(Gs) p = -2.0000 -2.0000 -1.000 z = 0 0 -1四. 总结及
11、其心得体会(记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。)这节实验课我们主要了解了拉普拉斯变换及拉普拉斯逆变换的matlab编程方法,以计算机的程序算法解决传递函数的繁杂的变换。也学习啦零点极点的画图程序。主要是掌握程序的编程规则。有时候一个传递函数有多种表示方法,需要了解哪个更适用、更简便。总的来说,初次的实验掌握的基本的程序书写方法是比较重要的。老师上课很幽默舒畅,讲课主次内容分的比较好,课上实验节奏感掌握的很好。实验项目名称: 控制系统建模及模型转换 机械控制工程基础实验报告之二一、实验目的和要求1、掌握建立控制系统模型的函数及方法;2、掌握控制系统模型间的转
12、换方法及相关函数;3、掌握典型系统模型的生成方法;4、掌握环节方框图的化简方法。二、实验内容(1)tf ( )函数若要在MATLAB 环境下得到传递函数的形式,可以调用tf ( )函数。该函数的调用格式为G = tf ( num, den );其中num, den 分别为系统传递函数的分子和分母多项式系数向量。返回的G 为传递函数形式。但如果分子或分母多项式给出的不是完全的展开的形式,而是若干个因式的乘积,则事先需要将其变换为完全展开的形式,两个多项式的乘积在MATLAB下借用卷积求取函数conv( )得出,其调用格式为p=conv(p1,p2)其中p1和p2为两个多项式,调用这个函数就能返回
13、乘积多项式p。如果有3个多项式的乘积,就需要嵌套使用此函数,即p=conv(p1,conv(p2,p3) 或 p=conv(conv(p1,p2),p3)请注意在调用时括号的匹配。MATLAB还支持一种特殊的传递函数的输入格式,在这样的输入方式下,应该先用s=tf(s)定义传递函数算子,然后用数学表达式直接输入系统的传递函数。请自己通过下面两个例子来演示和掌握tf ()和s=tf(s)算子这两种输入方式。例1 设系统传递函数 输入方式一:num = 1, 5, 3, 2; den = 1, 2, 4, 3, 1; %分子多项式和分母多项式 G = tf ( num, den ); %这样就获得
14、系统的数学模型G 了。这些命令可在命令行输入也可编成一个M文件。在MATLB提示符“”下键入G,或省略最后命令中分号,则可显示该数学模型。输入方式二:s=tf(s); G=( s3 + 5* s2 + 3* s + 2)/( s4 + 2*s3 + 4* s2 + 3* s + 1);任务一:设系统传递函数 采用上面两种输入方式,输入其传递函数,并记录命令。 例2 设系统传递函数 此题分子或分母多项式给出的不是完全展开的形式,而是若干个因式的乘积,采用tf () 这一种输入法之前,应先用conv( )函数获得分子和分母多项式给出的完全展开的形式num和den,即输入命令:num=conv(0,
15、5,1,2.4);den=conv(conv(conv(1,1,1,1),1,3,4),1,0,1);G=tf(num,den) %语句没有分号结尾,故将显示系统传递函数Transfer function: 5 s + 12-s6 + 5 s5 + 12 s4 + 16 s3 + 15 s2 + 11 s + 4这种情况用算子方法可以更直观地输入系统模型,输入命令为s=tf(s);G=5*(s+2.4)/(s+1)2*(s2+3*s+4)*(s2+1);任务二:在MATLAB 命令窗口中对例2的这两种输入方法进行验证。(2)tfdata()函数如果有了传递函数G,则提取控制系统的传递函数的分子
16、多项式num和分母多项式den可以由tfdata()函数来实现。如输入命令:s=tf(s);G=5*(s+2.4)/(s+1)2*(s2+3*s+4)*(s2+1)num,den=tfdata(G,v) %其中v表示想获得num和den的数值任务三:在MATLAB 命令窗口中对该例进行验证。(3)zpk ()函数若要得到控制系统零极点传递函数,可以调用zpk ( )函数。该函数的调用格式为G = zpk ( Z, P,K );其中K为系统的增益,Z, P 分别为系统传递函数的零点和极点列向量。返回的G 为传递函数形式。例3 设系统传递函数 输入下面的命令:Z=-1.539; -2.7305+2
17、.8538i;-2.7305-2.8538i; %注意使用列向量,另外注意符号P=-1;-2;-3;-4; G=zpk(Z,P,1);在MATLB提示符“”下键入G,或省略最后命令中分号,则可显示该数学模型。 G %下面是MATLB的显示结果Zero/pole/gain:(s+1.539) (s2 + 5.461s + 15.6)- - (s+1) (s+2) (s+3) (s+4)任务四:应用tf2zp( )函数求出例1和任务五中系统的零极点。(3)环节方框图的化简G1(s)G2(s)1.环节串联连接的化简对于上图的两个环节串联,它们的传递函数分别为:,则两个环节串联连阶的等效传递函数为在M
18、ATLAB中,实现两个环节传递函数串联连接的运算为:sys1=tf(num1,den1)sys2=tf(num2,den2)sys=sys1*sys22.环节并联连接的化简G1(s) +G2(s)实现两个环节传递函数串联连接的运算为:sys=sys1+sys23.反馈环节的化简G1(S)G2(S)实现反馈环节化简的运算为:sys=feedback(sys1,sys2,sign)式中sign为反馈符号,+表示正反馈,-为负反馈。缺省为-。三. 实验结果及分析(包括运行结果截图、结果分析等)任务一:设系统传递函数 采用上面两种输入方式,输入其传递函数,并记录命令。 (1)采用num = ; den
19、 = ; G = tf ( num, den )的形式 (2)采用s=tf(s); G=(函数表达式)的形式 任务二:在MATLAB 命令窗口中对例2的这两种输入方法进行验证。(1)(2)任务三:在MATLAB 命令窗口中对该例进行验证。任务四:应用tf2zp( )函数求出例1和任务五中系统的零极点。例1 任务五没有找到四. 总结及其心得体会(记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。)这节实验课的实验内容主要是传递函数相关的一些函数编码格式tf ()函数 conv()函数 num = ; den = ; G = tf ( num, den ); s=tf(s);
20、 G=( s3 + 5* s2 + 3* s + 2)/( s4 + 2*s3 + 4* s2 + 3* s + 1)tfdata()函数 zpk ()函数这些函数根据例题的格式来做,还是很容易编制相关程序。但是给出一个同时涉及多个函数的问题,还是不容易去编制和简化程序的。建议:对于任务四种用到的tf2zp( )函数,实验PPT中没有涉及,实验报告例题中也没有看到。需要查找资料了解其程序编码格式。任务四中提到的求任务五的零极点,实验报告中没有找到任务五的内容。实验项目名称: 控制系统的时域分析实验 机械控制工程基础实验报告之三一、实验目的和要求1利用MATLAB对一、二阶系统进行时域分析。2熟
21、练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。3掌握一阶系统的时域特性,理解时间常数T对系统性能的影响。4通过响应曲线观测特征参量和对二阶系统动态特性的影响。5通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。二、实验内容1观察函数step( )和impulse( )的调用格式,假设系统的传递函数模型为 可以用几种方法绘制出系统的阶跃响应曲线?试分别绘制。2对典型二阶系统1)分别绘出,分别取0,0.25,0.5,1.0和2.0时的单位阶跃响应曲线,分析参数对系统的影响,并计算=0.25时的
22、时域性能指标。2)绘制出当=0.25, 分别取1,2,4,6时单位阶跃响应曲线,分析参数对系统的影响。3)某系统的开环传递函数为 试编程求系统在单位负反馈下的阶跃响应曲线,并求最大超调量。 sys=tf(10,1 4 18 20 10) Transfer function: 10-s4 + 4 s3 + 18 s2 + 20 s + 10 step(sys)4)典型二阶系统 编程求当n =6,取0.2、0.4、0.6、0.8、1.0、1.5、2.0时的单位阶跃响应曲线。 sys=tf(36,1 1.2 36) Transfer function: 36-s2 + 1.2 s + 36 step
23、(sys) hold on sys=tf(36,1 2.4 36) Transfer function: 36-s2 + 2.4 s + 36 step(sys) hold on sys=tf(36,1 4.8 36) Transfer function: 36-s2 + 4.8 s + 36 step(sys) sys=tf(36,1 9.6 36) Transfer function: 36-s2 + 9.6 s + 36 step(sys) hold on sys=tf(36,1 19.2 36) Transfer function: 36-s2 + 19.2 s + 36 step(s
24、ys)5)典型二阶系统传递函数为: 绘制当=0.7,n取2、4、6、8、10、12时的单位阶跃响应曲线。 sys=tf(1,1 1.4 1) Transfer function: 1-s2 + 1.4 s + 1 step(sys) hold on sys=tf(4,1 2.4 4) Transfer function: 4-s2 + 2.4 s + 4 step(sys) hold on sys=tf(64,1 11.2 64) Transfer function: 64-s2 + 11.2 s + 64 step(sys) hold on sys=tf(256,1 22.4 256) Tr
25、ansfer function: 256-s2 + 22.4 s + 256 step(sys)6)某系统的开环传递函数为试编程求系统在单位负反馈下的阶跃响应曲线,并求最大超调量。 sys=tf(20,1 8 36 40 20)Transfer function: 20-s4 + 8 s3 + 36 s2 + 40 s + 20 step(sys) (对以上图形要有数据分析,解释参数的含义)3. 在MATLAB环境中求系统的时域响应如下图。输入下面的命令: num=50; den=1 5, 25; step(num,den)。(1)试解释以上命令的含义,求出系统的传递函数;(2)根据传递函数确
26、定系统的2个参数 和 ;(3)结合以下响应图形,指出二阶系统时域分析主要性能指标?作图直观求解本系统的稳态值、超调量和调整时间。解: (对以上图形要有数据分析,详细弄懂每个参数的含义,求指标)(1)命令含义:系统传递函数分子、分母的代数表达式,step为求阶跃响应,系统的闭环传递函数为: (2) 二阶系统时域分析主要性能指标:上升时间、峰值时间、调整时间;超调量,调整次数等。 稳态值为:0.5 超调量为:(0.7-0.5)/0.5=0.4 (峰值时间为0.94s)调整时间为3.71s,误差为(0.51-0.5)/0.5=2% 三. 实验结果及分析(包括运行结果截图、结果分析等)(1)求以学号后
27、两位为时间常数的一阶惯性环节的单位脉冲、单位阶跃、单位速度、单位加速度响应。时间常数 一阶惯性环节 单位阶跃响应:在MATLAB中,其单位阶跃响应计算程序为:num=1;den=13 1;step(num,den)grid单位脉冲响应在MATLAB中,其单位脉冲响应计算程序为:num=1 0;den=13 1;step(num,den)grid单位速度响应在MATLAB中,其单位速度响应计算程序为:num=1;den=13 1 0;step(num,den)grid单位加速度响应在MATLAB中,其单位加速度响应计算程序为:num=1;den=13 1 0 0;step(num,den)gri
28、d(2)P125 3-18 典型二阶系统 ,试用MATLAB绘制出1)当固有频率=6rad/s, 阻尼比 分别取0.1、0.2、0.9、1.0、2.0时的单位阶跃和单位脉冲的响应曲线;2)阻尼比 =0.7,固有频率分别为2、4、6、8、10、12rad/s时的单位阶跃和单位脉冲的响应曲线。解:1)单位阶跃的响应曲线clc;clear;close all;sys=tf(36,1 1.2 36)step(sys)hold onsys=tf(36,1 2.4 36)step(sys)hold onsys=tf(36,1 3.6 36)step(sys)hold onsys=tf(36,1 4.8 3
29、6)step(sys)hold onsys=tf(36,1 6 36)step(sys)hold onsys=tf(36,1 7.2 36)step(sys)hold onsys=tf(36,1 8.4 36)step(sys)hold onsys=tf(36,1 9.6 36)step(sys)hold onsys=tf(36,1 10.8 36)step(sys)hold onsys=tf(36,1 12 36)step(sys)hold onsys=tf(36,1 24 36)step(sys)hold on单位脉冲的响应曲线clc;clear;close all;sys=tf(36 0
30、,1 1.2 36)step(sys)hold onsys=tf(36 0,1 2.4 36)step(sys)hold onsys=tf(36 0,1 3.6 36)step(sys)hold onsys=tf(36 0,1 4.8 36)step(sys)hold onsys=tf(36 0,1 6 36)step(sys)hold onsys=tf(36 0,1 7.2 36)step(sys)hold onsys=tf(36 0,1 8.4 36)step(sys)hold onsys=tf(36 0,1 9.6 36)step(sys)hold onsys=tf(36 0,1 10.
31、8 36)step(sys)hold onsys=tf(36 0,1 12 36)step(sys)hold onsys=tf(36 0,1 24 36)step(sys)hold on2)单位阶跃的响应曲线clc;clear;close all;sys=tf(4,1 2.8 4)step(sys)hold onsys=tf(16,1 5.6 16)step(sys)hold onsys=tf(36,1 8.4 36)step(sys)hold onsys=tf(64,1 11.2 64)step(sys)hold onsys=tf(100,1 14 100)step(sys)hold ons
32、ys=tf(144,1 16.8 144)step(sys)hold on单位脉冲的响应曲线clc;clear;close all;sys=tf(4 0,1 2.8 4)step(sys)hold onsys=tf(16 0,1 5.6 16)step(sys)hold onsys=tf(36 0,1 8.4 36)step(sys)hold onsys=tf(64 0,1 11.2 64)step(sys)hold onsys=tf(100 0,1 14 100)step(sys)hold onsys=tf(144 0,1 16.8 144)step(sys)hold on(3) 画出以学号
33、后两位为固有频率和以(班级号*1/10、班级号*1/5)为阻尼比,以及以(班级号*1/20)为阻尼比及以(学号后两位、2*学号后两位)为固有频率的振荡环节的SIMULINK仿真模型 ,并记录单位阶跃响应波形,并分析参数对响应曲线的影响 解:学号 13 ,班级号 2 振荡环节 即固有频率; 即阻尼比=0.2、0.4阻尼比=0.1;固有频率 观察并分析了以上几个单位阶跃响应波形,发现阻尼比一定时,固有频率Wn越大,响应曲线的上升时间越短,峰值时间越短;固有频率Wn一定时,阻尼比越大,上升时间越长,峰值时间越长,最大超调量越小。四. 心得体会(记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题
34、、意见和建议等。)控制系统的时域分析实验内容主要是掌握一些函数编码格式,如step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应;掌握一阶系统的时域特性,理解时间常数T对系统性能的影响;通过响应曲线观测特征参量 和 对二阶系统动态特性的影响等。通过观察SIMULINK仿真模型及典型环节在单位阶跃信号作用下的响应曲线,加深对各典型环节响应曲线的理解。实验项目名称: 控制系统的频域分析实验 机械控制工程基础实验报告之四一、实验目的和要求1加深理解频率特性的概念,掌握系统频率特性的测试原理及方法;2掌握用MATLAB语句绘制各种频域曲线;3
35、.掌握nyquist图、bode图的绘制方法,对控制系统特性进行分析;4掌握Matlab中系统的频域特征量的求解方法,能够用Matlab求系统的频域特征量。二、实验内容频域分析法是应用频域特性研究控制系统的一种经典方法。它是通过研究系统对正弦信号下的稳态和动态响应特性来分析系统的。采用这种方法可直观的表达出系统的频率特性,分析方法比较简单,物理概念明确。1频率曲线主要包括三种:Nyquist图和Bode图。1)Nyquist图的绘制及分析MATLAB中绘制系统Nyquist图的函数调用格式为:nyquist(num,den) 频率响应w的范围由软件自动设定nyquist(num,den,w)
36、频率响应w的范围由人工设定Re,Im= nyquist(num,den) 返回奈氏曲线的实部和虚部向量,不作图例1:已知系统的开环传递函数为,试绘制Nyquist图,并判断系统的稳定性。num=2 6;den=1 2 5 2; z,p,k=tf2zp(num,den); pnyquist(num,den)图1 开环极点的显示结果及Nyquist图极点的显示结果及绘制的Nyquist图如图1所示。由于系统的开环右根数P=0,系统的Nyquist曲线没有逆时针包围(-1,j0)点,所以闭环系统稳定。p = -0.7666 + 1.9227i -0.7666 - 1.9227i -0.4668若上例
37、要求绘制间的Nyquist图,则对应的MATLAB语句为:num=2 6;den=1 2 5 2;w=logspace(-1,1,100); 即在10-1和101之间,产生100个等距离的点nyquist(num,den,w)2)Bode图的绘制及分析系统的Bode图又称为系统频率特性的对数坐标图。Bode图有两张图,分别绘制开环频率特性的幅值和相位及角频率的关系曲线,称为对数幅频特性曲线和对数相频特性曲线。MATLAB中绘制系统Bode图的函数调用格式为:bode(num,den) 频率响应w的范围由软件自动设定bode(num,den,w) 频率响应w的范围由人工设定mag,phase,w
38、=bode(num,den,w) 指定幅值范围和相角范围的伯德图例2:已知开环传递函数为,试绘制系统的伯德图。num=0 0 15 30;den=1 16 100 0;w=logspace(-2,3,100);bode(num,den,w)grid绘制的Bode图如图2(a)所示,其频率范围由人工选定,而伯德图的幅值范围和相角范围是自动确定的。当需要指定幅值范围和相角范围时,则需用下面的功能指令: mag,phase,w=bode(num,den,w)图2(a) 幅值和相角范围自动确定的Bode图图2(b) 指定幅值和相角范围的Bode图mag,phase是指系统频率响应的幅值和相角,由所选频
39、率点的w值计算得出。其中,幅值的单位为dB,它的算式为magdB=20lg10(mag)。指定幅值范围和相角范围的MATLAB调用语句如下,图形如图4-2(b)所示。num=0 0 15 30;den=1 16 100 0;w=logspace(-2,3,100);mag,phase,w=bode(num,den,w); %指定Bode图的幅值范围和相角范围subplot(2,1,1); %将图形窗口分为2*1个子图,在第1个子图处绘制图形semilogx(w,20*log10(mag); %使用半对数刻度绘图,X轴为log10刻度,Y轴为线性刻度grid onxlabel(w/s-1); ylabel(L(w)/dB);title(Bode Diagram of G(s)=30(1+0.2s)/s(s2+16s+100);subplot(2,1,2);%将图形窗口分为2*1个子图,在第2个子图处绘制图形