您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > MATLAB应用-传递函数与画图
•用MATLAB建立传递函数模型•用MATLAB求系统的零点、极点及特征多项式•用MATLAB绘制二维图形MATLAB在控制系统中的应用•多项式模型—TF对象(单入—单出系统)线性时不变(LTI)系统的传递函数模型:用MATLAB建立传递函数模型1011111()()mmmmnnnnbsbsbsbGsnmsasasa−−−−++⋅⋅⋅++=≥++⋅⋅⋅++011121[,,,,][1,,,,,]mmnnnumbbbbdenaaaa−−=⋅⋅⋅=⋅⋅⋅在MATLAB工具箱中,定义了tf()函数。调用格式:G=tf(num,den)4325()2345sGsssss+=++++226(5)()(31)(6)sGssss+=+++例conv()函数用来计算两向量的卷积,多项式乘法,允许任意的多层嵌套。用MATLAB建立传递函数模型•零极点模型—ZPK对象LTI系统零极点形式的传递函数模型:用MATLAB建立传递函数模型1212()()...()()()()()...()mnszszszGsknmspspsp+++=≥+++1212;[;;...;];[;;...;];mnKkZzzzPppz==−−−=−−−在MATLAB工具箱中,定义了zpk()函数用于简单地表述零极点模型。调用格式:G=zpk(Z,P,K)。用MATLAB建立传递函数模型(1.9294)(0.03530.9287)()6(0.95671.2272)(0.04330.6412)ssjGssjsj++±=+±−±例注意:对于单变量系统,其零点和极点均是以列向量来表示的,故Z、P向量中各项均用分号(;)隔开。•反馈系统结构图模型当G1和G2均为TF或ZPK形式给出的LTI对象时,满足串联相乘,并联相加的法则,对应的MATLAB命令:G=G1*G2G=G1+G2用MATLAB建立传递函数模型1()Gs2()Gs+−()Cs•反馈系统结构图模型feedback()函数,用来求取反馈连接下总的系统模型,调用格式:G=feedback(G1,G2,sign)用MATLAB建立传递函数模型前向通路的LTI对象反馈通路的LTI对象表示正反馈或负反馈结构:sign=-1表示负反馈系统模型若省略sign变量,仍表示负反馈结构用MATLAB建立传递函数模型121()(1)Gss=+21()1Gss=+1()Gs2()Gs+−()Cs例负反馈正反馈用MATLAB建立传递函数模型32143272424()10355024sssGsssss+++=++++2105()sGss+=1()Gs2()Gs+−yu()Hs1()0.011Hss=+例•多项式模型TF和零极点模型ZPK的转换•TF对象转换成ZPK对象调用格式为:G1=zpk(G)用MATLAB建立传递函数模型例24326.861.295.2()7.52219.5ssGsssss++=+++•多项式模型TF和零极点模型ZPK的转换•ZPK对象转换成TF对象调用格式为:G=tf(G1)用MATLAB建立传递函数模型例(2)(7)()6.8(32)(1.5)ssGsssjs++=+±+输入程序的过程中要注意大小写•在MATLAB中创建特征多项式特征多项式在传递函数TF对象中,是指其分母多项式den,即在MATLAB中,可以直接由ZPK对象创建特征多项式的系数行向量,该命令为:den=poly(P),P为特征值向量。用MATLAB求系统的零点、极点及特征多项式121[1,,,,,]nndenaaaa−=⋅⋅⋅用MATLAB求系统的零点、极点及特征多项式例已知系统的特征根,可用poly()命令计算相应的特征多项式的系数向量:11λ=−33λ=−22λ=−系统的特征多项式为:326116sss+++•MATLAB求特征根MATLAB函数roots()可以直接求出特征方程den=0在复数范围内的根,调用格式:P=roots(den)。用MATLAB求系统的零点、极点及特征多项式例已知系统的特征方程,特征方程的解:3261160sss+++=roots()和poly()互为逆运算。•MATLAB求特征根函数polyval()可以求出多项式在给定点s的值,调用格式:polyval(den,s).用MATLAB求系统的零点、极点及特征多项式326116sss+++例已知系统的特征多项式求取s=1点的值。•部分分式展开考虑传递函数:MATLAB函数可将展开成部分分式,直接求出展开式中的留数、极点和余项,调用格式:[r,p,k]=residue(num,den)用MATLAB求系统的零点、极点及特征多项式10111011()()nnnnnnnnbsbsbsbMsnumNsdenasasasa−−−−++⋅⋅⋅++==++⋅⋅⋅++00a≠()()MsNs•部分分式展开用MATLAB求系统的零点、极点及特征多项式1212()()()nnrrrMsksNsspspsp=++⋅⋅⋅+++++极点余项留数()()MsNs传递函数:32322536()6116sssGssss+++=+++例用MATLAB求系统的零点、极点及特征多项式643()2321Gssss−−=++++++该函数可以逆调用,把部分分式展开转变回多项式的TF形式命令格式:[num,den]=residue(r,p,k)注意:如果则极点是一个m重极点。这种情况下,部分分式展开式将包括:11jjjmppp++−−=−=⋅⋅⋅=−jp−112()()jjjmmjjjrrrspspsp++−++⋅⋅⋅++++•二维图形绘制绘制出一个周期内的正弦曲线:用MATLAB绘制二维图形例用t=0:0.01:2*pi命令来产生自变量t。由命令y=sin(t)对t向量求出正弦向量y。调用plot(t,y)绘制出所需的正弦曲线。•一幅图上画多条曲线利用具有多个输入变量的plot()命令,可以在一个绘图窗口上同时绘制多条曲线,格式:plot(x1,y1,x2,y2,…,xn,yn)。多重变量的优点是允许不同长度的向量在同一幅图上显示出来。每一对向量采用不同的线型以示区别。用MATLAB绘制二维图形•一幅图上画多条曲线hold命令可用于实现在一幅图叠画多条曲线hold命令可以保持当前的图形,并且防止删除和修改比例尺;也可以用带参数的hold命令——hold on和hold off来启动或关闭图形保持。用MATLAB绘制二维图形•图形的线型和颜色用MATLAB绘制二维图形选项意义选项意义‘-’实线‘--’短画线‘:’虚线‘-.’点画线‘r’红色‘*’用星号绘制各个数据点‘b’蓝色‘o’用圆圈绘制各个数据点‘g’绿色‘.’用圆点绘制各个数据点‘y’黄色‘’用叉号绘制各个数据点带有选项的曲线绘制命令的调用格式:plot(x1,y1,s1,x2,y2,s2,…)•子图的命令MATLAB允许将一个图形窗口按矩阵形式分成多个子窗口,分别显示多个图形,需要用到subplot()函数。该函数把一个图形窗口分割成m*n个子绘图区域。调用格式:subplot(m,n,k)通过参考数k可以调用各个绘图区域,子绘图区域按行从左到右从上到下编号。用MATLAB绘制二维图形行数列数参考数例如:subplot(4,3,6)表示将窗口分割成4*3个部分,在第6个部分上绘制图像。注意:MATLAB最多允许9*9的分割。•子图的命令用MATLAB绘制二维图形例•加图形注释输入以下相应的图形注释命令将网络格线、图形标题、x和y轴标记叠加在图形上。命令格式:用MATLAB绘制二维图形grid(网络线)title(‘图形标题’)xlabel(‘x轴标记’)ylabel(‘y轴标记’)引号内的字符串将被写在图形的坐标轴上或标题位置•在图形屏幕上书写文本用MATLAB绘制二维图形方法一:选择屏幕上的一点,单击鼠标,在光标处输入文字。•在图形屏幕上书写文本用MATLAB绘制二维图形方法二:用text()命令以(x,y)为坐标的某处书写文字命令格式:text(x,y,‘text’)例如:利用语句text(3,0.45,‘sint’)从点(3,0.45)开始,水平地写入“sint”•自动绘图算法及手工坐标轴定标在某些情况下,可能需要放弃绘图命令中的坐标轴自动标定特性,由用户自己设定坐标范围,可以在程序中加入下列语句:v=[x-minx-maxy-miny-max]axis(v)用MATLAB绘制二维图形四元向量把坐标轴定标建立在规定范围内对于对数坐标,v的元素应为最小值和最大值的常用对数;执行axis(v)会把当前的坐标轴标定范围保持到后面的图中,再次输入axis可恢复系统的自动标定特性。•多窗口绘图使用创建新窗口命令:figure(N)。其中,N为创建绘图窗口序号用MATLAB绘制二维图形例•用MATLAB建立传递函数模型多项式模型;零极点模型;反馈系统结构图模型;多项式模型TF与零极点模型ZPK的转换•用MATLAB求系统的零极点及特征多项式在MATLAB中创建特征多项式;用MATLAB求特征根;部分分式展开•用MATLAB绘制二维图形二维图形绘制;一幅图上画多条曲线;图形的线型和颜色;子图命令;加图形注释;在图形屏幕上书写文本;自动绘图算法及手工坐标轴标定;多窗口绘图小结本节完
本文标题:MATLAB应用-传递函数与画图
链接地址:https://www.777doc.com/doc-4449416 .html