滁州学院期末考试matlab试卷及答案1. 设A=[2 4 3; 5 3 1; 3 6 7],则sum(A),length(A)和size(A)的结果( D )A. [10 13 11] 9 [3 3]B. [9 9 16] 3 [3 3]C. [9 9 16] 9 [3 3]D. [10 13 11] 3 [3 3]size函数返回的是一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。
length(A)如果A为非空数组,返回行数和列数两者之间数值较大的那一个值,即相当于执行了max(size(A));如果A为空数组,则返回0;如果A是一个向量则返回A的长度.2. 下列关于脚本文件和函数文件的描述中不正确的是( B ) A. 去掉函数文件第一行的定义行可转变成脚本文件;B. 函数文件可以在命令窗口直接运行;C. 脚本文件可以调用函数文件;D. 函数文件中的第一行必须以function开始;3. 在Command Window窗口中分别输入下列命令,对应输出结果错误的是( C )A. x=[-3:2] x=[-3 -2 1 0 1 2]B. x=zeros(1,2);x>0 ans=[0 0]C.y=diag(eye(3),2)’ y=[0 0] [0]D. 3-2*rand(1,2) ans=[1.0997 2.5377]4. 对于矩阵B,统计其中大于A的元素个数,可以使用的语句是( B ) A.length(B) - length(find(B<=A)) B. sum(sum(B>A))C. length(sum(B>A))D. sum(length(B>A))5. 已知str1=’find’, str2=’fund’, str3=’I like you’,有:k1=sum(str1==str2), k2=sum(strrep(str1,’i’,’u’)==str2),k3=findstr(str3,’ke’), 则k1,k2,k3的结果分别为:( B ) A. 3, 3, 5B. 3, 4, 5C. 4, 3, 5D. 3, 4, 6str = strrep(str1, str2, str3),在 str1 中找到str2 ,替换成str3 例:T= 'Find the starting indices of the shorter string.';Q=findstr(T,'the')%在字符串T中找个出现‘the'字符串的位置Q=[6 30];%表示第6个字符和第30个字符出现’the'这个字符串6.下列哪个变量的定义是不合法的 A (A) abcd-3(B) xyz_3(C) abcdef(D) x3yz7. 下列哪条指令是求矩阵的行列式的值 C (A) inv(B) diag(C) det(D) eig8. 在循环结构中跳出循环,执行循环后面代码的命令为 B(A) return(B) break(C) continue(D) keyboard9. 清空Matlab工作空间内所有变量的指令是 C (A) clc(B) cls(C) clear(D) clf10. 用round函数四舍五入对数组[2.48 6.39 3.93 8.52]取整,结果为 C(A) [2 6 3 8] (B) [2 6 4 8] (C) [2 6 4 9] (D) [3 7 4 9]11. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C(A) a'*b(B) a .*b a = [ 2 4 6 8] b= [ 2 3 4 5](C) a*b(D) a-b12. 角度x=[30 45 60],计算其正弦函数的运算为 D(A) SIN(deg2rad(x))(B) SIN(x)(C) sin(x)(D) sin(deg2rad(x))13. 下面的程序执行后array的值为 Afor k=1:10if k>6break;elsearray(k) = k;endend(A) array = [1, 2, 3, 4, 5, 6] (B) array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10](C) array =6 (D) array =10.14(i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c的值分别是多少,C(A)a=4, b=4, c=2.0000i(B)a=4, b=2.0000i, c=2.0000i (C)a=2.0000i, b=4, c=2.0000i (D)a=2.0000i, b=2.0000i, c=2.0000i4315. 求解方程x-4x+12x-9 = 0 的所有解 B(A)1.0000, 3.0000, 1.7321, -1.7321 (B)1.0000, 3.0000, 1.7321i, -1.7321i(C)1.0000i, 3.0000i, 1.7321, -1.7321 (D)-3.0000i, 3.0000i, 1.7321, -1.73211. 已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。
A &B 的运行结果ans=[0 1 1;1 1 0];A ./B 的运行结果ans=[0 2.25 2;1 0.6 NaN]。
2. 产生4阶全0方阵的命令为zeros(4);产生3阶全1方阵的命令为【4ones(3)】。
3. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为【5[2,5]】和【6[5]】。
4. 标点符号【7分号或 ;】可以使命令行不显示运算结果,【8百分号或%】用来表示该行为注释行。
5. 用if判断语句判断80? x >60,在MATLAB中if语言后的判断应写为【9if x<=80&x>60】。
6. 关闭所有已经打开的图像窗口的指令是【10 close all】。
6. P, Q分别是个多项式的系数矢量,求P对应的多项式的积分(对应的常数项为K),使用的命令是【11 polyint(P,K)】;求P/Q的解,商和余数分别保存在k 和r,使用的命令是【12[k,r]=deconv(P,Q)】;7. 为了使两个plot的图形在同一个坐标显示,可以使用【10hold on】命令进行图形保持。
1(叙述MATLAB的主要窗口包括哪些,其作用分别是什么, (1)命令窗口(Commend Window)——供输入命令,实现计算或绘图功能。
(2)工作空间窗口(Workspace)——用于列出数据的变量信息,包括变量名、变量字节大小变量数组大小、变量类型等内容。
(3) 当前目录浏览器(Current Directory )(Current folder 7.9版) ——显示当前目录下所有文件的文件名、文件夹类型和最后修改时间等内容。
(4 )命令历史窗口( Commend History )——显示窗口所有执行过的命令,利用该窗口,可以查看曾经执行过的命令,也可以重复利用这些命令。
2(命令文件和函数文件的主要区别,(1)命令文件是M文件中最简单的一种,是可用于自动重复执行的一组MATLAB 命令和函数组合,不需输出输入参数,用M文件可以调用工作空间已有的变量或创建新的变量。
运行过程中产生的变量都是全局变量。
建立一个命令文件等价于从命令窗口中顺序输入文件里的命令,程序不需要预先定义,只要依次将命令编辑在命令文件中,再将程序保存成为扩展名为.m的M文件即可。
运行命令文件时,只需在命令窗口键入文件名即可。
(2)如果M文件的第一个可执行行以function 开始,便是函数文件,每一个函数文件定义一个函数。
函数文件区别于命令文件之处在于命令文件的变量在文件执行完成后保留在工作空间中,而函数文件内定义的变量只在函数文件内起作用,文件执行完后即被清除。
将文件存盘,缺省状态下自动存储名为相应的函数名的(.m)文件。
这样只要接受一个输入参数便可计算返回一个输出参数,与其他MATLAB函数一样使用。
(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数; (3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量。
3(简述绘制一个三维曲面所需步骤,答案:第一步,定义x轴和y轴的取值范围;第二步,利用meshgrid函数将x轴和y轴取值范围内的X-Y平面离散化为一系列网格点; 第三步,求得函数在X-Y平面这些离散点上的函数值;第四步,利用mesh或surf函数绘制三维曲面。
4.MATLAB的变量命名有哪些规则,变量可以包括数字、字母、下划线,必须以字母开头5. 函数文件的基本结构,函数的基本结构包括函数名,输入变量,输出变量,函数体等matlab的函数的基本结构是 function 输出变量=函数名(输入变量)函数体例如function c=mysum(a,b)c=a+b;6(在进行算术运算时,数组运算和矩阵运算各有什么要求,运算符有什么区别, 答:进行数组运算的两个数组必须有相同的尺寸。
进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a与b相乘(a*b)时必须满足a的列数等于b的行数。
3.4 数组运算和矩阵运算的运算符有什么区别,答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b为数组乘。
7(有哪几种建立矩阵的方法,各有什么优点,可以用四种方法建立矩阵:?直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ?通过M文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ?由函数建立,如y=sin(x),可以由MATLAB的内部函数建立一些特殊矩阵; ?通过数据文件建立,该方法可以调用由其他软件产生数据。
8(if语句有哪几种结构,答:(1) if—end语句(simple if statement)if表达式语句体End 进行逻辑逻辑判断,当计算的表达式结果为真(非零)时执行语句体,否则跳过if 结构。
(2)if—else--end语句if表达式语句体1;else语句体2;end当计算的表达式结果为真时执行语句体1,结果为假时执行语句体2。
例:判断学生是否通过学业。
if((attendance>=0.90) & (grade>=60)) pass=1;elsefail=1;end(1)if—elseif—end语句if表达式1 语句体1;elseif表达式2 语句体2;else 语句体3;end填空题1. ch='ABc123d4e56Fg9'; revch=ch(end:-1:1);k=find(revch>='A'&revch<='Z');revch(k)= revch (k)-('A'-'a');ch=char(revch)运行结果:ch=9gf65e4d321cba2. function f=factor(n) if n<=1f=1;elsef=factor(n-1)*n; end将上述函数保存为factor.m;并运行下述程序: s=0;for i=1:3s=s+factor(i);ends运行结果为s= 63. X=linspace(0,2*pi,5); Y=sin(X);DY=diff(Y); 向前查分 dx(i)=x(i+1)-x(i) D2Y=diff(Y,2); n阶查分D3Y=diff(Y,3);DYD2YD3Y运行结果:DY= 1 -1 -1 1D2Y= -2 0 2D3y= 2 24. s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23];for k=as=s+k;enddisp(s');运行结果为: 39 48 57 665. syms x tf=x*cos(x*t); 对符号表达式求导f1=diff(f);f2=diff(f,x,2); 以x为变量,求2阶导f3=diff(f,t,3);f1f2f3运行结果:f1= cos(x*t)-x*sin(x*t)*tf2=-2*sin(x*t)*t-x*cos(x*t)*t^2f3= x^4*sin(x*t)6. P=[1 2 3];Q=[3 6 4];q=polyder(P,Q)运行结果为:q= 12 36 50 261.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。