《哈工大matlab期末考试题试题与答案(95分)(共23页).doc》由会员分享,可在线阅读,更多相关《哈工大matlab期末考试题试题与答案(95分)(共23页).doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上春季学期MATLAB期末作业学院:机电工程学院 专业:机械制造设计及其自动化 学号: 班号: 姓名:2013年春季学期MATLAB 课程考查题姓名: 学号:学院: 机电学院 专业: 机械制造一、 必答题:1. matlab常见的数据类型有哪些?各有什么特点?常量:具体不变的数字变量:会根据已知条件变化的数字字符串:由单引号括起来的简单文本复数:含有复数的数据2. MATLAB中有几种帮助的途径? (1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器;(2)help命令:在命令窗口键入“help” 命令
2、可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数(4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。3. Matlab常见的哪三种程序控制结构及包括的相应的语句?1. 顺序结构:数据输入A=input(提示信息,选项) 数据输出disp(X) 数据输出fprintf(fid,format,variables
3、) 暂停pause 或 pause(n)2. 选择结构:If语句:if expression (条件) statements1(语句组1)else statements2(语句组2)EndSwitch 语句:switch expression (表达式) case value1 (表达式1) statement1(语句组1) case value2 (表达式2) statement2(语句组2) . . case valuem (表达式m) statementm(语句组m) otherwise statement (语句组)end3. 循环结构:For循环:for variable=expre
4、ssion(循环变量) statement(循环体)endWhile循环:while expression (条件) statement(循环体)end4. 命令文件与函数文件的主要区别是什么? 命令文件:不接受输入参数,没有返回值,基于工作空间中的数据进行操作, 自动完成需要花费很多时间的多步操作时使用。函数文件:可以接受输入参数,可以有返回值,默认时,文件中参数的作用范围只限于函数内部,扩展MATLAB语言功能时使用 。5. 什么是全局变量和局部变量?全局变量:作用域是在整个MATLAB工作空间,即全程有效,所有函数都可以对其进行存取和修改,定义全局变量是函数之间传递信息的手段。局部变量:
5、函数文件变量一般是局部变量,与其他函数和matlab工作空间是隔离的。即在一个函数文件中定义的变量不能被另一个函数文件引用。如果在若干函数中,把某个变量定义为全局变量,那么这些函数可以共用这个变量。6. 数据插值和曲线拟合区别?曲线拟合研究的是如何寻找平滑曲线以最好的表现带噪声的测量数据,但不要求拟合曲线穿过这些测量数据点;插值是研究如何平滑的估算出基准数据之间的其他点的函数值,所以插值所得曲线一定要穿过基准数据。7. 数值运算与符号运算的区别?数值运算:1. 其运算的元素是数值;2. 在运算过程中必须先对变量进行赋值,然后才能参加运算;3. 其结果以数值形式出现。符号运算:1. 其运算的元素
6、是符号;2. 在运算过程中无须对变量进行赋值就可参加运算;但是必须先定义符号变量;3. 其结果以符号形式出现。8. GUI开发环境中提供了哪些方便的工具?各有什么用途? 布局编辑器(Layout Edtor)在图形窗口中创建及布置图形对象;几何排列工具(Alignment Tool)调整各对象之间的几何关系和位置;属性查看器(Property Inspector)查询并设置对象的属性值;对象浏览器(Object Browser)用于获得当前Matlab窗口中图形对象句柄的分级排列;菜单编辑器(Menu Editor)建立和编辑主菜单和图形对象鼠标右键菜单Tab顺序编辑器(Tab Order E
7、ditor)用于设置当用户按下键盘上的Tab键时,对象被选中的先后顺序。9. 简述Simulink建立子系统的两种方法及其子系统封装的4个选项1、 使用Subsystems模块库中的Subsystem模块建立子系统,首先构成系统的整体模型,然后编辑空的子系统内的模块。(注意,对于多输入与多输出子系统而言,需要使用Sources模块库中的In1输入虚模块与Sinks模块库中的Out1输出虚模块来实现。)2、 首先选择能够完成一定功能的一组模块,然后选择Simulink模型创建编辑器中Edit菜单下的Create Subsystem,即可建立子系统并将这些模块封装(到此子系统中,Simulink自
8、动生成子系统的输入与输出端口。)3、 Icon项 Parameters Initialization标签页 Documentation标签页10. 分别采用函数 fix、floor、ceil和round对A= -1.95,-1.25,1.45,1.85取整,并说明这些取整函数的区别。fix函数:结尾取整Ceil函数:向上取整Floor函数:向下取整Round函数:四舍五入11. 求A=1,2,3;4,5,6;7,8,9矩阵的秩,迹,特征值和特征向量、范数和方阵的条件数;并求A和a= magic(5)矩阵行列式,逆矩阵和伪逆矩阵,并说明逆矩阵和伪逆矩阵区别。 A=1,2,3;4,5,6;7,8,
9、9;rank=rank(A)trace=trace(A)V,D=eig(A)norm=norm(A)cond=cond(A)结果:rank = 2 trace = 15 V = -0.2320 -0.7858 0.4082 -0.5253 -0.0868 -0.8165 -0.8187 0.6123 0.4082 D = 16.1168 0 0 0 -1.1168 0 0 0 -0.0000 norm =16.8481 cond =3.8131e+16A=1,2,3;4,5,6;7,8,9a=magic(5)detA=det(A)invA=inv(A)pinvA=pinv(A)deta=det
10、(a)inva=inv(a)pinva=pinv(a)如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A同型的矩阵B,使得:ABA=ABAB=B此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。12. 已知:a=6; A=pascal(4); B=randn(4);求A*B, A.*B, B/A,B./A, BA, B.A ,A.a, Aa,并且说明数组和矩阵在上述运算中的区别。 a=6; A=pascal(4); B=randn(4);A*BA.*BB/AB./ABAB.AA.aAaans = -3.3843 -0.7710 0.2884 -0.
11、4321 -5.7672 -3.9198 1.6239 1.0912 -6.7793 -10.8330 4.2172 4.3328 -4.9821 -23.2219 8.3812 9.9203ans = -1.0689 0.3252 -0.1022 -0.8649 -0.8095 -1.5099 -0.7243 -0.1202 -2.9443 4.1109 1.9152 -1.6488 1.4384 -6.8461 3.1286 12.5541ans = -5.7707 9.4959 -6.2804 1.4863 0.3558 -3.1462 2.7419 -0.7610 -18.5572 3
12、2.8440 -23.1637 5.9327 16.6463 -34.1498 25.8257 -6.8838ans = -1.0689 0.3252 -0.1022 -0.8649 -0.8095 -0.3775 -0.0805 -0.0075 -2.9443 0.4568 0.0532 -0.0165 1.4384 -0.4279 0.0313 0.0314ans = -0.6348 -1.6245 -2.9494 -4.6346 -1.1688 -2.9031 -5.9575 -10.7762 1.7679 6.3637 16.2994 33.0876 -1.0201 -0.9924 -
13、1.6780 -3.3918ans = -0.9356 3.0751 -9.7807 -1.1562 -1.2353 -2.6493 -12.4251 -133.1057 -0.3396 2.1893 18.7966 -60.6505 0.6952 -2.3371 31.9633 31.8620ans = 1 1 1 1 1 64 729 4096 1 729 46656 1 4096 ans = 数组运算是指数组对应元素之间的运算,也称点运算.矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算,所以数组乘法、乘方和除法的运算符前特别加了一个点。(1)对于乘法、乘方和除法等三种运
14、算,矩阵运算与数组运算的运算符及含义都不同:矩阵运算按线性变换定义,使用通常符号;数组运算按对应元素运算定义,使用点运算符;(2)数与矩阵加减、矩阵除法在数学是没有意义的,在MATLAB中为简便起见,定义了这两类运算13. 分别采用不循环语句和循环语句For和while计算级数:S=1+6+62+63+633 ,并且说明循环语句For和while之间的区别。While 语句s=0;i=0;while i for i=1:1:6for j=1:1:6A(i,j)=1./(i+j-1);endend AA = 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.
15、5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 hilb(6)ans = 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.5000 0.3333 0.2500 0.2000 0.1667 0.
16、1429 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909两者相同。15. 分别求多项式a(x)=x4+8x3-10和多项式b(x)= 2x2-x+3的乘以和除以结果,同时求这两个多项式乘积的导函数和两个多项式除法的导函数。syms xp1=1 8 0 0 -10;p2=2 -1 3;w = conv(p1,p2
17、); k = polyder(p1,p2);Q,r = deconv(p1,p2); p,q = polyder(p1,p2); a=poly2str(p1,x) b=poly2str(p2,x) ab=poly2str(w,x) dab=poly2str(k,x) e=poly2str(Q,x) de=poly2str(p,x) g=poly2str(r,x) dg=poly2str(q,x)16. 已知多项式P(x)=x4+8x3,分别用polyval和polyvalm函数计算这多项式在x=-1,1.2;2,-1.8处的值,它们区别是什么? p=1,8,0,0,0; x=-1,1.2;2,
18、-1.8; polyval(p,x) polyvalm(p,x) x可以是一个或者一个向量,在这两种情况下,polyval计算在X中任意元素处的多项式p的估值,计算在x=-1、1.2、2、-1.8的值,结果以矩阵的形式表示出来。而polyvalm运算时把x=A矩阵直接带入多项式进行运算,进行矩阵运算,结果也是一个矩阵。17. 用2次和6次多项式拟合在0,2区间的函数y=cos(x) *exp(x/20),并将原始数据和拟合结果绘制在一个图中,并且进行图形标注。x=0:0.1:2;y=cos(x) .*exp(x/20);p1=polyfit(x,y,2);y1=polyval(p1,x);p2
19、=polyfit(x,y,6);y2=polyval(p2,x);hold on;plot(x,y,or-);plot(x,y1,b-);plot(x,y2,g*);xlabel(x);ylabel(y);legend(原始数据,二次多项式拟合,六次多项式拟合)18. 有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:pi/5:4*pi,用三次样条法进行插。x=0:pi/5:4*pi;y=sin(x).*exp(-x/10);xi=0:0.1:4*pi;yi_spline=interp1(x,y,xi,spline);plot(x,y,ro,xi,yi_spline,b-)
20、;title(三次样条插值);19. 求解恰定方程组,采用左除法、求逆法、lu 和qr 分解法求数值解 2x+y-3z+w=11 x-2y+7w=-7 2y+z-w=5 x+4y-z-2w=0A=2,1,-3,1;1,-2,0,7;0,2,1,-1;1,4,-1,-2;B=11;-7;5;0;x=ABx=pinv(A)*BL,U=lu(A);x=U(LB)Q,R=qr(A); x=R(QB)20. 设在同一图形窗口采用子图的形式绘制不同图形,条形图、阶梯图、杆图和对数坐标图。x=-pi:0.1:pi;y=1./(1+exp(-x);subplot(2,2,1);bar(x,y,g);title
21、(bar(x,y,g);axis(0,7,-2,2);subplot(2,2,2);stairs(x,y,b);title(stairs(x,y,b);axis(0,7,-2,2);subplot(2,2,3);stem(x,y,k);title(stem(x,y,k);axis(0,7,-2,2);subplot(2,2,4)loglog(x,y)二、 选答题(在下列题中选答4题):1.符号运算(必选两道) (1) 求微分方程syms t y;dsolve(Dy = (t2+y2)/2/t2)ans = -t*(1/(C4 + log(t)/2) - 1)(2) 求代数方程的解x=solve
22、(1/(x+2)+a=1/(x-2)x = (2*(a*(a + 1)(1/2)/a -(2*(a*(a + 1)(1/2)/a2. 求解方程的数值解(必选两道)(1)function yp =text2(x)%UNTITLED5 Summary of this function goes here% Detailed explanation goes hereyp = x-sin(x)-10x;end z = fzero(text2,0.5) z = NaN(2) 非线性方程组在(0.5,0.5) 附近的数值解function q=myfun1(p)x=p(1);y=p(2);q(1)=2*
23、x2-0.3*cos(y);q(2)=3*y2-0.6*cos(x);endx=fsolve(myfun1,0.5,0.5,optimset(Display,off)x = 0.3691 0.4319(3) 常微分方程数值解(4) 采用牛顿-科特斯法数值求解定积分3. 采用GUI设计工具设计用户界面,要求设计一个带有两个按钮和一个坐标轴的图形用户界面,当用鼠标点击两个按钮时,分别在坐标轴内画cylinder和peaks 两个图形。4. ,分别绘制它的网络图、带等高线的空间曲面、屏蔽边界面的空间曲面和表面图x,y=meshgrid(-8:.5:8);z=sin(x.2+y.2)./(x.2+y.
24、2); mesh(x,y,z)subplot(2,2,1), plot3(x,y,z)title(plot3 (x,y,z)subplot(2,2,2), mesh(x,y,z)title(mesh (x,y,z) subplot(2,2,3), surf(x,y,z)title(surf (x,y,z) subplot(2,2,4), surf(x,y,z), shading interptitle(surf (x,y,z), shading interp)5. 有初始状态为0的二阶微分方程,其中u(t)是单位阶跃函数,建立系统并仿真,并用scope模块观察结果。6. 编程:某商场对顾客所购
25、买的商品实行打折销售,标准如下(商品价格用price来表示): price200 没有折扣 200price500 3%折扣 500price1000 5%折扣 1000price2500 8%折扣 2500price5000 10%折扣 5000price 14%折扣输入所售商品的价格,求其实际销售价格。price=input(请输入商品价格);a=price;switch fix(a/100) case 0,1 rste=0; case 2,3,4 rate=0.03; case num2cell(5:9) rate=0.05; case num2cell(10:24) rate=0.08; case num2cell(25:49) rate=0.1; otherwise rate=0.14;enda=a.*(1-rate)专心-专注-专业