自控实验指导书--MATLAB--2013
- 格式:doc
- 大小:750.00 KB
- 文档页数:19
************************ MATLAB语言实验指导书************************华东交通大学电气学院张永贤2013年2月实验一 MATLAB 工作环境熟悉及简单命令的执行一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。
二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单(Menu )、工具条 (Toolbar )、命令窗口(Command Window)、历史命令窗口(Command History)、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。
三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌面。
2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。
(1)>>(365-52⨯2-70)÷3 (2)>>area=pi*2.5^2(3)已知x=3,y=4,在MATLAB 中求z :()()︒++=47cos *32j y x abs y x z (4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。
m1=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡11514412679810115133216 执行以下命令 >>m1( 2 , 3 ) >>m1( 11 ) >>m1( : , 3 )>>m1( 2 : 3 , 1 : 3 )>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) (5)执行命令>>help abs查看函数abs 的用法及用途,计算abs( 3 + 4i ) (6)执行命令>>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y)(7)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。
《自动控制原理》课程实验报告实验名称初步认识MATLAB和系统仿真专业班级过程自动化03班学号2011500169姓名鲁雅洁指导教师李离学院名称电气信息学院2013 年10 月22 日实验一初步认识MATLAB和控制系统仿真一、实验目的(1)了解并掌握MATLAB仿真软件的使用方法;(2)掌握控制系统数学模型的多种描述方法及其仿真实现和互相转换; (3)熟悉控制系统仿真常用的MATLAB函数。
二、实验设备(1)硬件:个人计算机;(2)软件:MATLAB仿真软件(版本6.5或以上)。
三、实验内容和步骤1.质量—弹簧—阻尼器系统的零输入响应修改并运行程序lab1_1.m以求取下列情形的零输入响应曲线并存盘:Lab1_1_1.m程序:y0=0.15;wn=sqrt(2);zeta=1/(2*sqrt(2));t=[0:0.1:10];c=(y0/sqrt(1-zeta^2));y=c*exp(-zeta*wn*t).*sin(wn*sqrt(1-zeta^2)*t+acos(zeta));bu=c*exp(-zeta*wn*t);bl=-bu;plot(t,y,t,bu,'k--',t,bl,'k--'),gridxlabel('Time (sec)'),ylabel('y(t) (meters)')legend(['\omega_n=',num2str(wn),' \zeta=',num2str(zeta)]) 仿真结果:(1)零输入响应曲线Lab1_1_2.m程序:y0=0.15;wn=sqrt(2);zeta=1;t=[0:0.1:10];y=y0*(exp(-wn*t)+wn*t.*exp(-wn*t));plot(t,y),gridxlabel('Time (sec)'),ylabel('y(t) (meters)')legend(['\omega_n=',num2str(wn),' \zeta=',num2str(zeta)]) 仿真结果:(2)零输入响应曲线Lab1_1_3.m程序:y0=0.15;wn=sqrt(2);zeta=sqrt(2);t=[0:0.1:10];s1=-wn*(zeta+sqrt(zeta^2-1));s2=-wn*(zeta-sqrt(zeta^2-1));k1=(1-zeta/sqrt(zeta^2-1))/2;k2=(1+zeta/sqrt(zeta^2-1))/2;y=y0*(k1*exp(s1*t)+k2*exp(s2*t));plot(t,y),gridxlabel('Time (sec)'),ylabel('y(t) (meters)')legend(['\omega_n=',num2str(wn),' \zeta=',num2str(zeta)]) 仿真结果:(3)零输入响应曲线2.系统传递函数的MATLAB实现及零极点分布(1)多项式的表示及求值:系数按降幂顺序构成行向量;求值函数polyval;(2)多项式的根:由函数roots求得;函数poly(roots())的功能;(3)多项式的积:由函数conv实现;(4)系统传递函数:由函数tf实现;(5)传递函数的零极点表示:函数pole,zero和pzmap的运用。
MATLAB 操作环境、MATLAB 数值计算一、实验目的1、熟悉MATLAB 操作界面;2、掌握MATLAB 基本操作和简单语句函数的输入;3、掌握变量的创建及数据类型间转换;4、掌握矩阵和数组运算,可利用MATLAB 进行基本数值计算;5、掌握多项式的创建和基本运算。
二、实验内容(一)MATLAB 操作环境1、常用窗口及操作方法2、MATLAB 初步应用(1)计算b a b a y ++⨯=,其中43==b a 的值。
(2)绘制正、余弦曲线。
X=0:0.2:2*piY1=sin(x);y2=cos(x);plot(x,y1,x,y2)(3)计算5323645sin + 和5323630cos + 的值。
>> (sin(0.25*pi)+sqrt(36))/32^(1/5)ans =3.3536>> (cos(pi/6)+sqrt(36))/32^(1/5)ans =3.43303、变量的创建和类型转换创建一个5维魔方阵A ,并将其转换成无符号16位整型数组B 。
察看两个变量的详细信息。
4、创建一结构数组Stu ,包含ID 、name 、score 三个域,并输入3个同学的记录信息,并查看第2个记录的信息。
>> A=magic(5),B=uint16(A),whos A BA =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9B =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9Name Size Bytes ClassA 5x5 200 double arrayB 5x5 50 uint16 arrayGrand total is 50 elements using 250 bytes(二)MATLAB数值计算1、矩阵创建(1)直接输入法A=[1 2 3 4; 5 6 7 8](2)用矩阵编辑器创建复杂矩阵(3)创建特殊矩阵:要求创建随机矩阵、全0矩阵。
MATLAB实验指导书魏晓华流体传动与控制工程系机械工程学院一、线性代数部分在MA TLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之后,并按入Enter 键即可。
例如:>> (5*2+1.3-0.8)*10/25ans =4.2000MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算后的答案(Answer)并显示其数值於荧幕上。
小提示:">>"是MA TLAB的提示符号(Prompt),但在PC中文视窗系统下,由于编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。
我们也可将上述运算式的结果设定给另一个变数x:x = (5*2+1.3-0.8)*10^2/25x = 42此时MATLAB会直接显示x的值。
由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。
小提示:MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。
MA TLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MA TLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。
若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例:y = sin(10)*exp(-0.3*4^2);若要显示变数y的值,直接键入y即可:>>yy =-0.0045在上例中,sin是正弦函数,exp是指数函数,这些都是MA TLAB常用到的数学函数。
若一个数学运算是太长,可用三个句点将其延伸到下一行:z = 10*sin(pi/3)* ...sin(pi/3);1.1 常见数学函数ceil(x)= -4 -2 0 2 5 7fix(x) = -4 -2 0 1 4 6floor(x) = -5 -3 -1 1 4 6round(x) = -5 -2 0 1 5 71.2 系统的在线帮助1. MA TLAB的查询命令:help:用来查询已知命令的用法。
MATLAB基础教程实验指导书实验一:Desktop操作桌面基础一、实验目的及要求1、熟悉MATLAB系统的安装流程,掌握MATLAB的启动和退出。
2、掌握MATLAB系统的各命令窗口的功能,熟悉常用选项和工具栏的功能和用途。
3、熟悉简单程序的输入、运行、调试及结果的显示过程。
二、实验内容1、认识MATLAB集成环境:熟悉个操作窗口的功能和用途。
掌握File(文件)、Edit(编辑)、View(显示)、Web(网络)、Window(窗口)和Help(帮助) 等菜单命令的使用。
2、启动和退出MATLAB(1)启动MATLAB的M文件。
在启动MATLAB时,系统可自动执行主M文件matlabrc.m,在matlabrc.m的末尾还会检测是否存在startup.m,如存在则会自动执行它。
在网络系统中,matlabrc.m保留给系统管理员,而各个用户可利用startup.m进行初始设置。
(2)、终止或退出MATLAB。
quit命令可终止MATLAB,但不保存工作空间的内容。
为保存工作空间的内容,可使用save命令。
1、利用save、load命令,保存和恢复工作空间。
用clear命令可清空工作空间。
(1)、工作空间中的变量可以用save命令存储到磁盘文件中。
(2)、用load命令可将变量从磁盘文件读入MATLAB的工作空间。
(3)、用clear命令可清除工作空间中现存的变量。
4、MATLAB的所有图形工具窗体都可以嵌入MATLAB窗体(Dock),也可以从MATLAB窗体中弹出(Undock),例如在MATLAB默认的图形窗体环境下,单击命令行窗体左上角按钮,就可以将MATLAB命令行窗体弹出。
要求分别将命令行窗体(Command Window)、命令行历史窗体(Command History)、当前路径查看器(Current Directory)、工作空间浏览器(Workspace Browser)、帮助(Help)、MATLAB性能剖析工具(Profiler) 从MATLAB窗体中弹出和嵌入MATLAB窗体(Dock)。
Matlab实验指导书(含参考程序)1实验一:matlab操作环境熟悉一、实验目的1.初步了解matlab操作环境。
2.自学采用图形函数计算器命令funtool及其环境。
二、实验内容熟识matlab操作方式环境,重新认识命令窗口、内存工作区窗口、历史命令窗口;学会采用format命令调整命令窗口的数据表明格式;学会采用变量和矩阵的输出,并展开直观的排序;学会采用who和whos命令查阅内存变量信息;学会采用图形函数计算器funtool,并展开以下排序:funtool(回车),出现三个窗口:figureno.1、figureno.2为函数曲线视窗,figureno.3为运算控制器。
1.单函数运算操作方式。
求下列函数的符号导数(1)y=sin(x);(2)y=(1+x)^3*(2-x);?求下列函数的符号积分(1)y=cos(x);(2)y=1/(1+x^2);(3)y=1/sqrt(1-x^2);(4)y=(x-1)/(x+1)/(x+2);?谋反函数(1)y=(x-1)/(2*x+3);(2)y=exp(x);(3)y=log(x+sqrt(1+x^2));?代数式的化简(1)(x+1)*(x-1)*(x-2)/(x-3)/(x-4);(2)sin(x)^2+cos(x)^2;(3)x+sin(x)+2*x-3*cos(x)+4*x*sin(x);在3号窗口的第一排按键是单函数运算操作键df/dx------求函数f对x的符号导数intf------求函数对x的符号积分simplef------对函数作尽可能的化简numf------取函数的分子表达式denf------取函数的分母表达式1/f------求函数的倒数1/ffinv------f-1求函数的反函数,即g(f(x))=x2.函数与参数的运算操作方式。
从y=x^2通过参数的选择去观察下列函数的图形变化(1)y1=(x+1)^2《matlab语言及其在电子信息科学中的应用》实验指导书2(2)y2=(x+2)^2(3)y3=2*x^2(4)y4=x^2+2(5)y5=x^4(6)y6=x^2/2在3号窗口的第二排按键就是函数与参数的运算操作方式键f+a-------求函数与a的和f-a-------求函数与a的差f*a-------求函数与a的积f/a-------求函数除与a的商f^a-------求函数以a为指数的值f(x+a)-------并作自变量的转换,以x+a替代xf(x*a)-------并作自变量的转换,以a*x替代x其中a的默认值为1/2,可以在控制栏中去修改参数a的数值。
实验报告课程名称:自动控制原理实验名称:基于MATLAB 的线性系统的时域分析_________ 院(系):电子科学与工程学院专业:电子科学与技术姓名:_____________ 学号:________________同组人员:____ 实验时间:2013.11.15 ____________评定成绩:_____________________ 审阅教师:______________________一、实验目的1•观察学习控制系统的时域(阶跃、脉冲、斜坡)响应。
2. 记录时域响应曲线,给出时域指标。
3•掌握时域响应分析的一般方法。
、实验内容1、 二阶系统为10/ (护+肚- 10);计算系统的闭环根、阻尼比、无阻尼振荡频率并做记 录。
计算实际测取的峰值大小Cmax (tp )、峰值时间tp 、过渡时间ts 并与理论值比较。
2、 试作出以下系统的阶跃响应,并比较与原系统响应曲线的差别与特点,做出相应的实验分析结果。
2(a ) H1 (s ) = (2s+1) / ( s 2s 10 ),有系统零点情况。
2 2(b ) H2 (s ) = ( s 0.5) /(s 2s 10),分子、分母多项式阶数相等。
2(c ) H3 (s ) =s/(s 2s 10),分子多项式零次项系数为零。
3、已知单位反馈开环系统传递函数100(0.1S 1)(S 5) 50S(0.1S 1)(S 5) 10(2S 1) S 2(S 2 6S 100)输入分别为r(t)=2t 和r(t) 2 2t时,系统的响应曲线,分析稳态值与系统输入函数的关系三、实验原理分析和代码实验1实验要求计算系统的闭环根、阻尼比、无阻尼振荡频率。
系统的闭环根利用 Matlab 的解方程命令即可求出,根据阻尼比和无阻尼振荡频率的定义, 对照表达式,就可以得到,也能利用Matlab 相应命令得到。
实际测取的峰值大小、峰值时间、过渡时间可以分别由Matlab 相关命令得到。
实验一系统建模与转换一、实验目的1.了解MATLAB软件的基本特点和功能;2.掌握线性系统被控对象传递函数数学模型在MATLAB环境下的表示方法及转换;3.掌握多环节串联、并联、反馈连接时整体传递函数的求取方法;4.掌握在SIMULINK环境下系统结构图的形成方法及整体传递函数的求取方法;5.了解在MATLAB环境下求取系统的输出时域表达式的方法。
二、实验内容1.自确定2个传递函数,实现传递函数的录入和求取串联、并联、反馈连接时等效的整体传递函数。
要求分别采用有理多项式模型和零极点增益模型两种传递函数形式。
2.进行2例有理多项式模型和零极点增益模型间的转换。
3.在Siumlink环境下实现如下系统的传递函数的求取。
各环节传递函数自定。
三、实验报告要求1.写明实验目的和实验原理。
实验原理中简要说明求取传递函数 的途径和采用的语句或函数。
2.在实验过程和结果中,要求按项目写清楚自定的传递函数、画 出系统方框图,从屏幕上复制程序和运行结果,复制系统的 Simulink 方框图,打印报告或打印粘贴在报告上。
不方便打印 的同学,要求手动从屏幕上抄写和绘制。
3.简要写出实验心得和问题或建议。
实验二 线性系统的时域分析一、实验目的1.研究线性系统在典型输入信号作用下的暂态响应; 2.熟悉线性系统的暂态性能指标;3.研究二阶系统重要参数阻尼比ξ对系统动态性能的影响; 4.熟悉在MATLAB 下判断系统稳定性的方法; 5.熟悉在MATLAB 下求取稳态误差的方法。
二、实验内容1.研究一阶系统对阶跃输入、脉冲输入、斜坡输入、自定义输入的响应及性能指标。
设一阶系统系统具体参数:12.01)(+=s s G 。
2.研究二阶系统对阶跃输入、脉冲输入、斜坡输入、自定义输入的响应及性能指标。
设:单位反馈系统的:)12.0(s )(+=s Ks G 。
K 参数变化及变化方案自定。
①典型二阶系统在阶跃输入下,阻尼比或自然振荡频率改变对某1项性能指标的影响。
一、仿真实验内容及要求 ............................................................................................................... 0 二、仿真实验时间安排及相关事宜 .. 0《自动控制原理》MATLAB 分析与设计仿真实验任务书(2013)一、仿真实验内容及要求1.MATLAB 软件要求学生通过课余时间自学掌握MA TLAB 软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MA TLAB 仿真集成环境Simulink 的使用。
2.各章节实验内容及要求1)第三章 线性系统的时域分析法∙ 对教材P136.3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;∙ 对教材P136.3-9系统的动态性能及稳态性能通过的仿真进行分析,说明不同控制器的作用;∙ 在MATLAB 环境下完成英文讲义P153.E3.3。
∙ 对英文讲义中的循序渐进实例“Disk Drive Read System”,在100=a K 时,试采用微分反馈使系统性能满足%5%,σ<3250,510s ss t ms d -≤<⨯等设计指标。
2)第四章 线性系统的根轨迹法∙ 在MATLAB 环境下完成英文讲义P157.E4.5; ∙ 利用MA TLAB 绘制教材P181.4-5-(3);∙ 在MATLAB 环境下选择完成教材第四章习题4-10或4-18,并对结果进行分析。
3)第五章 线性系统的频域分析法利用MATLAB 绘制本章作业中任意2个习题的频域特性曲线; 4)第六章 线性系统的校正∙ 利用MATLAB 选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶跃响应说明所设计控制器的功能。
∙ 对英文讲义中的循序渐进实例“Disk Drive Read System”,试采用PD 控制使系统的性能满足给定的设计指标ms t s 150%,5%<<σ。
MATLAB实验指导书(2013)MATLAB语⾔及应⽤实验指导书机械与电⽓⼯程学院黄⾼飞余群编写⽬录实验⼀基础准备及⼊门(2学时,验证性) (1)实验⼆符号计算(2学时,验证性) (5)实验三数值数组及其运算(4学时,验证性) (6)实验四数据和函数的可视化(2学时,验证性) (9)实验五MATLAB语⾔的程序设计(4学时,综合性) (11)实验六SIMULINK交互式仿真集成环境(2学时,验证性) (14)实验⼀基础准备及⼊门⼀、实验⽬的1、了解MATLAB操作桌⾯的基本结构和组成;2、理解Command Window指令窗的作⽤,掌握指令窗的操作⽅式和指令的基本语法;3、了解Command History历史指令窗的作⽤、历史指令的再运⾏⽅法;4、理解Current Directory当前路径、搜索路径的作⽤,掌握当前路径、搜索路径的设置⽅法;5、理解Workspace Browser⼯作空间浏览器的作⽤,掌握内存变量的查阅、删除、保存和载⼊的基本⽅法;6、了解Launch Pad的作⽤;7、掌握M脚本⽂件的编写、运⾏⽅法;8、掌握利⽤帮助系统查询函数等基本信息的⽅法。
⼆、实验原理1、MATLAB操作桌⾯的基本结构和组成了解MATLAB的基本组件是正确使⽤MATLAB的基本前提。
MATLAB由以下基本组件组成:(1)指令窗Command Window:可键⼊各种送给MATLAB运作的指令、函数、表达式;显⽰除图形外的所有运算结果(2)历史指令窗Command History:记录已经运作过的指令、函数、表达式;(3)当前⽬录浏览器:进⾏当前⽬录的设置;展⽰相应⽬录上的M、MDL等⽂件;(4)⼯作空间浏览器Workspace Browser:列出MATLAB⼯作空间中所有的变量名、⼤⼩、字节数;(5)内存数组编辑器Array Editor:在⼯作空间浏览器中对变量进⾏操作时启动(6)开始按钮(7)交互界⾯分类⽬录窗Launch Pad:以可展开的树状结构列着MATLAB提供的所有交互界⾯(8)M⽂件编辑/调试器(9)帮助导航/浏览器2、MATLAB指令窗的基本操作MATLAB指令窗给⽤户提供了最直接的交互界⾯,可⽤于输⼊和执⾏指令、显⽰指令运⾏结果、调试MATLAB程序等常⽤的MATLAB仿真计算功能。
自动控制原理MATLAB仿真实验实验指导书2013年09月实验一 控制系统数学模型一、实验目的1、 掌握控制系统数学模型——传递函数的求取方法;2、 利用MATLAB 命令求取控制系统传递函数。
二、基础知识及MATLAB 函数在MA TLAB 命令窗口上,以命令的方式建立系统的传递函数。
在MA TLAB 下,系统的数学模型有3种描述方式,此实验用多项式模型。
(1)多项式模型:线性定常系统的数学模型传递函数G(s)一般可以表示成:m n a s a s a s a b s b s b s b s R s C s G n n n n m m m m ≥+++++++==----,......)()()(01110111其中分子分母多项式中的a n 与b m 均为常系数。
MATLAB 语言描述:构造分子多项式:num=[b m ,b m-1,…,b 1,b 0];或num=[b m b m-1 … b 1 b 0] 构造分母多项式:den=[a n ,a n-1,…,a 1,a 0];或den=[a n a n-1 … a 1 a 0] 构造并显示传递函数:printsys(num,den);其中num 与den 是习惯用法,也可用其它变量名代替,但在显示时会出现num/den ,这是通用输出显示格式,与输入变量名称无关。
例1-1:>>num=[1 12 44 48]; >>den=[1 16 86 176 105]; >>printsys(num,den) 显示: num/den =s^3 + 12 s^2 + 44 s + 48 ----------------------------------- s^4 + 16 s^3 + 86 s^2 + 176 s + 105 例1-2:系统开环传递函数为)106)(2()1(5)(22++++=s s s s s s G写出多项式模型。
>>n=conv([5],[1 1]);>>d=conv([1 0 0],conv([1 2],[1 6 10])); >>printsys(n,d) 显示: num/den =5 s + 5----------------------------- s^5 + 8 s^4 + 22 s^3 + 20 s^2 (2)模型的连接函数[num]=cloop()用于计算单位反馈时闭环传递函数多项式模型的参数向量,右变量为开环参数,左变量返回系统的闭环参数,反馈极性1为正反馈,-1为负反馈。
例1-3:系统开环传递函数为)3()1(5)(2++=s s s s G 写出单位负反馈时闭环传递函数的多项式模型。
>>numo=conv([5],[1 1]); >>deno=conv([1 0 0],[1 3]);>>[numc,denc]=cloop(numo,deno,-1); >>printsys(numc,denc) 显示: num/den=5 s + 5--------------------- s^3 + 3 s^2 + 5 s + 5函数[]=feedback()用于计算一般反馈系统的闭环传递函数。
其格式为:[num,den]=feedback(num1,den1,num2,den2,sign) 前向传递函数G(s)为num1/den1,反馈传递函数H(s)为num2/den2,右变量为G(s)与H(s)的参数,左变量返回系统的闭环参数,反馈极性sign 取1为正反馈,取-1为负反馈,缺省时作负反馈计算。
例4:系统结构图如图所示:>> num1=[10];den1=[1 1 0]; >>num2=[0.2 1];den2=[0.01 1];>>[num,den]=feedback(num1,den1,num2,den2,-1); >>printsys(num,den) 显示: num/den =0.1 s + 10------------------------------ 0.01 s^3 + 1.01 s^2 + 3 s + 10串联连接用函数series,格式:[num,den]=series(num1,den1,num2,den2) 并联连接用函数parallel,格式:[num,den]=parallel(num1,den1,num2,den2) *系统模型其他形式描述及分析见教材71页。
三、 实验步骤与内容:1、开机执行MATLAB 程序,进入MATLAB 命令窗口:“Command window ”。
2、建立简单的系统模型:用MA TLAB 语言求取传递函数,要求熟练应用以下指令:printsys(num,den); feedback; cloop; series; parallel; conv ;tf;zpk;zp2tf;tf2zp;(1)3125)(2423++++++=s s s s s s s G ;(2))162)(2()3)(1()(2+++++=s s s s s s s G ; (3)编写指令在命令窗口中显示上列传递函数 利用指令进行传递函数模型的转换四、实验报告1.根据内容要求,写出调试好的MATLAB 语言程序,及对应的结果。
2. 写出实验的心得与体会。
实验二 控制系统的阶跃响应一、实验目的1.熟练掌握step( )函数和impulse( )函数的使用方法,研究线性系统在单位阶跃、单位脉冲及单位斜坡函数作用下的响应。
2.通过响应曲线观测特征参量ζ和n ω对二阶系统性能的影响。
3.熟练掌握系统的稳定性的判断方法。
二、基础知识及MATLAB 函数用MATLAB 求系统的瞬态响应时,将传递函数的分子、分母多项式的系数分别以s 的降幂排列写为两个数组num 、den 。
由于控制系统分子的阶次m 一般小于其分母的阶次n ,所以num 中的数组元素与分子多项式系数之间自右向左逐次对齐,不足部分用零补齐,缺项系数也用零补上。
[wn,z]=damp(den) 计算系统的无阻尼自然振荡频率wn 和阻尼比z 。
den 为特征多项式系数向量(因为MATLAB 语言中只用英文字母,而不用希腊字母,故用wn 及z 分别代替ω和ζ)。
1、阶跃响应求系统阶跃响应的指令有:step(num,den) 时间向量t 的范围由软件自动设定,阶跃响应曲线随即绘出step(num,den,t) 时间向量t 的范围可以由人工给定(例如t=0:0.1:10) [y ,x]=step(num,den) 返回变量y 为输出向量,x 为状态向量在MATLAB 程序中,先定义num,den 数组,并调用上述指令,即可生成单位阶跃输入信号下的阶跃响应曲线图。
例2-1 求2()25()425C s R s s s =++的单位阶跃响应。
matlab 的调用语句:num=[0 0 25]; %定义分子多项式 den=[1 4 25]; %定义分母多项式step(num,den) %调用阶跃响应函数求取单位阶跃响应曲线 grid %画网格标度线xlabel(‘t/s’),ylabel(‘c(t)’) %给坐标轴加上说明 title(‘Unit -step Respinse of G(s)=25/(s^2+4s+25)’) %给图形加上标题名 则该单位阶跃响应曲线如图2-1所示:为了在图形屏幕上书写文本,可以用text 命令在图上的任何位置加标注。
例如: text(3.4,-0.06,’Y1’) 和 tex t(3.4,1.4,’Y2’)第一个语句告诉计算机,在坐标点x=3.4,y=-0.06上书写出’Y1’。
类似地,第二个语句告诉计算机,在坐标点x=3.4,y=1.4上书写出’Y2’。
图2-1 二阶系统的单位阶跃响应图2-2 定义时间范围的单位阶跃响应若要绘制系统t 在指定时间(0-10s )内的响应曲线,则用以下语句:num=[0 0 25]; den=[1 4 25]; t=0:0.1:10;step(num,den,t)即可得到系统的单位阶跃响应曲线在0-10s 间的部分,如图2-2所示。
2、脉冲响应① 求系统脉冲响应的指令有: impulse (num,den) 时间向量t 的范围由软件自动设定,阶跃响应曲线随即绘出impulse (num,den,t) 时间向量t 的范围可以由人工给定(例如t=0:0.1:10) [y,x]=impulse(num,den) 返回变量y 为输出向量,x 为状态向量 [y,x,t]=impulse(num,den,t) 向量t 表示脉冲响应进行计算的时间例2-2:试求下列系统的单位脉冲响应:2()1()()0.21C s G s R s s s ==++ 在matlab 中可表示为num=[0 0 1]; den=[1 0.2 1]; impulse(num,den) gridtitle(‘Unit -impulse Response of G(s)=1/(s ^2+0.2s+1)’) 由此得到的单位脉冲响应曲线如图2-3所示。
② 求脉冲响应的另一种方法应当指出,当初始条件为零时,G (s)的单位脉冲响应与sG(s)的单位阶跃响应相同。
考虑在上例题中求系统的单位脉冲响应,因为对于单位脉冲输入量,R(s)=1所以22()11()()()0.210.21C s s C s G s R s ss s s s ====⨯++++ 因此,可以将G(s)的单位脉冲响应变换成sG(s)的单位阶跃响应。
向MA TLAB 输入下列num 和den ,给出阶跃响应命令,可以得到系统的单位脉冲响应曲线如图2-4所示。
num=[0 1 0]; den=[1 0.2 1]; step(num,den) gridtitle(‘Unit -step Response of sG(s)=s/(s^2+0.2s+1)’)3、斜坡响应MATLAB 没有直接调用求系统斜坡响应的功能指令。
在求取斜坡响应时,通常利用阶跃响应的指令。
基于单位阶跃信号的拉氏变换为1/s ,而单位斜坡信号的拉氏变换为1/s2。
因此,当求系统G(s)的单位斜坡响应时,可以先用s 除G(s),再利用阶跃响应命令,就能求出系统的斜坡响应。
例2-3 试求下列闭环系统的单位斜坡响应。
11)()(2++=s s s R s C对于单位斜坡输入量,R(s)=1/s2 ,因此s s s s s s s s C 1)1(1111)(222⨯++=⨯++=在MATLAB 中输入以下命令,得到如图2-5所示的响应曲线:num=[0 0 0 1]; den=[1 1 1 0]; step(num,den)title(‘Unit -Ramp Response Cuve for System G(s)=1/(s^2+s+1)’)4、特征参量ζ和n ω对二阶系统性能的影响标准二阶系统的闭环传递函数为:222()()2n n nC s R s s s ωζωω=++图2-3 二阶系统的单位脉冲响应图2-4 单位脉冲响应的另一种表示法图2-5 单位斜坡响应设定无阻尼自然振荡频率1(/)n rad s ω=,考虑5种不同的ζ值:ζ=0,0.25,0.5,1.0和2.0,利用MATLAB 对每一种ζ求取单位阶跃响应曲线,分析参数ζ对系统的影响。