中南大学matlab试卷.docx
上传人:王子****青蛙 上传时间:2024-09-12 格式:DOCX 页数:8 大小:1.4MB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

中南大学matlab试卷.docx

中南大学matlab试卷.docx

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(2012年5月)院系:物理与电子年级:电信09级班级:3班学号:1404090311姓名:徐云霄题号12345总成绩评卷人得分说明:请保留题目,在每个题目解答部分的空白处依次作答,并写清楚每个小题的题号。作答要给出程序代码、仿真结果。x01、(30分)如下图所示的弹簧振子系统在光滑的水平面运动,已知弹簧振子的质量,弹簧的倔强系数。在时弹簧振子位于,速度为。假设该系统在时受到沿正方向的策动力的作用,并且弹簧所受空气等阻力为,其中,为弹簧振子的运动速度。因此,该运动方程可以表示为:。(1)利用Dsolve函数,编写程序代码求解弹簧振子运动方程的通解,并仿真弹簧振子的位置图像。(5分)(2)利用常微分方程的数值解法编写程序代码,利用子图绘制函数subplot(3,2,n)在同一窗口分别绘制弹簧振子:(10分)(a)位置图像(要求标注:线的颜色(红色)、线型(-.点划线)、线宽(2)、数据点标注形状(*));(b)速度图像;(c)加速度图像;(d)弹簧振子动能图像;(e)弹簧振子势能图像;(f)弹簧振子能量图像。以上绘图分别要求标注对应的标题(如:位置图像、速度图像……)。(3)构建simulink仿真模块,在同一个窗口利用三个坐标系按顺序分别仿真弹簧振子的加速度图像、速度图像、位置图像。(5分)(4)利用s-function,构建simulink仿真模块,在同一个窗口利用三个坐标系按顺序分别仿真弹簧振子的位置图像、速度图像、加速度图像。(s-function函数程序只需给出编写的主要代码)(10分)解答:第一小问:symsxt>>y=dsolve('0.2*D2x=-0.1*Dx-0.2*x+0.1*exp(-0.2*t)','t')y=exp(-1/4*t)*sin(1/4*15^(1/2)*t)*C2+exp(-1/4*t)*cos(1/4*15^(1/2)*t)*C1+25/47*exp(-1/5*t)第二小问:首先求解运动方程的特解y=dsolve('0.2*D2x=-0.1*Dx-0.2*x+0.1*exp(-0.2*t)','x(0)=1','Dx(0)=-2','t')y=-334/705*exp(-1/4*t)*sin(1/4*15^(1/2)*t)*15^(1/2)+22/47*exp(-1/4*t)*cos(1/4*15^(1/2)*t)+25/47*exp(-1/5*t)进行仿真t=0:0.1:20;y=-334/705*exp(-1/4*t).*sin(1/4*15.^(1/2)*t)*15^(1/2)+22/47*exp(-1/4*t).*cos(1/4*15^(1/2)*t)+25/47*exp(-1/5*t);%将求出的特解转化为矩阵形式。>>plot(t,y,'r')仿真之后的效果图如下程序代码如下:functionxdot=sys(t,x)xdot=[0.5*x(3)-0.75*x(2)-0.35*exp(-0.2*t);-0.5*x(2)-x(3)+0.5*exp(-0.2*t);x(2)];t0=0;tf=20;[t,x]=ode45('sys',[t0tf],[1-21]);Ek=1/2*0.2*x(:,2).^2;Ep=1/2*0.2*x(:,3).^2;E=Ek+Ep;subplot(231),plot(t,x(:,3),'-.r*'),title('位置图像');subplot(232),plot(t,x(:,2),'-.r*'),title('速度图像');subplot(233),plot(t,x(:,1),'-.r*'),title('加速度图像');subplot(234),plot(t,Ek,'-.r*'),title('弹簧振子动能图像');subplot(235),plot(t,Ep,'-.r*'),title('弹簧振子势能图像');>>subplot(236),plot(t,E,'-.r*'),title('弹簧振子能量图像');运行后的图像如下:(3)构建simulink仿真模块如下图仿真之后的结果如下图从上之下依次为位置图像,速度图像,加速度图像。s-function函数程序的主要代码如下:sizes=simsizes;sizes.NumContStates=3;sizes.NumDiscStates=0;sizes.NumOutputs=3;sizes.NumInputs=1;sizes.DirFeedthrough=1;sizes.NumSampleTimes=1;%atleastonesampletimeisneededsys=simsizes(