《matlab大作业.doc》由会员分享,可在线阅读,更多相关《matlab大作业.doc(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流matlab大作业.精品文档.2014年春季学期MATLAB 课程考查题一. 必答题 (80分)1. 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有何区别?(2)答:方法一:在MATLAB命令窗口中输入editpath或pathtool命令或通过【File】/【SetPath】菜单,进入“设置搜索路径”对话框,通过该对话框编辑搜索路径。方法二:在命令窗口执行“path(path,D:Study )”,然后通过“设置搜索路径”对话查看“D:Study”是否在搜索路径中。方法三:在命令窗口执行“addpathD:Study-
2、 end”,将新的目录加到整个搜索路径的末尾。如果将end改为begin,可以将新的目录加到整个搜索路径的开始。区别:当前文件目录是正在运行的文件的目录,显示文件及文件夹的详细信息,且只有将文件设置为当前目录才能直接调用。搜索路径中的文件可以来自多个不同目录,在调用时不用将其都设置为当前目录,为同时调用多个文件提供方便。2. 创建符号变量和符号表达式有哪几种方法?(4)答:定义符号变量:方法一:sym函数,可以定义单个符号变量,调用格式为:符号量名=sym(符号字符串);方法二,syms函数,定义多个符号变量,调用格式:syms 符号变量名1 符号变量名2 符号变量名3 符号变量名4 。空格隔
3、开。定义符号表达式:方法一:用单引号定义符号表达式;方法二:用sym函数定义符号表达式;方法三:用已经定义好的符号变量组成符号表达式;3. GUIDE提供哪些常用的控件工具,各有什么功能 ?(5分)答: 一、控件风格和外观 (1)BackgroundColor:设置控件背景颜色,使用R G B或颜色定义。 (2)CData:在控件上显示的真彩色图像,使用矩阵表示。 (3)ForegroundColor:文本颜色。 (4)String属性:控件上的文本,以及列表框和弹出菜单的选项。 (5)Visible:控件是否可见。二、对象的常规信息 (1)Enable属性: 表示此控件的使能状态,设置为on
4、”,表示可选,为“off”时则表示不可选。 (2)Style:控件对象类型。 (3)Tag:控件表示(用户定义)。 (4)TooltipString属性:提示信息显示。当鼠标指针位于此控件上时,显示提示信息。 (5)UserData:用户指定数据。 (6)Position:控件对象的尺寸和位置。 (7)Units:设置控件的位置及大小的单位 (8)有关字体的属性,如 FontAngle, FontName等。三、控件回调函数的执行 (1)BusyAction:处理回调函数的中断。有两种选项:即Cancel:取消中断事件,queue:排队(默认设置)。 (2)ButtonDownFcn属性:按钮
5、按下时的处理函数。 (3)CallBack属性:是连接程序界面整个程序系统的实质性功能的纽带。该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串进行求值。 (4)CreateFcn:在对象产生过程中执行的回调函数。 (5)DeleteFcn:删除对象过程中执行的回调函数。 (6)Interruptible属性:指定当前的回调函数在执行时是否允许中断,去执行其他的函数。四、控件当前状态信息 (1)ListboxTop:在列表框中显示的最顶层的字符串的索引。 (2)Max:最大值。 (3)Min:最小值。 (4)Value:控件的当前值。4. 建立不同数据类型的变
6、量:包括双精度的数值型(numeric)、符号型(sym)、结构体(structure)、单元型(cell)、字符串型(char),函数句柄(function handle)、逻辑型(logical),并且采用whos列出各变量名,变量的数组维数,占用字节数,变量的类别。(4分)答:pp=3.14;b=sym(sdlfkjj);d=,1;cv,linspace(1,5,5);e=e;fhandle=sin;g = rand(5); g(g0)=0;whos Name Size Bytes Class Attributes pp 1x1 8 double b 1x1 62 sym d 2x2 3
7、20 cell e 1x6 12 char fhandle 1x1 16 function_handle g 5x5 200 double 5. 求矩阵的秩,迹,特征值和特征向量,并且对矩阵进行LU分解、QR分解及Chollesky分解(3分)。答: a=9 1 2;5 6 3;8 2 7;z=rank(a)j=trace(a)c d=eig(a)l u=lu(a)q r=qr(a)rr p=chol(a)z = 3j = 22c = -0.4330 -0.2543 -0.1744 -0.5657 0.9660 -0.6091 -0.7018 0.0472 0.7736d = 13.5482
8、0 0 0 4.8303 0 0 0 3.6216l = 1.0000 0 0 0.5556 1.0000 0 0.8889 0.2041 1.0000u = 9.0000 1.0000 2.0000 0 5.4444 1.8889 0 0 4.8367q = -0.6903 0.3969 -0.6050 -0.3835 -0.9097 -0.1592 -0.6136 0.1221 0.7801r = -13.0384 -4.2183 -6.8260 0 -4.8172 -1.0807 0 0 3.7733rr = 3.0000 0.3333 0.6667 0 2.4267 1.1447 0
9、0 2.2903p = 06. 执行矩阵A和B下列的运算:A+5*cos(B)、A.*B、 A*B、A./B、B.A、A/B, BA,分别解释数组运算和矩阵运算的区别。(4分)答: A=4 12 20;12 45 78;20 78 136;B=1 2 3;4 5 6;7 8 9;A+5*cos(B)A.*BA*BA./BB.AA/BBAans = 6.7015 9.9193 15.0500 8.7318 46.4183 82.8009 23.7695 77.2725 131.4443ans = 4 24 60 48 225 468 140 624 1224ans = 192 228 264 7
10、38 873 1008 1284 1518 1752ans = 4.0000 6.0000 6.6667 3.0000 9.0000 13.0000 2.8571 9.7500 15.1111ans = 4.0000 6.0000 6.6667 3.0000 9.0000 13.0000 2.8571 9.7500 15.1111Warning: Matrix is singular to working precision. ans = NaN -Inf Inf NaN NaN NaN NaN -Inf InfWarning: Matrix is close to singular or b
11、adly scaled. Results may be inaccurate. RCOND = 1.541976e-018. ans = 11.3333 24.5000 65.6667 -18.6667 -28.0000 -93.3333 10.0000 14.5000 47.0000区别:一维数组相当于向量,二维数组相当于矩阵.所以矩阵是数组的子集l 数组的运算是指数组对应元素之间的运算,也称点运算;l 矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算是一致的;l 矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算。7. 求半径为r的圆的面积和周长,分别采用脚本文件和
12、函数文件进行编写, r值由input指令从键盘给出,数据的输出采用disp指令;并且说明脚本式文件和函数文件的特点。(5分)答:脚本文件:r=input(Please Input r: n);A=pi*r2;s=2*pi*r;disp(A);disp(s)Please Input r: 4 50.265525.1327函数:r=input(Please Input r: n);a s=zm(r);disp(a);disp(s);Please Input r: 4 50.2655 25.1327函数文件:functiona s=zm(r)a=r2*pi;s=2*pi*r;end区别:脚本式M文件
13、函数式M文件不接受输入参数,没有返回值。可以接受输入参数,可以有返回值。基于matlab基本工作空间中的数据进行操作,存储在工作空间,属于全局变量。默认时,文件中参数的作用范围只限于函数临时工作空间内部,属于局部变量。 自动完成需要花费很多时间的多步操作时使用。 扩展MATLAB语言功能时使用。 8. 级数求和:(1) 分别用for和while循环结构编写程序求和,并且说明for和while区别;答:for循环: ss=0;for k=1:64 ss=ss+1/(k*(k+1);endssss =0.9846while循环: ss=0;k=1;while k k=linspace(-3,3,5
14、0);y=shuzhi(x);rr=diff(y)rr =3*x2 - 4*exp(x) - 500*cos(x)函数shuzhi:function ss=shuzhi(x)ss=x.3-4.*exp(x)-sin(x)/0.002;end x=linspace(-3,3,100);y=x.3-4.*exp(x)-sin(x)/0.002;p=polyfit(x,y,3);d=polyder(p)d = 145.9691 -7.3927 -439.978813. 求方程组的根,分别采用数值运算fsolve和符号运算solve,数值运算的初始值为x0 = -5; -5,要求显示符号运算得到结构体
15、的每个元素的具体数值. (5分)答:数值运算fsolve:x=fsolve(dzya,-5,-5,optimset(Display,off)x = 0.5671 0.5671符号运算solve:syms x y;solve(2*x-y-exp(-x),-x+2*y-exp(-y)ans = x: 0.5671 y: 0.5671 14. 符号矩阵 (1) 简化符号矩阵然后求行列式、逆矩阵和秩; f=(4*x2+8*x)/y log(x)-exp(a*(x+y);33 sin(x)*cos(y)-cos(x)*sin(y); r,how = simple(f)r = (4*x*(x + 2)/y
16、, log(x) - exp(a*(x + y) 33, sin(x - y)how =simplify det(r)ans =(33*y*exp(a*x + a*y) + 4*x2*sin(x - y) - 33*y*log(x) + 8*x*sin(x - y)/y inv(r)ans = (y*sin(x - y)/(33*y*exp(a*(x + y) + 4*x2*sin(x - y) - 33*y*log(x) + 8*x*sin(x - y), (y*(exp(a*(x + y) - log(x)/(33*y*exp(a*(x + y) + 4*x2*sin(x - y) - 3
17、3*y*log(x) + 8*x*sin(x - y) -(33*y)/(33*y*exp(a*(x + y) + 4*x2*sin(x - y) - 33*y*log(x) + 8*x*sin(x - y), (4*x*(x + 2)/(33*y*exp(a*(x + y) + 4*x2*sin(x - y) - 33*y*log(x) + 8*x*sin(x - y) rank(r)ans =2(2) jx=int(r)jx = (4*x2*(x + 3)/(3*y), x*(log(x) - 1) - exp(a*x + a*y)/a 33*x, -cos(x - y) jy=int(r
18、,y,2,9) jy = 4*x*log(9/2)*(x + 2), 7*log(x) + (exp(a*x)*(exp(2*a) - exp(9*a)/a 231, cos(x - 9) - cos(2 - x)jxy=int(r,x,y)j = -(4*(x3 + 3*x2 - y3 - 3*y2)/(3*y), y*(log(y) - 1) - x*(log(x) - 1) + (exp(a*x + a*y) - exp(2*a*y)/a33*y - 33*x, cos(x - y) - 1(3)(10分) dx=diff(r,x)dx = (4*(x + 2)/y + (4*x)/y,
19、 1/x - a*exp(a*(x + y) 0, cos(x - y) dy2=diff(r,y,2)dy2 = (8*x*(x + 2)/y3, -a2*exp(a*(x + y) 0, -sin(x - y) dxy=diff(dx,y)dxy = - (4*(x + 2)/y2 - (4*x)/y2, -a2*exp(a*(x + y) 0, sin(x - y) 15. 椭圆的隐式方程为: ,它的参数方程可以表达为:x=a*cos() y=b*sin(),其中a=5,b=3;请用subplot在三个子图区域用不同的方法绘制椭圆曲线,要求为每幅子图形加上标题title和坐标轴标注,其中
20、(1)采用ezplot分别绘制椭圆隐式和参数方程在两个子图区域;(2)当a值由1变化到5时,采用plot绘制5条椭圆曲线在另一个子图区域中,t在-2,2范围,使用linspace命令取椭圆100个点,使用legend命令来标明每一条对应的a值曲线的图例。(10分)答:subplot(131);ezplot(y2/9+x2/25-1);title();xlabel(x);ylabel(y);syms t;subplot(132);ezplot(5*sin(t),0,2*pi);hold on;ezplot(3*cos(t),0,2*pi);axis(0 2*pi -6 6);xlabel(the
21、ta);ylabel(xy);title();subplot(133);title(a15);xlabel(x);ylabel(y);a=1;t=linspace(-2*pi,2*pi,100);x=a.*cos(t);y=3.*sin(t);plot(x,y,-);hold on;a=2;x=a.*cos(t);y=3.*sin(t);plot(x,y,-);a=3;x=a.*cos(t);y=3.*sin(t);plot(x,y,:);a=4;x=a.*cos(t);y=3.*sin(t);plot(x,y,-.);a=5;x=a.*cos(t);y=3.*sin(t);plot(x,y,
22、p);legend(a=1,a=2,a=3,a=4,a=5);二、选答题(必须选4道题,每题5分,总计20分)1. 符号运算(1) 分解因式 syms xy=x4-5*x3+5*x2+5*x-6;yy=factor(y)yy =(x - 1)*(x - 2)*(x - 3)*(x + 1) syms x y z;f=x2+y2+z2+2*(x*y+y*z+z*x);ff=factor(f)ff =(x + y + z)2(2) 化简表达式 syms a b;f=sqrt(a+sqrt(a2-b)/2)+sqrt(a-sqrt(a2-b)/2);ff=simplify(f)ff =(2(1/2)
23、*(a + (a2 - b)(1/2)(1/2) + (a - (a2 - b)(1/2)(1/2)/2 syms x y;z=sin(x)*cos(y)-cos(x)*sin(y);ff=simplify(z)ff =sin(x - y)(3) 求极限 syms x k;f=(1-1/x)(k*x);limit(f,x,inf)ans = 1/exp(k)2. 积分运算 (1)定积分运算:分别采用数值和符号运算 数值积分: s=quad(sqrt(1+cos(x),0,pi/2,1e-8)s = 2.0000符号积分: syms xy=sqrt(1+cos(x);r=int(y,0,pi/2
24、) r =2符号: syms x y;z=x2+y2;r=int(z,x,0,1)rr=int(r,y,0,1)r =y2 + 1/3rr =2/3数值: rr=dblquad(fxx,0,1,0,1)rr =2/3 (2) 不定积分运算 syms a b x y;z=sin(x/a)+b/y;r=int(z,x);rr=int(r,y)rr = b*x*log(y) - a*y*cos(x/a)3. 已知微分方程采用数值运算ode和符号运算dsolve求解: dsolve(D2x-1000*(1-x2)*Dx-x=0,x(0)=2,Dx(0)=0)Warning: Explicit solu
25、tion could not be found. In dsolve at 120ans = empty sym ode求解:t,y=ode45(fxyz,0,40,2;0);plot(t,y)4. 采用GUIDE工具设计椭圆(x=a*cos(t) y=b*sin(t))的用户界面, a和b值由编辑框输入,实现在坐标轴上显示椭圆曲线的目的。要求设计一个带有两个编辑框、一个坐标轴、一个按钮和相应的静态文本的图形用户界面,当用鼠标点击按钮时,在坐标轴内画出不同a和b值的椭圆曲线。function varargout = tuoyuan2(varargin)gui_Singleton = 1;gui
26、_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, tuoyuan2_OpeningFcn, . gui_OutputFcn, tuoyuan2_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_main
27、fcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction tuoyuan2_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject; guidata(hObject, handles);function varargout = tuoyuan2_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output;function a_Callb
28、ack(hObject, eventdata, handles)a = str2double(get(hObject, String);handles.a = a;guidata(hObject,handles) function a_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);end function b_Callbac
29、k(hObject, eventdata, handles)b = str2double(get(hObject, String);handles.b = b;guidata(hObject,handles)function b_CreateFcn(hObject, eventdata, handles)if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);endfunction jisuan_Callback(hObject, eventdata, handles)si=0:0.05*pi:2*pi;handles.xuyu.x=handles.a*sin(si);handles.xuyu.y=handles.b*cos(si);axes(handles.axes1);plot(handles.xuyu.x,handles.xuyu.y);