欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    MATLAB系统模型建立和动态特性分析实验.docx

    • 资源ID:6054803       资源大小:63.10KB        全文页数:21页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    MATLAB系统模型建立和动态特性分析实验.docx

    1、MATLAB系统模型建立和动态特性分析实验、实验目的1.掌握如何使用MALAB进行系统模型的建立;2 掌握数学建模的一般方法。、实验仪器计算机、实验内容3.1传递函数的多项式表示单输入单输出线性连续系统的传递函数有 3种表示形式:多项式形式,零、极点 表示形式和时间常数表示形式,后两种都可以看做是多项式乘积的形式,因此我 们先看看MATLAB是如何处理多项式的。1多项式的向量表示MATLAB中多项式用向量表示,行向量元素依次为降幕排列的多项式各项系 数。例如:多项式P(ss4 3s3 2s 5,表示为:P=1,3,0,2,5注意:尽管s2项系数为0,但输入P时不可缺省02多项式乘法MATLAB

    2、中多项式乘法处理函数调用格式为:C=conv( A,B)例如:给定两个多项式 A(s)=s+3 和 B(s10s2 20s 3 ,求 C(s)=A(s)B(s), 则应先构造多项式A(s)和B(s),然后再调用conv()函数来求C(s)。 A=1,3;B=10,20,3; C=co nv(A,B)输出结果:C =10 50 63 9或直接写成C=co nv(1,3,10,20,3)例如:G(s) =4* conv(1,2,conv(1,3,1,4)3.传递函数的多项式表示m m JbmS bm iS 一 bs b oG(s) n hans +anAs +.+as+a 0在MATLAB中直接用

    3、矢量组表示传递函数的分子、分母多项式系数,即: num = bm bm-ib;表示传递函数的分子多项式系数 den = ch aiao;表示传递函数的分母多项式系数sys = tf(num,den) tf命令将sys变量表示成传递函数模型。s !: 1例1用MATLAB表示传递函数为2 2 的系统。s2 3s2 2s解:在MATLAB环境下输入 n g=1 1; dg=1 3 2; sys=tf( ng,dg)则执行后得到如下结果:sys =s + 1sA2 + 3 s + 2Con ti nu ous-time tran sfer function.3.2零极点增益模型G(s) =k(S _

    4、Z!)lS_Z2).(S _Zm)心-山).“)在MATLAB中用z、p、k矢量组分别表示系统的零点、极点和增益,即:z = Z1 Z2 zm ;P = P1 P2pn ; k = k ;sys = zpk(z,p,k) zpk命令将sys变量表示成零极点增益模型例2用MATLAB表示传递函数为 1.5( s*1 的系统s(s 1)( s 2)解:在MATLAB环境下输入 z=-1; p=0 -1-2; k=1.5; Gz=zpk(z,p,k)执行结果为:Zero/pole/ga in:1.5 (s+1) s (s+1) (s+2)3.3、状态空间模型x = ax + bu y = ex +

    5、du在MATLAB中用(a、b、c、d)矩阵组表示,然后 sys = ss(a,b,c,d) ss命令将sys变量表示成状态空间模型3.4连续系统的模型转换1.多项式形式转换为零、极点形式例如:3 2、 12s +24s +12s+20G(s) 4 3 22s +4s +6s +2s+2程序: num=12 24 12 20; den=2,4,6,2,2; G=tf( nu m,de n); GG=zpk(G)运行结果:Zero/pole/ga in:6 (s+1.929) (sA2 + 0.07058s + 0.8638)(sA2 + 0.08663s + 0.413) $八2 + 1.91

    6、3s + 2.421)2.零、极点形式转换为多项式形式10(s 1)(s 2)例:G(s):s(s+5)(s+10) z=-1,-2; p=0,-5,-10; k=10; Gz=zpk(z,p,k); GG=tf(Gz)运行结果为:Tran sfer function:10 sA2 + 30 s + 20 sA3 + 15 sA2 + 50 s3.5传递函数的部分分式展开当:传谨函妇心厘X(s)num (s)den(s)在MATLAB中直接用分子/分母的系数表示时有num=bO, bl,,bm;den = aO, a1, ,an;则命令r,p,k = residue( nu m,de n)将求

    7、出两个多项式丫(s)和X(s)之比的部分分式展开的留数、极点和直接项。丫(s)/X(s) 的部分分式展开由下式给出:韶需+筈珞曲例3考虑下列传递函数:坯),十百宀11 +命令:nu m=2 5 3 6;den=1 6 11 6;r,p,k = residue( nu m,de n)将给出下列结果:r,p,k=residue( nu m,de n)r=-6.000-4.0003.000P=-3.000-2.000-1.000k=2留数为列向量r,极点位置为列向量p,直接项是行向量k。以下是丫(s)/X(s)的部 分分式展开的MATLAB表达形式:YG) _ 2/+5八+务 +呂一百 * 一4 +

    8、 3=(5 +1)(5 +2)(5 +3) 一 7 + 3 5 +2 十7+T十命令Num=2 5 3 6;Den=co nv (co nv(1 1,1 2),1 3);nu m,de n = residue(r,p,k) 执行后得到如下结果:nu m,de n=residue(r,p,k)num=2.0000 5.0000 3.0000 6.0000 den=1.0000 6.0000 11.0000 6.00003.1.3模型间的关系与系统建模实际工作中常常需要由多个简单系统构成复杂系统, MATLAB中有下面几种命令可以解决两个系统间的连接问题。1 系统的并联parallel命令可以实现

    9、两个系统的并联。示意图如下:其中:num1G1 二den1d e 2g2(s)2s 42s 2s 3例4将下面两个系统并联连接g1(s)=s + 4 n1=3; d1=1 4; G仁tf(n 1,d1); n 2=2 4; d2=1 2 3; G2=tf( n2,d2); G=parallel(G1,G2)运行结果为:Tran sfer fun cti on:5 sA2 + 18 s + 25sA3 + 6 sA2 + 11 s + 122系统的串联series命令实现两个系统的串联,示意图如下:U1G1(s)-G1 (s)y u2 G2 (s)10s 1G2(s)= num仁 10; den

    10、 1=1,1; G1= tf( num1,de n1); num2=1,1; den 2=1,5; G2=tf( num2,de n2); G=series(G1,G2)执行结果为:Tran sfer function:10 s + 10sA2 + 6 s + 53.系统的反馈feedback命令实现两个系统的反馈连接,示意图如下:sysG(s)1 _G(s)H(s)命令格式:Sys=feedback (sys1,sys2,sigr)Sign为反馈极性,若为正反馈其值为 缺省时默认为负(即sign = -1)。例5设有下面两个系统:1,若为负反馈其值为-1s 1s2 2s 3g2(s)=1s

    11、10现要将它们负反馈连接,求传递函数执行下面程序: n1= 1 1; d仁1 2 3; G仁tf(n 1,d1); n2=1; d2=1 10; H2=tf( n2,d2); sys=feedback(G1,H2)运行结果:Tran sfer fun cti on:sA2 + 11 s + 10sA3 + 12 sA2 + 24 s + 31例6已知系统如下/、 s+2 g1 (s)s +2s+3求该系统闭环后的传递函数(负反馈)。 输入: n仁1 2; d仁1 2 3; n, d=cloop( n1,d1)运行结果:n =1即:闭环后系统的传递函数为, s+2g1 (s) 2s +3s +

    12、55.生成二阶系统ord2命令在给定, E下可以生成相应的二阶系统,即:92)=孑 is-n21命令格式:n, d = ord2 其中: z =(Wn, z) E Wn = n四、实验步骤1.运行Matlab软件;2 在其命令窗口中输入响应的命令或程序;3.观察并记录。已知系统传递函数为:3 212s 24s 12s 20五、实验习题G(S) 2s4 +4s3 +6 孑 +2s+2求上述传递函数的零极点的表达形式。一、 实验目的:通过上机实验,掌握运用MATLAB常用命令对系统进行时域分析的基本方法。二、 实验仪器计算机三、 实验内容2.1单位阶跃响应的求法step命令可以求得连续系统的单位阶

    13、跃响应,当不带输出变量时,可在当前窗 口中绘出单位阶跃响应曲线。带有输出变时时则输出一组数据。命令格式:step (n,d,t);或y,x,t = step (n,d,t);其中t是事先确定的时间矢量,当t缺省时则时间由函数自行决定。如果需要将输出结果返回到 MATLAB工作空间,则采用以下调用格式:c=step(G)此时,屏幕上不会显示响应曲线,必须利用 plot()命令去查看响应曲线。Plot可以根据两个或多个给定的矢量绘制二维图形。例1已知传递函数为G(s) = s2+4s + 25利用以下MALAB命令可得阶跃响应曲线nu m=0,0,25;de n=1,4,25;step( nu m

    14、,de n)grid %绘制网格线/ 、/1J/111 f!Step Response0.40.20.51 1.5Time (sec)22.5 34 28 6 egJ-o mA还可用下面的语句来得出阶跃响应曲线:G=tf(0,0,25,1,4,25);t=0:0.1:5; %从0到5每隔0.1取一个值c=step(G , t); %动态响应的幅值赋给变量 cplot(t,c) %绘二维图形,横坐标取t,纵坐标取cCss=dcgai n(G) %求取稳态值系统显示的图形类似于上一个例子,在命令窗口中显示了如下结果:Css= 12.2求阶跃响应的性能指标方法一:游动鼠标法如上例,在程序运行完毕后,

    15、用鼠标左键单击时域响应曲线任意一点,系统 会自动跳出一个小方框,小方框显示了这一点的横坐标(时间)和纵坐标(幅值) 按住鼠标左键在曲线上移动,可找到曲线幅值最大的一点,即曲线最大峰值,此时小方框显示的时间就是此二阶系统的峰值时间,根据观测到的稳态值和峰值可 计算出系统的超调量。系统的上升时间和稳态响应时间可以此类推。注:它不适用于用 plot( )命令画出的图形。方法二:用编程方式求取时域响应的各项性能指标通过前面的学习,我们已经可以用阶跃响应函数 step( ) 获得系统输出量,若 将输出量返回到变量 y 中,可调用如下格式:y,t=step(G)对返回的这一对 y 和 t 变量的值进行计算

    16、,可得到时域性能指标。峰值时间( timetopeak )可由以下命令获得:Y,k=max(y) ;timetopeak=t(k)应用取最大值函数 max( )求出 y 的峰值及相应的时间, 并存于变量 Y 和 k 中 然后在变量 t 中取出峰值时间,并将它赋给变量 timetopeak。最大(百分比)超调量( percentovershoo)t 可由以下命令获得:C=dcgain(G);Y,k=max(y) ;percentovershoot=100*(Y-C)/Cdcgai n()函数用于求取系统的终值,将终值赋给变量 C,然后依据超调量的定义, 由 Y 和 C 计算出百分比超调量。上升时

    17、间(risetime)可利用MATLAB中的循环控制语句编制 M文件来获得。要求出上升时间,可用 while 语句编写以下程序得到:C=dcgain(G);n =1while y(n)Cn =n+1;endrisetime=t(n)在阶跃输入条件下,y的值由零逐渐增大,当以上循环满足 y=C时,推出循 环,此时对应的时刻即为上升时间。对于输出无超调的系统响应, 上升时间定义为输出从稳态值的 10%上升到 90% 所需时间,则计算程序如下:C=dcgain(G);n =1;while y(n)0.1*Cn=n+1;endm=1;while y(n)0.98*C)&(y(i)1.02*C)i =i

    18、-1 ;endsetllingtime=t(i)用矢量长度函数length()可求得t序列的长度,将其设定为变量i的上限值。G(s)= ; 例2已知二阶系统传递函数为 J | 1 i - I =利用下面的程序可得到阶跃响应如图所示及性能指标数据。G=zpk( ,-1+3*i,-1-3*i,3);% 计算最大峰值时间和它对应的超调量。C=dcgai n(G)y,t=step(G);Plot(t,y)gridY,k=max(y);timetopeak=t(k)perce ntovershoot=100*(Y-C)/C % 计算上升时间。n=1;while y( n)0.98*C)&(y(i) t=

    19、0:0.1:40; num=1; den=1,0.3,1; impulse( nu m,de n, t); grid;其相应结果为:-0.60f I;11f f 11J/i i1 JImpulse Response-0.451015 20 25Time (seconds)30 35 408 6 4 o o o2 0 2o 0例4:求下列系统的单位冲激响应:G(s)二1s2 s 1解: Matlab命令为:t=0:0.1:10; num=1; den=1 1 1; y,x,t=impulse(num,den,t) plot(t,y);grid xlabel(Timesect) ylabel(y)

    20、响应结果为:0.60.5 0.4 0.3 j y0.2 0.1 0 -0.1 0123456789 10Timesect224任意函数作用下系统的响应 用线性仿真函数Isim来实现,其调用格式为:y=lsim(sys,u,t)式中:sys为系统数学模型;y(t)为系统输出响应;u为系统输入信号;t为仿时间 例5:已知闭环系统传递函数为:C(s)R(s)=G(s)二103 2s3 0.3s2 1对正弦输入r(t)二sin(t),求输出响应 解:Matlab命令如下:num=1;den=1,0.3,1.0; y=tf( nu m,de n); t=0:0.1:20;u=s in( t); c=lsim(y,u,t);plot(t,c);grid;xlabel(t sec);ylabel(i nput and output) 其响应结果如下图:4四、 实验步骤1运行Matlab软件;2、 在其命令窗口中输入响应的命令或程序;3、 观察并记录。五、 实验习题对课本122页题3.14的系统求其单位阶跃响应的最大值,峰值时间和它对应的超调量,上升时间 并与手工计算结果进行比较


    注意事项

    本文(MATLAB系统模型建立和动态特性分析实验.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开