第七套
一、填空题(每题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;