您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 13级自动化《自动控制原理》实验指导书
1实验一初步认识MATLAB和控制系统仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,掌握MATLAB仿真软件的使用方法。2.掌握控制系统数学模型的多种描述方法及其仿真实现和互相转换。3.熟悉控制系统仿真常用的MATLAB函数。二、基础知识及MATLAB函数Matlab是一个功能强大的数值计算、符号运算工具。我们可以很方便地处理线性代数中的矩阵计算,方程组的求解,微积分运算,多项式运算,偏微分方程求解,统计与优化等问题。MATLAB语言以向量和矩阵为基本的数据单元,包括流程控制语句(顺序、选择、循环、条件、转移和暂停等),大量的运算符,丰富的函数,多种数据结构,输入输出以及面向对象编程。这些既可以满足简单问题的计算,也适合于开发复杂的大型程序。MATLAB不仅仅是一套打好包的函数库,同时也是一种高级的、面向对象的编程语言。使用MATLAB能够卓有成效地开发自己的程序,MATLAB自身的许多函数,实际上也包括所有的工具箱函数,都是用M文件实现的。1、启动MATLAB命令窗口计算机安装好MATLAB之后,双击MATLAB图标,就可以进入命令窗口(CommandWindow),此时意味着系统处于准备接受命令的状态,可以在命令窗口中直接输入命令语句。MATLAB语句形式变量=表达式;通过等于符号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句执行的结果。如果希望结果不被显示,则只要在语句之后加上一个分号(;)即可。此时尽管结果没有显示,但它依然被赋值并在MATLAB工作空间中分配了内存。2、常用函数1)常用的数学运算符+,—,*(乘),/(左除),\(右除),^(幂)2)常用数学函数abs,sin,cos,tan,asin,acos,atan,sqrt,exp,imag,real,sign,log,log10,conj(共扼复数)等23)多项式处理函数①在MATLAB中,多项式使用降幂系数的行向量表示,如:多项式表示为:p=[1-12025116],使用函数roots可以求出多项式等于0的根,根用列向量表示。若已知多项式等于0的根,函数poly可以求出相应多项式。r=roots(p)r=11.74732.7028-1.2251+1.4672i-1.2251-1.4672ip=poly(r)p=-12-025116②多项式的运算相乘conva=[123];b=[12]c=conv(a,b)=1476conv指令可以嵌套使用,如conv(conv(a,b),c)相除deconv[q,r]=deconv(c,b)q=123%商多项式r=000%余多项式求多项式的微分多项式polyderpolyder(a)=22求多项式函数值polyval(p,n):将值n代入多项式求解。polyval(a,2)=11③多项式的拟合多项式拟合又称为曲线拟合,其目的就是在众多的样本点中进行拟合,找出满足样本点分布的多项式。这在分析实验数据,将实验数据做解析描述时非常有用。命令格式:p=polyfit(x,y,n),其中x和y为样本点向量,n为所求多项式的阶数,p为求出的多项式。④多项式插值11625012234xxxx3多项式插值是指根据给定的有限个样本点,产生另外的估计点以达到数据更为平滑的效果。所用指令有一维的interp1、二维的interp2、三维的interp3。这些指令分别有不同的方法(method),设计者可以根据需要选择适当的方法,以满足系统属性的要求。Helppolyfun可以得到更详细的内容。y=interp1(xs,ys,x,’method’)在有限样本点向量xs与ys中,插值产生向量x和y,所用方法定义在method中,有4种选择:nearest:执行速度最快,输出结果为直角转折linear:默认值,在样本点上斜率变化很大spline:最花时间,但输出结果也最平滑cubic:最占内存,输出结果与spline差不多4)绘图函数plot(x1,y1,option1,x2,y2,option2,…)x1,y1给出的数据分别为x,y轴坐标值,option1为选项参数,以逐点连折线的方式绘制1个二维图形;同时类似地绘制第二个二维图形,……等。这是plot命令的完全格式,在实际应用中可以根据需要进行简化。比如:plot(y),以向量y的值为纵坐标,横坐标从1开始自动赋值绘制一条平面曲线;plot(x,y),x和y为长度相同的向量,以x的值为横坐标和y的值为纵坐标绘制一条平面曲线;plot(x,y,s),这里s是作图控制参数,用来控制线条的颜色、线型及标示符号等,用一个单引号括起来的字符串表示,所绘制的曲线与第二种格式相同(控制参数字符请参考Matlab的帮助,这些参数可以组合使用);x=linspace(0,2*pi,100);%100个点的x座标y=sin(x);%对应的y座标plot(x,y);这就画出了正弦函数在[0,2π]上的图形若要画出多条曲线,只需将座标对依次放入plot函数即可:plot(x,sin(x),x,cos(x));该命令在同一坐标系中画出了正弦和余弦函数的图形。gridon:在所画出的图形坐标中加入栅格gridoff:除去图形坐标中的栅格holdon:把当前图形保持在屏幕上不变,同时允许在这个坐标内绘制另外一个图形。4holdoff:使新图覆盖旧的图形设定轴的范围axis([xminxmaxyminymax])axis(‘equal’):将x坐标轴和y坐标轴的单位刻度大小调整为一样。文字标示text(x,y,’字符串’)在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串。gtext(‘字符串’)利用鼠标在图形的某一位置标示字符串。title(‘字符串’)在所画图形的最上端显示说明该图形标题的字符串。xlabel(‘字符串’),ylabel(‘字符串’)设置x,y坐标轴的名称。输入特殊的文字需要用反斜杠(\)开头。legend(‘字符串1’,‘字符串2’,…,‘字符串n’)在屏幕上开启一个小视窗,然后依据绘图命令的先后次序,用对应的字符串区分图形上的线。subplot(mnk):分割图形显示窗口m:上下分割个数,n:左右分割个数,k:子图编号semilogx:绘制以x轴为对数坐标(以10为底),y轴为线性坐标的半对数坐标图形。semilogy:绘制以y轴为对数坐标(以10为底),x轴为线性坐标的半对数坐标图形。3、控制系统的模型控制系统的表示可用三种模型:传递函数、零极点增益、状态空间。每一种模型又有连续与离散之分。为分析系统方便有时需要在三种模型间转换。MATLAB提供了各种命令,使我们可以很方便的完成这些工作,下面以连续系统为例简要说明有关命令。1)模型与表示式①传递函数模型11101110...()...mmmmnnnnbsbsbsbGsasasasa在MATLAB中直接用矢量组表示传递函数的分子、分母多项式系数,即:5num=[bmbm-1……b0];表示传递函数的分子多项式系数den=[anan-1……a0];表示传递函数的分母多项式系数sys=tf(num,den)tf命令将sys变量表示成传递函数模型。②零极点增益模型1212()()...()()()()...()mnszszszGskspspsp在MATLAB中用z、p、k矢量组分别表示系统的零点、极点和增益,即:z=[z1z2……zm];p=[p1p2……pn];k=[k];sys=zpk(z,p,k)zpk命令将sys变量表示成零极点增益模型。③状态空间模型x=ax+buy=cx+du在MATLAB中用(a、b、c、d)矩阵组表示,然后sys=ss(a,b,c,d)ss命令将sys变量表示成状态空间模型。2)模型间的转换在MATLAB中进行模型间转换的命令有:ss2tf、ss2zp、tf2ss、tf2zp、zp2tf、zp2ss它们之间的作用可由下面的示意图表示:ss2tftf2sszp2tftf2zpzp2ssss2zp3)模型间的关系与系统建模实际工作中常常需要由多个简单系统构成复杂系统,MATLAB中有下面几种命令可以解决两个系统间的连接问题。①系统的并联parallel命令可以实现两个系统的并联。命令格式:零极点增益模型传递函数模型状态空间模型6[n,d]=parallel(n1,d1,n2,d2)其中n1、d1和n2、d2分别为g1(s)、g2(s)的传递函数分子、分母系数行矢量。例将下面两个系统并联连接13()4gss2224()23sgsss执行下面程序:n1=[3];d1=[14];n2=[24];d2=[123];[n,d]=parallel(n1,d1,n2,d2)运行结果:n=051825d=161112可得并联后系统的传递函数为23251825()61112ssgssss②系统的串联series命令实现两个系统的串联,命令格式:[n,d]=series(n1,d1,n2,d2)③系统的反馈feedback命令实现两个系统的反馈连接,命令格式:[n,d]=feedback(n1,d1,n2,d2)或:[n,d]=feedback(n1,d1,n2,d2,sign)其中sign是反馈符号,缺省时默认为负(即sign=-1)。例设有下面两个系统:121()23sgsss21()10gss现要将它们负反馈连接,求传递函数输入:n1=[1,1];d1=[1,2,3];n2=1;7d2=[1,10];[n,d]=feedback(n1,d1,n2,d2)运行结果:n=011110d=1122431即所求系统为:2221110()122431ssgssss三、实验内容1.已知21)(,5001)(221sssGssG,分别求取)(1sG和)(2sG并联、串联以及反馈连接时,系统的传递函数。2.已知21)(,421)(221sssGssssG,分别求取)(1sG和)(2sG并联、串联以及反馈连接时,系统的传递函数。3.将系统;6168s682s)(232ssssG转换为状态空间形式。4.将下列系统转换为传递函数形式。0.DCBADU.CXYBU,AXX,010,100,1026402011四、实验报告1.根据内容要求,写出调试好的MATLAB语言程序,及对应的MATLAB运算结果。2.用实验结果说明函数parallel与运算符“+”功能上的异同点。3.写出实验的心得与体会。五、预习要求1.预习实验中基础知识,运行编制好的MATLAB语句,熟悉MATLAB指令及函数。2.结合实验内容,提前编制相应的程序。3.熟悉控制系统数学模型的表达及相互转换。8实验二典型环节的MATLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。3.定性了解各参数变化对典型环节动态特性的影响。二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。1.运行MATLAB软件,在命令窗口栏“”提示符下键入simulink命令,按Enter键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。2.选择File菜单下New下的Model命令,新建一个simulink仿真环境常规模板。3.在simulink仿真环境下,创建所需要的系统。以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。点击simulink下的“Continuous”,再将右边窗口中“TransferFen”的图标用左键
本文标题:13级自动化《自动控制原理》实验指导书
链接地址:https://www.777doc.com/doc-7347 .html