MATLAB控制系统仿真-PPT课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《MATLAB控制系统仿真-PPT课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 控制系统 仿真 PPT 课件
- 资源描述:
-
1、MATLABMATLAB控制系统仿真控制系统仿真提纲v一、弹簧一、弹簧-重物重物-阻尼器系统阻尼器系统v二、传递函数二、传递函数v三、结构图模型三、结构图模型引言 MATLAB是一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算和图形显示于一体,构成了一个方便的界面友好的用户环境。 控制系统的分析与设计方法,都是以数学模型为基础进行的。MATLAB可以用于以传递函数形式描述的控制系统。 在本节中,首先举例说明如何使用MATLAB进行辅助分析。然后讨论传递函数和结构图。 一、弹簧一、弹簧-重物重物-阻尼器系统阻尼器系统 弹簧重物阻尼器动力学系统如图2-1所示。重物M的位 移由y(t)表示,
2、用微分方程描述如下:22d( )d ( )( )( )ddy ty tMBKy tf ttt该系统在初始位移作用下的瞬态响应为:22(0)( )sin(1)1ntnyy tet 其中 cos-1 ,初始位移是y(0)。 系统的瞬态响应当1时为欠阻尼,当时为过阻尼,当1时为临界阻尼。过阻尼情况:y(0)=0.15 m n= (弧度/秒) ( )欠阻尼情况:y(0)=0.15 m n= (弧度/秒) ( )2132 22 ,3KBMM2212 22 ,1KBMM 利用MATLAB程序unforced.m,可以显示初始位移为y(0)的物体自由运动曲线,如图2-63所示。 在unforced.m程序中
3、,变量y(0),n,t, 1和 2的值由指令直接输入工作区,然后运行unforced.m程序就可以产生响应曲线。 y0=0.15;wn=sqrt(2);zeta1=3/(2*sqrt(2); zeta2=1/(2*sqrt(2);t=0:0.1:10;unforced (a)MATLAB指令窗口 * 计算系统在给定初始条件下的自由运动t1=acos(zeta1)*ones(1,length(t);t2=acos(zeta2)*ones(1,length(t);c1=(y0/sqrt(1-zeta12); c2=(y0/sqrt(1-zeta22);y1=c1*exp(-zeta1*wn*t)s
4、in(wn*sqrt(1-zeta12)*t+t1);y2=c2*exp(-zeta2*wn*t)sin(wn*sqrt(1-zeta22)*t+t2); * 计算运动曲线的包络线bu=c2*exp(-zeta2*wn*t);bl=-bu; * 画图plot(t,y1, -,t,y2,-,t,bu, -,bl, -),gridxlabel(Timesec), ylabel(y(t) Displacementm)text(0.2,0.85,oeverdamped zeta1=,num2str(zeta1), )text(0.2,0.80,underdamped zeta2=,num2str(ze
5、ta2), ) (b)分析弹簧重物阻尼器的MATLAB程序unforced.m图2-63 分析弹簧重物阻尼器的MATLAB指令图2-64 弹簧重物阻尼器的自由运动曲线 在欠阻尼和过阻尼情况下的响应曲线如图2-64所示 : MATLAB可分析以传递函数形式描述的系统。分子多项式和分母多项式都必须在MATLAB指令中指定。 在MATLAB中多项式由行向量组成,这些行向量包含了降次排列的多项式系数。例如多项式p(s)=1s3+3s2+0s1+4s0,按图2-65的格式输入p=1 3 0 4, p=1 3 0 4;r=roots(p)r= -3.3553e+00 1.7765e-01+1.0773e+
6、00j 1.7765e-01-1.0773e+00jp=poly(r)p= 1.000 3.000 0.000-0.000j 4.000+0.000j图2-65 输入多项式并求根 矩阵乘法由MATLAB的conv()函数完成。把两个多项式相乘合并成一个多项式n(s),即: n(s)= (3s2 +2s +1) (s +4) = 3s3 +14s2 +9s +4 与此运算相关的MATLAB函数就是conv()。函数polyval()用来计算多项式的值。多项式n(s)在s = -5处值为n (-5) = -66,见图2-66。p=3 2 1;q=1 4;n=conv(p,q)n= 3 14 9 4
7、value=polyval(n,-5)value= -66图2-66 MATLAB的conv()函数和polyval()函数 设传递函数为G(s)=num/den,其中num和den均为多项式。利用函数:二、传递函数二、传递函数P , Z=pzmap(num , den) 可得G(s)的零极点位置,即P为极点位置列向量,Z为零点位置列向量。该指令执行后自动生成零极点分布图。 考虑传递函数:23261( )331sG ssss 和(1)(2)( )(2 )(2 )(3)ssH ssi si s图2-67 零极点图 传递函数G(s)/H(s)的零极点图如图2-67所示,相应的MATLAB指令如图2
8、-68所示。 numg=6 0 1;deng=1 3 3 1;z=roots(numg)z= 0+0.4082j0-0.4082j p=roots1(deng)p= -1 -1 -1n1=1 1; n2=1 2; d1=1 2*j; d2=1 2*j; d3=1 3;numh=conv(n1,n2); denh=conv(d1,conv(d2,d3);num=conv(numg,denh); den=conv(deng,numh);printsys(num,den)num/den= 6s5+18s4+25s3+ 图2-68 绘制零极点图指令三、三、结构图模型结构图模型 一个开环控制系统可以通过
9、G1 (s)与G2 (s)两个环节的串联而得到,利用series()函数可以求串联连接的传递函数,函数的具体形式为: num,den= series(num1,den1, num2,den2) 例如G1 (s)和G2 (s)的传递函数分别为:11( )2sG ss221( )500G ss12232( )111( )( )( )2 5005001000C sssG s G sR sssss则串联函数的用法示于图2-69: num1=1;den1=500 0 0;num2=1 1;den2=1 2;num,den=series(num1,den1,num2,den2);printsys(num,
展开阅读全文