1、第一套华东交通大学 2015-2016 学年第一学期 Matlab 期末考试一、填空题(4*6=24 分)1、在 MATLAB 命令窗口中的“”标志为 MATLAB 的 提示符, “”标志为 提示符。2、符号表达式 sin(2*a+t)+m 中独立的符号变量为_ _。3、在通常情况下,左除 x=ab 是 的解,右除 x=b/a 是 的解,一般情况下, 。4、为了使两个 plot 的图形在同一个坐标显示,可以使用_命令进行图形保持;可以使用_ _命令为图形添加网格。5、倘若要是对 x 进行赋值,从 5 到 25,间隔是 0.1,为 ;倘若要是对x 进行赋值,从 2 到 20,中间间隔 100 个
2、点,为 6、A=1,2;3,4;B=1,0;0,1; A*B= _ , A.*B=_ _;二、选择题(4*6=24 分)7、如果 x=1: 2 : 8,则 x(1)和 x(4)分别是( ) A1,8 B1, 7 C2, 8 D2, 78、 运行如下程序后,输入回车,命令窗口(command windows)显示的结果为( ) c=input(请输入一个字符,s); if c=A 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)
3、 array =10.9i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, 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.0000i10. 求解方程 x4-4x3+12x-9 = 0 的所有解( )(A)1.0000, 3.0000, 1.7321, -1.7321(B)1.0000, 3.0000, 1.7321i, -1.7321i(C)1.0000i, 3
4、.0000i, 1.7321, -1.7321(D)-3.0000i, 3.0000i, 1.7321, -1.7321三、阅读程序并回答问题(每题 5 分,共 20 分)1、写出下列指令运行结果。A=zeros(2,4); A(:)=1:8; s=2 3 5; A(s) Sa=10 20 30 A(s)=Sa 2、写出下列指令运行结果。A=reshape(1:16,2,8) reshape(A,4,4) s=1 3 6 8 9 11 14 16; A(s)=0 3、写出下列指令运行结果。A=1,2;3,4; B=-1,-2;2;1;S=3;A.*BA*BS.*AS*B4、下面的函数主要完成什
5、么功能?function f=factor(n)if n syms a b c x syms x1 x2 x3 x4 clear syms x1 x2 x3 x4 f = 2*x1 + 3*x2 + x3 + 2*x4 -8; g = x1 + 3*x2 + x4 - 6; h = x1 - x2 + x3 + 8*x4 - 1; i = 7*x1 + x2 - 2*x3 + 2*x4 -5; x1,x2,x3,x4 = solve(f,g,h,i) x1 =13/17x2 =320/187x3 =212/187x4 =19/1874、答案for k = 100:999a = fix(k/10
6、0);b = rem(fix(k/10),10);c = rem(k,10);if a.3 + b.3 + c.3 = kfprintf( “%u,tt”, k ) ;endend第三套MATLAB 试卷一、填空题(每题 2 分,共 10 题,共 20 分,错一个得 1 分,错 2 个得 0 分)1.MATLAB 命令窗口中可用 命令清除工作区中的变量;用 命令清除命令窗口中的内容。2.MATLAB 中的运算包括 、 、 。3.MATLAB 中的 M 文件有 、 。4.MATLAB 中的程序控制结构包括 、 、 。5.已知矩阵 A1 2 3;4 5 6;7 8 9,A(6) A(1,3) 。6
7、.MATLAB 中用 函数完成矩阵的求逆运算,用 函数求矩阵的行列式。7.在 MATLAB 中,如果需要绘制出具有不同纵坐标标度的两个图形, 可以使用函数。8.MATLAB 提供了 函数和 函数来绘制三维曲面图。9.用 if 语句判断 60x80,在 MATLAB 中 if 语言后面的判断应写为 。10.为了使两个 plot 的图形在同一坐标显示,可以使用 命令进行图形保持,可以使用 命令为图形添加网格。2、选择题(每题 2 分,共 10 题,共 20 分)1.下列哪个变量的定义是不合法的 (A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz2.在循环结构中跳出循环
8、,执行循环后面代码的命令为 (A) return (B) break (C) continue (D) keyboard3、下列变量名中 是合法的。(A) char_1 ; (B) x*y ; (C) xy ; (D) end 4. 如果 x=1:-1:-8,则 x(1)和 x(5)分别是 A-1,-3 B-1,-7 C-1,-6 D1,-35. 在 MATLAB 中下列数值的表示不正确的是 A+25 B1.3e-5 C4-3*e2 D3-2*pi 6. 用 round 函数四舍五入对数组2.48 6.39 3.93 8.52取整,结果为 (A) 2 6 3 8 (B) 2 6 4 8 (C)
9、 2 6 4 9 (D) 3 7 4 97.下列哪条指令是求矩阵的行列式的值 (A) inv (B) diag (C) det (D) eig8. 在图形指定位置加标注命令是 A. title(x,y,y=sin(x); B. xlabel(x,y,y=sin(x);C. text(x,y,y=sin(x); D. legend(x,y,y=sin(x); 9i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c 的值分别 (A)a=4, b=4, c=2.0000i(B)a=4, b=2.0000i, c=2.0000i(C)a=2.0000i, b=4,
10、 c=2.0000i (D)a=2.0000i, b=2.0000i, c=2.0000i10、在循环结构中跳出循环,但继续下次循环的命令为 (A) return; (B) break ; (C) continue ; (D) keyboard三、简答题(每题 7.5 分,共 4 题,共 30 分)1.A = 1 2; 3 4; B = 1 2; 1 4; 写出下面几条指令的运行结果: C = A*B D = A+B E = A.*B 2.在 MATLAB 窗口中,用哪两种方法启动 Simulink?3.判断下列一段程序的错误,并进行改正。x=-2:0.2:2;y=x.2;plot(x,y)s
11、tr1 = num2str(min(x);% 数字转化为字符串str2 = num2str(max(x);% 数字转化为字符串out = Value of f from str1 to str2;xlabel(out);4.一个 3 位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出100-999 之间的全部水仙花数。请补全程序中所空缺的部分。For m=100:999m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);If m=( )disp(m)endend4、编程题(每小题 15 分,共 2 题,共 30 分)1.编写 MATALAB
12、程序,完成下列任务(将程序保存为 test04.m 文件):(1)在区间 0,4*pi上均匀地取 20 个点构成向量 ;(2)分别计算函数 y1=sin(t) 与 y2=2cos(2t) 在向量 t 处的函数值;(3)在同一图形窗口绘制曲线 y1=sin(t) 与 y2=2cos(2t) ,要求 y1 曲线为黑色点画线,y2 曲线为红色虚线圆圈;并在图中恰当位置标注两条曲线的图例;给图形加上标题“y1 and y2” 。2、Fibonacci 数列的各元素为:1、1、2、3、5、8、,满足以下关系F1=1,F2=1,Fn=Fn-1+Fn-2用 while 和 for 两种方法实现。答案1、填空
13、题1 clear clc 2 算术运算 关系运算 逻辑运算 3 命令文件 函数文件4 顺序结构 循环结构 选择结构5. 8 3 6.Inv det7.plotyy 8.mesh surf9. If x=6010.hold on grid on2、选择题1-5 ABADB 6-10 CCCCC3、简答题1.C=3 10 D=2 4 E=1 47 22 4 8 3 162.在 MATLAB 命令窗口中输入“simulink”再回车,或者单击工具栏中的SIMULINK 图标3.out = Value of f from str1 to str2;或 out = Value of f from str
14、1 to str2;4.m1*m1*m1+m2*m2*m2+m3*m3*m34、编程题1.程序如下:(1)t=linspace(0,4*pi,20);(2)y1=sin(t);y2=2*cos(2*t);(3)plot(t,y1,k-.);text(1.2,sin(1.2),y1leftarrow,FontSize,12);hold on;plot(t,y2,r-o);text(6,1.5,y2leftarrow,FontSize,12);title(y1 and y2)2.按 M 函数文件格式创建文件开头function f=chengxu(n)用 while 循环实现程序功能f(1)=1;
15、f(2)=1;i=2;while i60,在 MATLAB 中 if 语言后的判断应写为 if x60 。5:为了使两个 plot 的图形在同一个坐标显示,可以使用 hold on 命令进行图形保持;2、选择题(每题 2 分,共 20)1.下列哪个变量的定义是不合法的 C (A) abcdef (B) xyz_3 (C) abcd-3 (D) x3yz2:已知 a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C (A) a*b (B) a .*b (C) a*b (D) a-b3:下面的程序执行后 array 的值为 ( D)for k=1:10if k6break;elsearr
16、ay(k) = k;endend(A) array =10. (B) array = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10(C) array =6 (D) array = 1, 2, 3, 4, 5, 6 4:设 A=2 4 3; 5 3 1; 3 6 7,则 sum(A),length(A)和 size(A)的结果(A )A. 10 13 11 3 3 3 B. 9 9 16 3 3 3C. 9 9 16 9 3 3 D. 10 13 11 9 3 3 5:下列关于脚本文件和函数文件的描述中不正确的是( B )A. 去掉函数文件第一行的定义行可转变成脚本文件;B. 函数
17、文件可以在命令窗口直接运行;C. 脚本文件可以调用函数文件;D. 函数文件中的第一行必须以 function 开始;6: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.0000i7:下列哪条语句是正确的( C ) A=1 2;3 4;B=3;7; A.*B;(B) A=cell(2,3); A(1,2)=4;
18、5 (C) A=2 3 5 7;9 4 6 1;7 3 2 5;B=1 7;0 5;A(2:end,2:2:end) (D) x=-5:5;y=-5:5;z=x.*x-y.*y;surf(x,y,z) 8:三、程序执行题(共 30 分)1:写出执行以下代码后,MATLAB 命令窗口上显示的 x 矩阵的值 (6 分)x=0,1,0,2,0,3,0,4; for k=1:8if x(k)=0x(k)=k;elsex(k)=2*k+1;endenddisp(x);答案:1 5 3 9 5 13 7 172:为解下列线性方程组,请写出 MALAB 语言程序。 (8 分)4 x1 +2 x3 +3 x4
19、 = 93 x2 +2 x3 + 3x4 = 82 x1 + x4 = 10x3 -2 x2 + 3x4 =7答案:A=4 0 2 3; 0 3 2 3; 2 0 0 1; 0 -2 1 3; %3 分b=9 8 10 7; %2 分x=Ab; 或 x=inv(A)*b; %3 分3:下面的函数主要完成什么功能?(8 分)function f=factor(n)if n syms a b c x syms x1 x2 x3 x4 clear syms x1 x2 x3 x4 f = 2*x1 + 3*x2 + x3 + 2*x4 -8; g = x1 + 3*x2 + x4 - 6; h =
20、x1 - x2 + x3 + 8*x4 - 1; i = 7*x1 + x2 - 2*x3 + 2*x4 -5; x1,x2,x3,x4 = solve(f,g,h,i)2:设 x=sint, y=sin(nt+a),(1)若 a=1,令 n =1,2,3,4,在四个子图中分别画出其曲线。(2)若 n=2,取 a=0,/3,/2,及 ,在四个子图中分别画出其曲线。(1)matlab 源程序如下;t=-pi:0.1:pi; %t 的取值范围a=1;n=1;%a=1,n=1 x=sin(t);%x 的表达y=sin(n*t+a); %y 的表达式subplot(221),plot(x,y)%在子图
21、第一张,画出图像hold on 保持 figure 不关闭t=-pi:0.1:pi; %t 的取值范围a=1;n=2; %a=1,n=2x=sin(t);%x 的表达式y=sin(n*t+a); %y 的表达式subplot(222),plot(x,y) %在子图的第二张画出图像hold on %保持 figure 不关闭t=-pi:0.1:pi; %t 的取值范围a=1;n=3; %a=1,n=3 x=sin(t); %x 的表达式y=sin(n*t+a); %y 的表达式subplot(223),plot(x,y);%在子图的第三张,画出图像hold on %保持 figure 不关闭t=
22、-pi:0.1:pi; %t 的取值范围a=1;n=4; %a=1,n=4 x=sin(t); %x 的表达式y=sin(n*t+a); %y 的表达式subplot(224),plot(x,y) %在子图的第四张上五、程序填空和改错(每空 5 分,共 20)1:抛物线的方程为 ,输入 c 后,绘制该曲线,寻找曲线的最小值和2yax对应的 x 值。小明编写程序如下:clc;clear;close all;c=input(c=);a=1;x=-2:0.1:2; xnum=length(x) or xnum=size(x,2); %(1)对变量 xnum 赋为数组 x 的个数y=zeros(1,x
23、num);y=a*x2+c*x; y=a*x.2+c*x; %(2)按照函数形式对 y 赋值figure;plot(x,y) %(3)绘制曲线xlabel(x);ylabel(y);ymin,Imin=min(y);xmin=x(ymin); xmin=x(Imin); %(4)找到最小函数值对应的 x 值第五套matlab 期末考试试卷考试时间:120 分钟 考试分数:100 分一、填空题(每空 1 分,20 分)1、MATLAB 常用操作界面包括 、工作空间窗口、 、 、内存数组编辑器、M 文件编辑/调试器、帮助导航/浏览器、图形窗口等。2、MATLAB 中 Inf 或 inf 表示 、N
24、aN 或 nan 表示 、nargout 表 示 。3、MATLAB 中逗号主要用作 ;用作输入量与输入量之间的分隔符; 。4、工作空间浏览器主要用于内存变量的 、 和 。5、MATLAB 实现将全下标转换为单下标的指令为 、据单下标换算出全下标的指令为 。6、二维数组的标识有 、 、“逻辑 1”标识。7、在一个元胞数组 A 中寻访第 2 行第 3 列元胞元素用 ;寻访数组第2 行第 3 列元胞中的内容用 。8、MATLAB 中 clf 用于清除 、clc 用于清除 、clear 用于清除MATLAB 。2、选择题(每题 2 分,20 分)1. 在 matlab 中_用于括住字符串。A., B
25、.; C. D.“”2.下列_D_是合法变量。A. 1_1 B. a/b C.变量 1 D. Eps3.产生所有元素均为 1 的 2 行 3 列矩阵的命令是_。A. ones(2,3) B.ones(3,2) C.eye(2,3) D.eye(3,2)4.下列哪个变量的定义是不合法的 A. abcd-3 B. xyz_3 C. abcdef D. x3yz5.已知数组 a= ,若要产生 a 的一个子矩阵 ,则下678954321 543列命令中错误的是_。A.a(1 2,3 4) B.a(1:2,3:end) C.a(linspace(1,2,2),3:4) D.a(:,:)6.下面的程序执行
26、后 array 的值为_。for k=1:10if k6break;elsearray(k) = k;endendA.array = 1, 2, 3, 4, 5, 6 B).array = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10C.array =6 D.array =10.7.在循环结构中跳出循环,但继续下次循环的命令为_。A.return; B. break ; C. continue ; D.keyboad8.图形窗口(Figure)显示网格的命令是_。A. axis on B. grid on C. box on D. hold on9.已知 a=2:2:8, b=2
27、:5,下面的运算表达式中,出错的为 _。A.a *b B.a .*b C. a*b D. a-b10.运行如下程序后, 命令窗口(command windows)显示的结果为_。A=13,-56,78; 25,63,-735; 78,25,563; 1,0,-1; y=max(max(A) A.y=564 B.y=9 C.y=-735 D.y=563三、阅读程序并回答问题(每题 4 分,共 28 分)1、写出下列指令运行结果。A=1,2,3;4:6;7:9; C=A;10,11,12,D=C(1:3,2 3)E=C(2,1 2)2、写出下列指令运行结果。A=reshape(1:16,2,8)
28、reshape(A,4,4) s=1 3 6 8 9 11 14 16; A(s)=0 3、写出下列指令运行结果。A=1,2;3,4; B=-1,-2;2;1;S=3;A.*BA*BS.*AS*B4、下面的函数主要完成什么功能?function f=factor(n)if n=a ch(k)=ch(k)-(a-A); char(ch) 6、写出下列指令运行结果。A(1,1)=this is cell;A1,2=1 2 3;4 5 6;A2,1=1+2*i;A2,2=A1,21+(A1,21(1,1)+A1,21(2,2);celldisp(A)7、下面的程序完成功能是什么?t=0:pi/50:
29、4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,-r,t,y0,:b,t,-y0,:b)xlabel(bfit t);ylabel(bfit y);grid on;四、编程题(32 分)1、在同一图上分别用红色实线和绿色虚线绘制 y1=sin(x)和 y2=cos(x)在区间0,4*pi的曲线,并用星号*标出两条曲线的交点以及建立图例。 (6 分)2、求解以下线性方程组,要求写出程序代码。(6 分)2x1-3x2+x3+2x4=8x1+3x2+x4=6x1-x2+x3+8x4=17x1+x2-2x3+2x4=53、某商场对顾客所购买的商品实行打
30、折销售,标准如下(商品价格用 price 来表示): price200 没有折扣200price500 3%折扣500price1000 5%折扣1000price2500 8%折扣2500price5000 10%折扣5000price 14%折扣输入所售商品的价格,求其实际销售价格。(8 分)4、编写程序实现 f(n)=f(n-1)+f(n-2)(f(1)=1 和 f(2)=2)函数。(6 分)5、编写 M 函数文件,利用 for 循环或 while 循环完成计算函数 y=sum(n)= 的任务,并利用该函数计算 n=20 时的和(将总程序保存为?.m 文件)。(6 分)参考答案1、填空题
31、1、命令窗口 命令历史窗口 当前目录窗口。2、无穷大 不是一个数 函数输出宗量数目。3、显示计算结果的指令与其后指令的分隔 用作数组元素分隔符号。4、查阅 保存 编辑。5、 Sub2ind Ind2sub。6、 “全下标”标识 “单下标”标识。7、A(2,3) A2,3。8、清除图形窗 清除指令窗中显示内容 清除 MATLAB 工作空间中保存的变量。二、选择题(每题 2 分,共 20 分)1、C 2、D 3、A 4、A 5、D 6、A 7、C 8、B 9、C 10、D 三、阅读程序并回答问题(每题 4 分,共 28 分)1、C =1 2 34 5 67 8 910 11 12D =2 35 6
32、8 9E =4 52、A =1 3 5 7 9 11 13 152 4 6 8 10 12 14 16 ans =1 5 9 132 6 10 143 7 11 154 8 12 16 A =0 0 5 7 0 0 13 152 4 0 0 10 12 0 0 3、ans =-1 -46 4ans =3 05 -2ans =3 69 12ans =-3 -66 34、利用函数的递归调用,求 n!。5、subch =ABc12revch =9gF65e4d321cBAans =ABC123D4E56FG96、A1,1 =this is cellA2,1 =1.0000 + 2.0000iA1,2
33、1 =1 2 34 5 6A2,2 =7 8 910 11 127、在同一个图中绘制两个函数,这两个函数分别是:y=e(-t/3)y0=e(-t/3)*sin(3t)其中 y 是用红色的细实线,而 y0 是用兰色的虚线绘制,t 的区间是(0:4) ,t 的步长为/50 ,t 轴和 y 轴分别用斜粗题指示,图中有网格表示。四、编程题1、答案clfx=0:pi/200:2*pi;y1=sin(x);y2=cos(x);zz=x(find(abs(y1-y2)0.005)z=min(zz)plot(x,y1,r-,x,y2,g-.)hold onplot(zz,sin(zz),*)legend(si
34、n,cos)2、答案t=(0:pi/100:pi); y1=sin(t)*1,-1; y2=sin(t).*sin(9*t); t3=pi*(0:9)/9; y3=sin(t3).*sin(9*t3);subplot(1,2,1)plot(t,y1,r:,t,y2,b,t3,y3,bo)subplot(1,2,2)plot(t,y2,b)axis(0,pi,-1,1)3、答案price=input(请输入商品价格);switch fix(price/100) case 0,1 %价格小于 200rate=0;case 2,3,4 %价格大于等于 200 但小于 500rate=3/100;ca
35、se num2cell(5:9) %价格大于等于 500 但小于 1000rate=5/100;case num2cell(10:24) %价格大于等于 1000 但小于 2500rate=8/100;case num2cell(25:49) %价格大于等于 2500 但小于 5000rate=10/100;otherwise %价格大于等于 5000rate=14/100;endprice=price*(1-rate) %输出商品实际销售价格4、答案function f=fab(n)if (n=1)f = 1;elseif (n=2)f =2;else f = fab(n-1) + fab(n-2);end5、function sum=text4(n);sum=0;m=1;while m=n;