Matlab-期末考试题库(共12套卷) 下载本文

内容发布更新时间 : 2024/12/23 15:01:09星期一 下面是文章的全部内容请认真阅读。

第七套

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