Matlab上机操作作业(3)参考答案.doc
如有侵权,请联系网站删除,仅供学习与交流Matlab上机操作作业(3)参考答案【精品文档】第 2 页上机操作(3)内容:数值计算及M文件编程一、结合教材第4章、第6章内容以及实验指导书实验3和实验4 内容掌握常见数值计算和M文件编写。二、 完成以下习题,并按照要求将作业提交。(1) 将调试通过的程序序列复制到作业题目下方,并将文件保存为word文档,文件名为:姓名+班级学号末两位数 (如:王丹妮9301)(2) 作业提交方式:A 现场网上提交(鼠标右点击电脑右下方的人头或燕子标记,按照菜单操作即可。B 若不能提交,发送至我的邮箱363586609.发送时邮件标题为:文件名作业3(如:王丹妮9301作业3)1. 在同一个图形窗中叠加画出:(1)半径为2的圆及其内接正六边形。(2) 长短轴分别为3和2的椭圆%参考答案t=linspace(0,2*pi,50);x=2*cos(t);y=2*sin(t);plot(x,y);hold ont=0:2*pi/6:2*pi;x=2*cos(t);y=2*sin(t);plot(x,y,'r');t=linspace(0,2*pi,50);x=3*cos(t);y=2*sin(t);plot(x,y,'m');2. 采用数值计算方法,画出在区间曲线,并计算。%参考答案dt=0.01;t=0:dt:10;t(1)=eps; % 避免sin(t)/t除数为0溢出;ft=sin(t)./t;sx=cumtrapz(ft);y45=sx(round(4.5/dt)+1);plot(t,sx);xlabel('x');ylabel('Sx');hold on;plot(4.5,y45,'r.','MarkerSize',24);text(5,y45,'y|t=4.5');grid onhold off3分别用数值法和符号法求微分方程情况下的解,画出y(t)曲线,其中t0,5;并求。%参考答案符号法:syms ty=dsolve('D2y-3*Dy+2*y=1','y(0)=1,Dy(0)=0','t');y0=subs(y,t,0.5);tvalue=0:0.1:5;y5=subs(y,t,tvalue);plot(tvalue,y5); 或采用符号画图函数:ezplot(y,0,5);xlabel('t');ylabel('y(t)');text(0.5,y0,'y(t=0.5) = ',num2str(y0);数值法: function xdot=DxDt(t,x)xdot=x(2);3*x(2)-2*x(1)+1 保存该文件然后输入:tspan=0,5;x0=1;0;tt,xx=ode45(DxDt,tspan,x0);plot(tt,xx(:,1)xlabel('t'),title('y(t)')4. 请分别写出用for 和while 循环语句计算的程序。此外,还请写出避免循环的数值、符号计算程序. % 参考答案数组法:i=0:1e6;K=sum(0.2.i) 符号法:syms k; f=0.2k;K=symsum(f,1,1e6); 循环法:function K=qiuhe(N) i=0;K=0 K=0; while i<=1000000 for i=0:N 或 K=K+0.2i; K=K+0.2i; i=i+1; end; end