- 1、本文档共85页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六讲 连续系统仿真概述
作业讲解 [x,y]=meshgrid(-8:.5:8); R=sqrt(x.^2+y.^2)+eps; z=sin(R)./R;surf(x,y,z, FaceColor,red,EdgeColor,none);camlight left 追击敌机问题 敌机在100KM高处,速度Vb=20km/min 我机追击Vf=30km/min 每分钟改变一次航向,使机头对准敌机,相距10公里可以攻击。12min内,敌机逃脱,则任务失败。 Xb=Vb*t Yb=100 Xf’=Vf*cosθ Yf’=Vf*sinθ tanθ=(100-Yf)/(Xb-Xf) 描述方程-》龙格库塔法求解位置-》求解我机角度及位置-》判断距离时间-》end 二阶系统:汽车轮子悬置系统 y’’(t)+p1y’(t)+y(t)=1.0 y’’(t)+p1y’(t)+y(t)=1.0 X1=y X2=y’ X3=y” X’1=X2 y”(t)=X’2=-X1-p1X2+1 1.5.1传递函数 1.5.2传递函数的特征根及零极点图 1.5.3 控制系统的方框图模型 1.5.4 控制系统的零极点模型 1.6 用MATLAB和SIMULINK进行瞬态响应分析 1.6.1 单位脉冲响应 当输入信号为单位脉冲函数δ(t)时,系统输出为单位脉冲响应,MATLAB中求取脉冲响应的函数为impulse( ),其调用格式为 [y,x,t]=impulse(num,den,t) 或 impulse(num,den) 式中G(s)=num/den; t为仿真时间; y为时间t的输出响应;x为时间t的状态响应。 1.6.2 单位阶跃响应 1.6.3 斜坡响应 在MATLABA中没有斜坡响应命令,因此,需要利用阶跃响应命令来求斜坡响应。根据单位斜坡响应输入是单位阶跃输入的积分。当求传递函数为的斜坡响应时,可先用除得,再利用阶跃响应命令即可求得斜坡响应。 1.6.4 任意函数作用下系统的响应 练习 一个导弹M,两次飞行速度1000m/s和800m/s,飞行时始终对准速度为500m/s的沿直线飞行的目标A,导弹发射点在目标运动方向的前(3000m, 4000m )方,求导弹轨迹和加速度。导弹速度Vm,目标速度Vt,相对速度Vr=Vm-Vt function gh=gh(t,z) global vt vm gh=[0;0]; gh(1)=-vt-vm*z(1)/sqrt(z(1)^2+z(2)^2); gh(2)=-vm*z(2)/sqrt(z(1)^2+z(2)^2); V0=50;初始发射角度30度;仿真时间5,采用ode45(龙格库塔法4阶(5阶)) y0=0;x0=0; v0=50; angle=30; tf=5; vx0=v0*cos(angle*(pi/180)); vy0=v0*sin(angle*(pi/180)); r0=[0;0;vx0;vy0]; [t,r]=ode45(gs,[0,tf],r0) plot(r(:,1),r(:,2)),hold on xmax=min(r(find(r(:,2)0),1)) plot([0,200],[0,0]) grid 反过来,若已知系统的传递函数,求取系统状态空间表达式的调用格式为 [A,B,C,D]=tf2ss(num,den) 例如系统的传递函数为 系统的状态空间表达式为 num=[1,2,3]; den=[1,3,6,1]; [A,B,C,D]=tf2ss(num,den) A= -3 -6 -1 1 0 0 0 1 0 B = 1 0 0 C = 1 2 3 D = 0 返回 例 试求下列系统的单位脉冲响应 MATLAB命令为: t=[0:0.1:40]; num=[1]; den=[1,0.3,1]; impulse(num,den,t); grid; title(Unit-impulse Response of G(s)=1/(s^2+0.3s+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(‘t’); ylable(‘y’); 其响应结果如图所示。
文档评论(0)