1、精选医学matlab大作业doc2014年春季学期MATLAB 课程考查题一. 必答题 (80分)1. 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有何区别?(2)答:方法一:在MATLAB命令窗口中输入editpath或pathtool命令或通过【File】/【SetPath】菜单,进入“设置搜索路径”对话框,通过该对话框编辑搜索路径。方法二:在命令窗口执行“path(path,D:Study )”,然后通过“设置搜索路径”对话查看“D:Study”是否在搜索路径中。方法三:在命令窗口执行“addpathD:Study- end”,将新的目录加到整个搜索路径的末尾。如果
2、将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”,表示可选,为“off”时则表示不可选。 (2)
4、Style:控件对象类型。 (3)Tag:控件表示(用户定义)。 (4)TooltipString属性:提示信息显示。当鼠标指针位于此控件上时,显示提示信息。 (5)UserData:用户指定数据。 (6)Position:控件对象的尺寸和位置。 (7)Units:设置控件的位置及大小的单位 (8)有关字体的属性,如 FontAngle, FontName等。三、控件回调函数的执行 (1)BusyAction:处理回调函数的中断。有两种选项:即Cancel:取消中断事件,queue:排队(默认设置)。 (2)ButtonDownFcn属性:按钮按下时的处理函数。 (3)CallBack属性:是
5、连接程序界面整个程序系统的实质性功能的纽带。该属性值应该为一个可以直接求值的字符串,在该对象被选中和改变时,系统将自动地对字符串进行求值。 (4)CreateFcn:在对象产生过程中执行的回调函数。 (5)DeleteFcn:删除对象过程中执行的回调函数。 (6)Interruptible属性:指定当前的回调函数在执行时是否允许中断,去执行其他的函数。四、控件当前状态信息 (1)ListboxTop:在列表框中显示的最顶层的字符串的索引。 (2)Max:最大值。 (3)Min:最小值。 (4)Value:控件的当前值。4. 建立不同数据类型的变量:包括双精度的数值型(numeric)、符号型(
6、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 320 cell e 1x6 12 char fha
7、ndle 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 0 0 0 4.8303 0 0 0 3.6216
8、l = 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 0 2.2903p = 06. 执行矩阵A和B 下
9、列的运算: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 738 873 1008 1284 1518 17
10、52ans = 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 badly scaled. Results may
11、 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区别:一维数组相当于向量,二维数组相当于矩阵.所以矩阵是数组的子集 数组的运算是指数组对应元素之间的运算,也称点运算; 矩阵是一个二维数组,所以矩阵的加、减、数乘等运算与数组运算是一致的; 矩阵的乘法、乘方和除法有特殊的数学含义,并不是数组对应元素的运算。7. 求半径为r的圆的面积和周长,分别采用脚本文件和函数文件进行编写, r值由input指令从键盘给出,数
12、据的输出采用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文件函数式M文件不接受输入参数,没有返回值。可以接受输入
13、参数,可以有返回值。基于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 k65 ss=ss+1/(k*(k+1); k=k+1;endssss = 0.9846
14、区别: for循环语句一般适用于已知到循环次数,而不知道循环运算目标的问题; while循环语句则一般适用于已知循环运算目标,而循环次数未知的问题; 为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免 for 循环的使用。(2) 分别采用sum和symsum求和。(5分)答: sum求和: n=1:64;s=1./(n.*(n+1);sum(s)ans =0.9846symsum求和:ss=sym(1/(n*(n+1);s=symsum(ss,1,64)s =64/659. 表1给出x0,y0的一组数据,x000.1 0.20.30.40.50.60.70.80.91.0y0-0.44701.97803.11005.25005.02004.66004.01004.58003.45005.35009.2200
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1