Matlab 期末考试题库(共12套卷)
更新时间:2024-04-06 11:36:01 阅读量: 综合文库 文档下载
- matlab推荐度:
- 相关推荐
第一套
华东交通大学2015-2016学年第一学期Matlab期末考试
一、填空题(4*6=24分)
1、在MATLAB命令窗口中的“>>”标志为MATLAB的提示符,“│”标志为提示符。
2、符号表达式sin(2*a+t)+m 中独立的符号变量为___。
3、在通常情况下,左除x=a\\b是 的解,右除x=b/a是 的解,一般情况下,。
4、为了使两个plot的图形在同一个坐标显示,可以使用_____命令进行图形保持;可以使用___命令为图形添加网格。
5、倘若要是对x进行赋值,从5到25,间隔是0.1,为 ;倘若要是对x进行赋值,从2到20,中间间隔100个点,为
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)分别是()
A.1,8 B.1, 7 C.2, 8 D.2, 7
8、 运行如下程序后,输入9回车,命令窗口(command windows)显示的
结果为()
c=input('请输入一个字符','s'); if c>='A' & c<='Z'
disp(setstr(abs(c)+abs('a')-abs('A'))); elseif c>='a'& c<='z'
disp(setstr(abs(c)- abs('a')+abs('A'))); elseif c>='0'& c<='9' disp(abs(c)-abs('0')); else disp(c); end
A. 9 B. 8 C. 7 D. 6 9、MATLAB表达式2*2^3^2的结果是() A.128 B.4096 C. 262144 D.256 10、在循环结构中跳出循环,执行循环后面代码的命令为( ) (A) return (B) break (C) continue (D) keyboard 11、在图形指定位置加标注命令是( )
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)?); 12、下列哪个变量的定义是不合法的()。
(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz
三、程序题(52分)
13(10分)、在同一窗口绘制6个子图,已知t=0.1:0.1:2*pi,每个子图分
别绘制(其中y1=sin(t),y2=cos(2t),y3=sin(t)+cos(t),y4=3t, y5=2ln(t),y6=et); 14(10分)、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣 1000≤price<2500 8%折扣 2500≤price<5000 10%折扣 5000≤price 14%折扣
输入所售商品的价格,求其实际销售价格。
15(10分)、在同一图形窗口中按照x=0.1的步长间隔分别绘制曲线y1=,0x;y1=sin(x)+cos(x),1≤x≤2。要求y1曲线为红色虚线,数据点用圆圈标识;y2曲线为蓝色点划线;给出图例;标记图名为y1,y2。
16(10分)、写出执行以下代码后C,D,E的值
A=[1,2,3;4:6;7:9];
C=[A;[10,11,12]],
D=C(1:3,[2 3]) E=C(2,[1 2])
17(12分)、 已知系统函数为
试画出零极点分布图,并求系统的冲激响应h(t)和频率响应H(jw),并判断系统是否稳定。
参考答案
一、填空题
1. 命令行 , 输入; 2. t;
3. a*x=b , x*a=b , a\\b ,b/a; 4. hold on , grid on;
5. x=5:0.1:25, x=linspace(2,20,100); 6.[1 2;3 4] , [1 0;0 4];
二、选择题 7 8 9 10 11 12 B A A B C A
三、程序题
13.t=0.1:0.1:2*pi;
subplot(2,3,1) y1=sin(t); plot(t,y1) title('y1=sin(t)') subplot(2,3,2) y2=cos(2*t); plot(t,y2) title('y2=cos(2t)') subplot(2,3,3) y3=sin(t)+cos(t); plot(t,y3) title('y3=sin(t)+cos(t)')
subplot(2,3,4) y4=3*t; plot(t,y4) title('y4=3t')
subplot(2,3,5) y5=2*log(t); plot(t,y5) title('y5=2ln(t)') subplot(2,3,6) y6=exp(t); plot(t,y6) title('y6=e^t')
14. price=input('请输入商品价格');
switch fix(price/100)
case {0,1} %价格小于200 rate=0;
case {2,3,4} %价格大于等于200但小于500 rate=3/100;
case num2cell(5:9) %价格大于等于500但小于1000 rate=5/100;
case num2cell(10:24) %价格大于等于1000但小于2500 rate=8/100;
case num2cell(25:49) %价格大于等于2500但小于5000 rate=10/100;
otherwise %价格大于等于5000 rate=14/100;
end
price=price*(1-rate) %输出商品实际销售价格
15.x1=0:0.1:1;
y1=x1.^2.*exp(-x1); x2=1:0.1:2; y2=sin(x2)+cos(x2);
plot(x1,y1,'r--o',x2,y2,'b-.') legend('y1','y2') title('y1,y2') 16.
C =
1 2 3
4 5 6
7 8 9 10 11 12 D =
2 3
5 6 8 9
E =
4 5
17.已知系统函数H(s),求系统的冲激响应h(t)和频率响应H(jw),可调用
impulse函数和freqs函数。 num=[1];
den=[1 2 2 1]; sys=tf(num,den); poles=roots(den)
figure(1);pzmap(sys); t=0:0.02:10;
h=impulse(num,den,t); figure(2);plot(t,h)
title('Impulse Respone') [H,w]=freqs(num,den); figure(3);plot(w,abs(H)) xlabel('\\omega')
title('Magnitude Respone')
第二套
Matlab模拟试卷
一、填空题(每空2分,总分20)。
1、MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)、命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号。
3、工作空间浏览器主要用于内存变量的查阅、保存和编辑。
4、MATLAB实现将全下标转换为单下标的指令为Sub2ind、据单下标换算出全下标的指令为Ind2sub。
5、二维数组的标识有“全下标”标识、“单下标”标识、“逻辑1”标识。
1.MATLAB常用操作界面包括、工作空间窗口、命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。 2.MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。 3.工作空间浏览器主要用于内存变量的、和。
4.MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
5.二维数组的标识有、、“逻辑1”标识。 二、选择题(每空2分,总共20分) 二、选择题(每空2分,总分20分)。
1、 A 2、 C 3、 B 4、 C 5、 C 6、 C7、 D 8、 A 9、 C 10、 A
1.下列哪个变量的定义是不合法的 ()
(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz
2. 下列哪条指令是求矩阵的行列式的值() (A) inv (B) diag (C) det (D) eig
3. 在循环结构中跳出循环,执行循环后面代码的命令为() (A) return (B) break (C) continue (D) keyboard
4. 清空Matlab工作空间内所有变量的指令是() (A) clc (B) cls (C) clear (D) clf
5. 用round函数四舍五入对数组[2.48 6.39 3.93 8.52]取整,结果为() (A) [2 6 3 8] (B) [2 6 4 8] (C) [2 6 4 9] (D) [3 7 4 9]
6. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为()
(A) a'*b (B) a .*b (C) a*b (D) a-b
7. 角度x??304560?,计算其正弦函数的运算为()
(A) SIN(deg2rad(x)) (B) SIN(x) (C) sin(x) (D) sin(deg2rad(x))
8. 下面的程序执行后array的值为 ( ) for k=1:10 if k>6 break; else
array(k) = k; end end
(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.
9.i=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.0000i
10. 求解方程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.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.*B A*B S.*A S*B
4、下面的函数主要完成什么功能? function f=factor(n)
if n<=1 f=1;
else
f=factor(n-1)*n;
End
四、程序填空(每空3分,共15分)
1. 编写MATLAB程序,在同一图形窗口中绘制y1和y2两条曲线,并对图形坐
标轴进行控制。程序如下: x = -3:0.1: 3;
y1 = 2*x+5; y2 = x.^2-3*x;
plot(x,y1); %绘制曲线y1 ①; %保持曲线y1
plot(x,y2); %绘制曲线y2
m1 = max([y1, y2]); m2 = min([y1, y2]);
②; %用axis调制坐标轴,横坐标在[-3 3]之间,且完全显示图形 ③; %加入图形注释,横坐标为“时间”,纵坐标为“幅度”
2. 编写MATLAB程序,对于用户输入的向量或矩阵,计算其平均值和方差:
④; % 提示输入数据并保存到x中,命令行显示“请输入数据” y = reshape(x,1,prod(size(x))); m = mean(y); % 计算均值m ⑤; % 计算方差v
五、编程题(40分)
1、分别在同一图形窗的不同子图绘制y=sin(t)sin(9t)和y=sin(t)sin(9t)及其包络线。(5分)
2、编写程序实现f(n)=f(n-1)+f(n-2)(f(1)=1和f(2)=2)函数。(5分)
3、求解以下线性方程组,要求写出程序代码和运行结果(5分)
2x1-3x2+x3+2x4=8 x1+3x2+x4=6 x1-x2+x3+8x4=1 7x1+x2-2x3+2x4=5
4、打印出所有的水仙花数。所谓“水仙花数”,是指一个三位数,其各位数字立方之和等于该数本身。(10分)
一、填空题(每空2分,总分20分)。
二、选择题(每空2分,总分20分)。
1、 A 2、 C 3、 B 4、 C 5、 C 6、 C7、 D 8、三、阅读程序并回答问题(每题5分,共20分) 1、写出下列指令运行结果。 A=zeros(2,4); A(:)=1:8; s=[2 3 5]; A(s)
Sa=[10 20 30]' A(s)=Sa ans = 2 3 5 Sa = 10 20 30 A =
1 20 30 7
10 4 6 8
2、写出下列指令运行结果。 A=reshape(1:16,2,8) A =
1 3 5 7 9 11 13 15 2 4 6 8 10 12 14 16
reshape(A,4,4) ans = 1 5 9 13 2 6 10 14
、 C 10、 A 9 A 3 7 11 15 4 8 12 16
s=[1 3 6 8 9 11 14 16]; A(s)=0 A =
0 0 5 7 0 0 13 15 2 4 0 0 10 12 0 0
3、写出下列指令运行结果。 A=[1,2;3,4]; B=[-1,-2;2,1]; S=3; A.*B A*B S.*A S*B ans = -1 -4 6 4 ans = 3 0 5 -2 ans = 3 6 9 12 ans = -3 -6 6 3
4、下面的函数主要完成什么功能? function f=factor(n)
if n<=1 f=1;
else
f=factor(n-1)*n;
end
利用函数的递归调用,求n!。
四、程序填空题(每空3分,共15分) ① hold on
② axis([-3 3 m2 m1])
③ xlabel(‘时间’); ylabel(‘幅度’);
④ x = input(‘请输入数据 \\n’) 或 x = input(‘请输入数据’) ⑤ v = var(y)或 1/(length(y)-1) * (sum((y-m).^2))
五、编程题(25分)
1、答案
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]) 2、答案
function f=fab(n) if (n==1) f = 1;
elseif (n==2) f =2; else
f = fab(n-1) + fab(n-2);
End
3、答案
>> 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/17 x2 = 320/187 x3 = 212/187 x4 = 19/187
4、答案
for k = 100:999 a = fix(k/100);
b = rem(fix(k/10),10); c = rem(k,10);
if a.^3 + b.^3 + c.^3 == k
fprintf( “%u,\\t\\t”, k ) ; end end
第三套
MATLAB试卷
一、填空题(每题2分,共10题,共20分,错一个得1分,错2个得0分)
1.MATLAB命令窗口中可用 命令清除工作区中的变量;用命令清除命令窗口中的内容。
2.MATLAB中的运算包括、、。 3.MATLAB中的M文件有、。
4.MATLAB中的程序控制结构包括、、。
5.已知矩阵A[1 2 3;4 5 6;7 8 9],A(6)A(1,3)。
6.MATLAB中用函数完成矩阵的求逆运算,用函数求矩阵的行列式。
7.在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形, 可以使用 函数。
8.MATLAB提供了函数和函数来绘制三维曲面图。 9.用if语句判断60≤x≤80,在MATLAB中if语言后面的判断应写为 。 10.为了使两个plot的图形在同一坐标显示,可以使用命令进行图形保持,可以使用命令为图形添加网格。
二、选择题(每题2分,共10题,共20分) 1.下列哪个变量的定义是不合法的
(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz 2.在循环结构中跳出循环,执行循环后面代码的命令为
(A) return (B) break (C) continue (D) keyboard 3、下列变量名中是合法的。
(A) char_1 ; (B) x*y ; (C) x\\y ; (D) end 4. 如果x=1:-1:-8,则x(1)和x(5)分别是
A.-1,-3 B.-1,-7 C.-1,-6 D.1,-3 5. 在MATLAB中下列数值的表示不正确的是 A.+25 B.1.3e-5 C.4-3*e^2 D.3-2*pi
6. 用round函数四舍五入对数组[2.48 6.39 3.93 8.52]取整,结果为 (A) [2 6 3 8] (B) [2 6 4 8] (C) [2 6 4 9] (D) [3 7 4 9] 7.下列哪条指令是求矩阵的行列式的值
(A) inv (B) diag (C) det (D) eig 8. 在图形指定位置加标注命令是
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)’); 9.i=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.0000i
10、在循环结构中跳出循环,但继续下次循环的命令为
(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)
str1 = num2str(min(x));% 数字转化为字符串 str2 = num2str(max(x));% 数字转化为字符串 out = [Value of f from 'str1' to 'str2']; xlabel(out);
4.一个3位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出100-999之间的全部水仙花数。请补全程序中所空缺的部分。 For m=100:999
m1=fix(m/100);
m2=rem(fix(m/10),10); m3=rem(m,10);
If m==( ) disp(m) end end
四、编程题(每小题15分,共2题,共30分)
1.编写MATALAB程序,完成下列任务(将程序保存为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 clear clc
2 算术运算 关系运算 逻辑运算 3命令文件 函数文件
4顺序结构 循环结构 选择结构 5. 8 3 6.Inv det 7.plotyy 8.mesh surf
9. If x<=80&>=60
10.hold on grid on 二、选择题
1-5 ABADB 6-10 CCCCC 三、简答题
1.C=3 10 D=2 4 E=1 4
7 22 4 8 3 16 2.在MATLAB命令窗口中输入“simulink”再回车,或者单击工具栏中的SIMULINK图标
3.out = ['Value of f from ' str1 ' to ' str2]; 或out = ['Value of f from str1 to str2’]; 4.m1*m1*m1+m2*m2*m2+m3*m3*m3 四、编程题 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),'y1\\leftarrow','FontSize',12); hold on;
plot(t,y2,'r--o');
text(6,1.5,'y2\\leftarrow','FontSize',12); title('y1 and y2')
2.按M函数文件格式创建文件开头 function f=chengxu(n) 用while循环实现程序功能 f(1)=1;f(2)=1; i=2;
while i<=n
f(i+1)=f(i-1)+f(i); i=i+1; end
用for循环实现 f(1)=1;f(2)=1; for i=2:n
f(i+1)=f(i-1)+f(i);
end
第四套
MATLAB期末考试
一、填空题(每题2分,共10)
1:MATLAB的通用命令中若对函数功能和用法不熟悉,可用help命令;显示变量、阵列或文本时,可用disp命令;清除工作空间中的变量时,可用clear命令;保存和恢复工作空间,或者工作空间中的特定变量时,可用save和load命令。 2:在MATLAB图形系统中,如果需要给已经绘制好的图形加上栅格线,可以使用grid on命令,如果需要在指定的坐标位置标注文本时使用的函数为text。 3:MATLAB中用于控制不定次重复循环语句为while,若在循环执行过程中需要终止该循环时采用的语句为break。
4:用if判断语句判断80≥ x >60,在MATLAB中if语言后的判断应写为 if x<=80&x>60 。
5:为了使两个plot的图形在同一个坐标显示,可以使用 hold on 命令进行图形保持;
二、选择题(每题2分,共20)
1.下列哪个变量的定义是不合法的 C
(A) abcdef (B) xyz_3 (C) abcd-3 (D) x3yz
2:已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C (A) a'*b (B) a .*b (C) a*b (D) a-b 3:下面的程序执行后array的值为 ( D) for k=1:10 if k>6 break; else array(k) = k; end end
(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 3] C. [9 9 16] 9 [3 3] D. [10 13 11] 9 [3 3] 5:下列关于脚本文件和函数文件的描述中不正确的是( B ) A. 去掉函数文件第一行的定义行可转变成脚本文件; B. 函数文件可以在命令窗口直接运行; 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.0000i 7:下列哪条语句是正确的( C ) A=[1 2;3 4];B=[3;7]; A.*B;
(B) A=cell(2,3); A(1,2)=[4;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:8
if x(k)==0 x(k)=k; else
x(k)=2*k+1; end end disp(x);
答案:1 5 3 9 5 13 7 17 2:为解下列线性方程组,请写出MALAB语言程序。(8分)
4 x1 +2 x3 +3 x4 = 9 3 x2 +2 x3 + 3x4 = 8 2 x1 + x4 = 10 x3 -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=A\\b; 或x=inv(A)*b; %3分 3:下面的函数主要完成什么功能?(8分) function f=factor(n) if n<=1 f=1; else
f=factor(n-1)*n; end
答案:利用函数的递归调用,求n!。 4:下面的程序完成功能是什么?(8分) t=0:pi/50:3*pi; y0=exp(-t/2);
y=exp(-t/3).*sin(2*t);
plot(t,y,'-r',t,y0,':b',t,-y0,':b') xlabel(‘\\bf\\it t’); ylabel(‘\\bf\\it y’);
答案:在同一个图中绘制两个函数,这两个函数分别是: y=e(-t/3) y0=e(-t/3)*sin(3t) 四、编程题(每题10分,共20)
1:求解以下线性方程组,要求写出程序代码和运行结果(10分)
2x1- 3x2+ x3+2x4=8 x1+3x2+ x4=6 x1- x2+ x3+8x4=17x1+ x2-2x3+2x4=5
答案:
>> 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) 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)%在子图第一张,画出图像 hold on保持figure不关闭 t=-pi:0.1:pi; %t的取值范围 a=1;n=2; %a=1,n=2 x=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=-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:抛物线的方程为y?ax2?cx,输入c后,绘制该曲线,寻找曲线的最小值和对应的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,xnum);
y=a*x^2+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表示、NaN或nan表示 、nargout表 示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。 4、工作空间浏览器主要用于内存变量的 、和 。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
7、在一个元胞数组A中寻访第2行第3列元胞元素用;寻访数组第 2行第3列元胞中的内容用。
8、MATLAB中clf用于清除、clc用于清除、clear用于清除MATLAB。
二、选择题(每题2分,20分)
1. 在matlab中_______用于括住字符串。 A., B.; C.‘’ D.“”
2.下列___D____是合法变量。
A. 1_1 B. a/b C.变量1 D. Eps
3.产生所有元素均为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. x3yz
?1234??,若要产生a的一个子矩阵?34?,则下 23455.已知数组a=??45???????9876??列命令中错误的是_____________。
A.a([1 2],[3 4]) B.a(1:2,3:end) C.a(linspace(1,2,2),3:4) D.a(:,:)
6.下面的程序执行后array的值为_____________。
for k=1:10 if k>6
break; else
array(k) = k; end end
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.
7.在循环结构中跳出循环,但继续下次循环的命令为_________。
A.return; B. break ; C. continue ; D.keyboad
8.图形窗口(Figure)显示网格的命令是_____________。 A. axis on B. grid on C. box on D. hold on
9.已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 ____。 A.a' *b B.a .*b C. a*b D. a-b
10.运行如下程序后, 命令窗口(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) 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.*B A*B S.*A
S*B
4、下面的函数主要完成什么功能? function f=factor(n) if n<=1 f=1; else
f=factor(n-1)*n; end
5、写出下列指令运行结果。 ch=‘ABc123d4e56Fg9’; subch=ch(1:5) revch=ch(end:-1:1)
k=find(ch>=‘a’&ch<=‘z’); ch(k)=ch(k)-(‘a’-‘A’); char(ch)
6、写出下列指令运行结果。 A(1,1)={'this is cell'}; A{1,2}={[1 2 3;4 5 6]}; A{2,1}=[1+2*i];
A{2,2}=A{1,2}{1}+(A{1,2}{1}(1,1)+A{1,2}{1}(2,2)); celldisp(A)
7、下面的程序完成功能是什么? t=0:pi/50:4*pi; y0=exp(-t/3);
y=exp(-t/3).*sin(3*t);
plot(t,y,'-r',t,y0,':b',t,-y0,':b') xlabel(‘\\bf\\it t’); ylabel(‘\\bf\\it y’); grid on; 四、编程题(32分)
1、在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。(6分) 2、求解以下线性方程组,要求写出程序代码。(6分)
2x1-3x2+x3+2x4=8 x1+3x2+x4=6 x1-x2+x3+8x4=1 7x1+x2-2x3+2x4=5
3、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):
price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣 1000≤price<2500 8%折扣 2500≤price<5000 10%折扣 5000≤price 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、命令窗口命令历史窗口当前目录窗口。 2、无穷大不是一个数函数输出宗量数目。
3、显示计算结果的指令与其后指令的分隔用作数组元素分隔符号。 4、查阅保存编辑。 5、Sub2indInd2sub。
6、“全下标”标识“单下标”标识。 7、A(2,3)A{2,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 3 4 5 6 7 8 9 10 11 12 D =
2 3 5 6 8 9 E =
4 5
2、A =
1 3 5 7 9 11 13 15 2 4 6 8 10 12 14 16 ans = 1 5 9 13 2 6 10 14
3 7 11 15 4 8 12 16 A =
0 0 5 7 0 0 13 15 2 4 0 0 10 12 0 0 3、ans = -1 -4 6 4 ans = 3 0 5 -2 ans = 3 6 9 12 ans = -3 -6 6 3
4、利用函数的递归调用,求n!。 5、
subch = ABc12 revch = 9gF65e4d321cBA ans =
ABC123D4E56FG9 6、
A{1,1} = this is cell A{2,1} =
1.0000 + 2.0000i A{1,2}{1} =
1 2 3 4 5 6 A{2,2} = 7 8 9 10 11 12
7、在同一个图中绘制两个函数,这两个函数分别是: y=e(-t/3)
y0=e(-t/3)*sin(3t)
其中y是用红色的细实线,而y0是用兰色的虚线绘制,t的区间是(0:4?),
t的步长为?/50,t轴和y轴分别用斜粗题指示,图中有网格表示。 四、编程题 1、答案
clf
x=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 on
plot(zz,sin(zz),'*') legend('sin','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} %价格小于200 rate=0;
case {2,3,4} %价格大于等于200但小于500 rate=3/100;
case num2cell(5:9) %价格大于等于500但小于1000 rate=5/100;
case num2cell(10:24) %价格大于等于1000但小于2500 rate=8/100;
case num2cell(25:49) %价格大于等于2500但小于5000 rate=10/100;
otherwise %价格大于等于5000 rate=14/100; end
price=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); end
5、function sum=text4(n); sum=0; m=1;
while m<=n; sum=sum+m^m m=m+1; end
当n=20时 用上述程序求得的和为: 1.0688e+026
第六套
一、选择题(2×10)
1.变量名是以____开头,后接字母、数字或下划线的字符序列,最多63个字符。变量名区分大小写。A
A. 字母B.数字C.下划线D.大写字母 2.冒号表达式的一般格式为:B
A.初始值:终止值:步长B. 初始值:步长:终止值C. 初始值:终止值:元素总数D. 初始值:元素总数:终止值
3.linspace函数调用的格式为:C
A.linspace(初始值:终止值:步长)B.linspace( 初始值:步长:终止值)C.linspace( 初始值:终止值:元
素总数)D. linespace(初始值:元素总数:终止值) 4. A\\B等效于:A
A.inv(A)* B B. inv(B)*A C. A*inv(B) D. B*inv(A) 5.case子句后面的表达式不可以为: A.标量B.字符串C.单元矩阵D.数值矩阵 6.以下关于函数的说法错误的是:B
A.在M文件中只有一个主函数B.主函数不一定在最上方
C.主函数不能被其他文件的函数调用D.help和lookfor找不到子函数 7.函数subplot(m,n,p),m,n,p中哪个表示区号,区号按行还是列优先编号?D A.p 列B. n 列C.n 行D.p 行 8.下列哪个函数用来绘制三维网格图:B
A.surf函数 B.mesh函数C.plot3函数 D.以上都不是 9.gcf函数表示:A
A.获取当前图形窗口的句柄B.获取当前坐标轴的句柄
C.获取最近被选中的图形对象的句柄D.按照指定的属性来获取图形对象的句柄 10.N次多项式用长度为___的___向量表示。C A.N+1 列B.N 列C.N+1 行 D.N 行 二、填空题(2×10)
1.注释以 _ % 开头,后面是注释的内容.
2.__clear__命令用于删除MATLAB工作空间中的变量,_clc___命令用于清屏。 3.矩阵元素按 列 (列/行)编号。 4.点运算要求两矩阵的 维数 相同。
5.MATLAB实现将全下标转换为单下标的指令为Sub2ind、据单下标换算出全下标的指令为 Ind2sub。
6.命令文件可以(不可以/可以)直接运行,函数文件不可以(不可以/可以)直接运行。 7.函数文件定义的变量为局部变量(局部/全局)。 三、程序阅读(4×10) 写出程序运行结果。
1. >>A=[3 5 7 9;0 2 4 1;6 4 4 8]; >>B=A([1 2],2:3) 答案: B=5 7 2 4
2.>>a=[6 9 3;2 7 5]; >> b=[2 4 1;4 6 8]; >> c=a.*b 答案: c=12 36 3 8 42 40 3.>>A=[6 4 4 8];
>>B=[1 1 1 0;1 1 1 0;1 1 1 0; 0 0 0 5]; >>C=[A;B(:,1:3)’] 答案: C=
6 4 4 8 1 1 1 0 1 1 1 0 1 1 1 0 4. x=[0,1,0,2,0,3,0,4]; for k=1:8 if x(k)==0 x(k)=k;
else x(k)=2*k+1; end end
答案:x=1 5 3 9 5 13 7 17 四、编程(2×10)
1.输入三个数按从大到小的顺序输出。(使用if)答案:
a=input('a=?'); a(1)=a(3); if a(1)
判 f=input('输入第一个字母(大写字符)'); switch f
case 'S'
s=input('输入第二个字母(小写字符)'); if s=='a'
disp('Saturday') elseif s=='u'
disp ('Sunday'); else
disp('data error'); end break; case 'F'
disp('Friday');break; case 'M'
disp('Monday');break; case 'T'
s=input('输入第二个字母(小写字符)’); if s=='u'
disp('Tuesday'); elseif s=='h'
disp ('Thursday'); else
disp('data error'); end break; case 'W'
disp('Wednesday'); break; otherwise
disp('data error'); end
第七套
一、填空题(每题5分,共25分)
1)rand(2,3)的含义为 生成2×3随机矩阵。
2)MATLAB语言支持的3种最基本的控制结构为顺序结构、选择结构和循环结构。
3)在循环结构中跳出当前循环,继续下一次循环的命令为comtinue。
4)MATLAB中逗号主要用作 要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号。
5)工作空间浏览器主要用于内存变量的内存变量的查阅、保存和编辑。
二、单选题(每题5分,共25分)
1.下列哪个变量的定义是不合法的 A
(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz
2. 下列哪条指令是求矩阵的行列式的值 C (A) inv (B) diag (C) det (D) eig
3. 用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]
4. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C (A) a'*b (B) a .*b (C) a*b (D) a-b
5. 下面的程序执行后array的值为 ( A ) for k=1:10 if k>6 break; else
array(k) = k; end end
(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
三、简答题(20分) 1.求积分
(5分)
2.求微分方程的数值解(5分)
dsolve('D2y*(x-1)+2*Dy+y=0','y(0)=1,Dy(0)=1','x')
3.抛物线的方程为y?ax2?cx,输入c后,绘制该曲线,寻找曲线的最小值和对应的x值。(10分) 小明编写程序如下: clc;clear;close all; c=input('c='); a=1;
x=-2:0.1:2;
; % (1)对变量xnum赋为数组x的个数 y=zeros(1,xnum);
y=a*x^2+c*x;→%(2)按照函数形式对y赋值 figure;
; %(3)绘制曲线 xlabel('x');ylabel('y'); [ymin,Imin]=min(y);
xmin=x(ymin);→%(4)找到最小函数值对应的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,xnum);
y=a*x^2+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值
四、编程题(30分)
1.自己设计一个m函数文件,用来画出椭圆x*x/16+y*y/9=1。(10分) 答案:
M文件的程序: %画椭圆
tt=0:0.02:2*pi;
xx=4*cos(tt);yy=3*sin(tt); axis equal
plot(xx,yy,'m*')
title('椭圆x^2/16+y^2/9=1')
2.在xy平面内选择区域[-8,8]×[-8,8],利用mesh、meshc、meshz和surf绘 制
答案:
x=-8:0.1:8; y=x;
[x,y]=meshgrid(x,y); m=sqrt(x.^2+y.^2); z=sin(m)./m; subplot(2,2,1); mesh(x,y,z); subplot(2,2,2); meshc(x,y,z); subplot(2,2,3); meshz(x,y,z); subplot(2,2,4); surf(x,y,z)
。要求用子图在一个图形窗口中绘制。
3.利用menu函数输入选择参数len,输入菜单的名称为“select an num”,根据len的取值分别给变量x赋不同的值。当len=1时,x的值为的值为4行3列全0矩阵;当len=2时,x的值为3行4列全为5的矩阵;当len=3时,x的值为5行3列均值为0,方差为1的正态分布的随机矩阵;当len=4时,x的值为字符串“not an array”; 当len为其它值时,则显示“Error”。要求使用switch函数。 答案:
len= menu('select a num','1','2','3','4', '5'); %3分
switch len % switch 语句格式写对2分 case 1
y=zeros(4,3); %1分 case 2
y=5.*ones(3,4); %1分 case 3
y=5+randn(5,3); %1分 case 4
y=’not an array’; %1分 otherwise
disp(‘Error’) %1分 end
第八套
一、填空题(一题3分,共15分)
1、标点符号_______可以使命令行不显示运算结果。 答案:%
2、x 为0 ~4 ,步长为0.1pi 的向量,使用命令_______创建。 答案:x=0:0.1*pi:4。
3、输入矩阵A=[1 2 3;7 -5 8;9 -1 -7],使用全下标方式用A(2,2) 取出元素“-5 ”,使 用单下标方式用_______取出元素“-5 ”。 答案:A(5)。
4、在while 表达式, 语句体, End 循环语句中,表达式的值__ __时表示循环条件为真,语句体将被执行,否则跳出该循环语句。 答案:非零。
5、要从键盘读入一个字符串并赋值给变量x,且给出提示“Hello”,应使用命令_________. 答案:x=input(‘Hello’,’s’)。
二、选择题(一题3分,共15分)
1、 下列表示可以作为MATLAB的变量的是( D )
A.abcd-2 B.xyz_2# C.@h D.X_1_a 2、如果x=1: 2 : 8,则x(1)和x(4)分别是( B )
A.1,8 B.1, 7 C.2, 8 D.2, 7 3、指出下列错误的指令(B)。
A.syms a b; B. syms a, b; C.syms(‘a', ’b'); D. syms(‘a','b','positive'); 4、下列哪条指令是求矩阵的行列式的值(C)。
A .inv B. diag C. det D.eig 5、清空 Matlab 工作空间内所有变量的指令是(C)。
A. clc B.cls C.clear D. clf
三、程序分析题(一题10分,共20分)
1、分析下面程序运行后s1,n1,s2,n2,m的值。
s1=0;s2=0;n1=0;n2=0;
x=[1,-4,-8,3,10,-9,7,-3,10, 8,-5,-2,2,0 ]; m=length(x); for i=1:m if x(i)<0
s1=s1+x(i); n1=n1+1; else
s2=s2+x(i); n2=n2+1; end end
s1,n1,s2,n2,m
请回答s1,n1,s2,n2,m的结果。
答案:s1=-31, n1=6,s2=41,n2=8,m=14。 2、求出mysum的值 mysum=0; i=1;
while(i<=100)
mysum=mysum+i; i=i+1; end mysum 答: mysum = 5050
四、程序改错题(一题10分,共10分)
1. 下面的语句用来判断一个人的体温是否处于危险状态(华氏温度),请找出错误并改正。 temp=input('Enter temperature:') if temp<97.5
disp('Temperature below normal');
elseif temp>97.5 改正:temp>97.5 &temp<=99.5 disp('Temperature normal');
elseif temp>99.5 改正:temp>99..5 &temp<=103.0 disp('Temperature slightly high');
else temp>103.0 改正:去掉temp>103.0 disp('Temperature dangerously high'); end
五、程序编程题(共40分)
1、用MATLAB编程求下列联立方程的解 3x+4y-7z-12w=4 ;5x-7y+4z+ 2w=-3; x +8z- 5w=9 ;-6x+5y-2z+10w=-8 。求系数矩阵的秩,求出方程组的解。(5分) 答案:a=[3 4 -7 -12; 5 -7 4 2 ;1 0 8 -5; -6 5 -2 10]; c=[4; -3; 9;-8]; b=rank(a) d=a\\c X=d(1) Y=d(2) Z=d(3) W=d(4) >> b = 4
x=-1.4841;y= -0.6816;z= 0.5337;w=-1.2429
2、编写函数文件求半径为r的圆的面积和周长。(5分) 答案:function [s,p]=fcircle(r)
s=pi*r*r; p=2*pi*r;
3、Fibonacci数列的各元素为:1、1、2、3、5、8、??,满足以下关系F1=1,
F2=1,Fn=Fn-1+Fn-2,用M函数文件实现,数列的元素个数为输入变量,且当某个元素大于50时,退出循环结构。(10分) 答案:
function f=shiyan5(n) f(1)=1;f(2)=1; for i=2:n
f(i+1)=f(i-1)+f(i); if f(i+1)>50 break; end end
4、从键盘输入任意个正整数,以0结束,输出那些正整数中的素数。(20分) 答案: clc;clear;
zzs(1)=input('请输入正整数: '); k=1;
n=0;%素数个数 while zzs(k)~=0
flag=0; %是否是素数,是则为1
for yz=2:sqrt(zzs(k)) %因子从2至此数平方根 if mod(zzs(k),yz)==0 flag=1;
break; %非素数跳出循环 end end
if flag==0&zzs(k)>1 %忽略0和1的素数 n=n+1;sus(n)=zzs(k); end k=k+1;
zzs(k)=input('请输入正整数: '); end
disp(['你共输入了' num2str(k-1) '个正整数。它们是:']) disp(zzs(1:k-1)) %不显示最后一个数0 if n==0
disp('这些数中没有素数!')%无素数时显示 else disp('其中的素数是:') disp(sus) end
第十套
一、选择题(每小题2分,共22分) 1. 在matlab中____C____用于括住字符串。 A., B.; C.?? D.“”
2. 在matlab的命令窗口中执行__A_______命令,可将命令窗口中所有变量清空。 A. clear B. clc C. echo off D. cd 3.下列___D____是合法变量。 A. 1_1 B. a/b C.变量1 D. eps
4产生所有元素均为1的2行3列矩阵的命令是_A______。 A. ones(2,3) B.ones(3,2) C.eye(2,3) D.eye(3,2)
5.已知a=0:4,b=1:5,下面的运算表达式出错的是_D_______。 A. a+b B. a./b C. a.*b D. a*b
6. subplot(2,1,2)是指__B_______的子图。
A.两行一列的上图 B.两行一列的下图 C.两列一行的左图 D.两列一行的右图
7.在多个句柄对象中,句柄是1的应该是_C_____对象。 A.根对象 B.坐标轴 C.窗口 D.屏幕
8.使用from:step:to方式生成向量,“-3:1:3”,其中-3,1,3分别是:(B) A、步长值,结束值,开始值 B、开始值,步长值,结束值 C、结束值,步长值,开始值 D、开始值,结束值,步长值
9.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.0000i
10. 下列关于脚本文件和函数文件的描述中不正确的是(B ) A. 去掉函数文件第一行的定义行可转变成脚本文件; B. 函数文件可以在命令窗口直接运行; C. 脚本文件可以调用函数文件;
D. 函数文件中的第一行必须以function开始;
11.下列对条件语句、分支语句、固定循环次数语句、不定循环次数语句关键字排序正确的是( B)
A. if else end; for end; switch case end; while end; B. if else end; switch case end; for end; while end; C. for end; if else end; while end; switch case end; D. while end; for end; switch case end; if else end;
二、填空题(20分,1空2分)
1. 求可逆矩阵A的逆矩阵的指令是__inv(A) __.
2. A=[0 2 3 0],B=[4 5 0 0],则X=A&B的显示结果为__ 0 1 0 0___. 3. Matlab中用来表示不确定值的变量是 _NaN_。. 4. M文件包括__M脚本__文件和__M函数__文件. 5.下面的程序执行后array的值为__[1,2,3,4,5,6]_______.
for k=1:10 if k>6 break; else array(k) = k; end end
6. w=[zeros(3,1) ones(1,3)' (3:5)']的结果是
0 1 3 0 1 4 0 1 5
7.把一个图形显示在一个图像窗口的m×n个子图像中的第p个位置的命令是subplot(m,n,p)
8.在一个元胞数组A中寻访第2行第3列元胞元素用A(2,3);寻访数组第2行第3列元胞中的内容用A{2,3}。
三、程序分析(28分)
1.下面的程序完成功能是什么?(5分) t=0:pi/50:4*pi; y0=exp(-t/3); y=exp(-t/3).*sin(3*t); plot(t,y,'-r',t,y0,':b',t,-y0,':b') xlabel(?\\bf\\it t?);ylabel(?\\bf\\it y?); grid on;
解:在同一个图中绘制两个函数,这两个函数分别是:
y=exp(-t/3)y0=exp(-t/3)*sin(3t)
2.分析以下函数执行过程,回答问题:(6分)
function c = testarg1(a, b) if (nargin == 1) c = a .^ 2; elseif (nargin == 2) c = a + b; end
如果用户使用一个参数调用函数testarg1,函数执行什么功能?如果使用两个参数调用函数testarg1,函数又执行什么?
答:题干程序中nargin是判断输入参数个数,根据不同输入参数执行不同操作。如果用户使用一个参数(a)调用函数testarg1,函数执行c=a.^2。如果使用两个参数(a,b)调用函数testarg1,函数执行c=a+b。 3.写出下列指令的运行结果。(7分) >>X=[2,0;2,4];Y=[-1 -4;1 0];A=3; >>X.*Y >>X*Y >>X.*A 答:ans = -2 0 2 0 ans = -2 -8 2 -8 ans = 6 0 6 12
4.现有下列脚本程序,请分析该“for”循环执行情况并写出该程序运行结果。(for m=1:3 for n=1:3 H(m,n)=m^2+n end end 答:H =
10分)
2 H = 2 3 5 H = 2 3 4 H = 2 3 4 5 0 0 H = 2 3 4 5 6 0 H = 2 3 4 5 6 7 H = 2 3 4 5 6 7 10 0 0 H = 2 3 4 5 6 7 10 11 0 H = 2 3 4 5 6 7 10 11 12
正在阅读:
Matlab 期末考试题库(共12套卷)04-06
SPD30N08S2-23中文资料04-15
干部学习课件:贯彻落实十八大精神 积极稳妥推进政治体制改革(04-23
小学生家风家训05-17
动物园游记作文800字07-08
毕业登记表模板101-14
初中家长会主持词串词12-28
第六讲 文言翻译(同步练)01-10
食品生产许可证申请书示范文本11-09
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 考试题库
- 期末
- Matlab