您好,欢迎来到星星旅游。
搜索
您的当前位置:首页MATLAB期末考试试题和参考答案解析

MATLAB期末考试试题和参考答案解析

来源:星星旅游
 .WORD.格式.

MATLAB期末考试试卷及其参考答案

一、填空题(每空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、4、MATLAB中clf用于 、clc用于 、 clear用于 。 二、简答题(每题5分,共20分) 1、简述MATLAB历史指令窗的主要作用。 2、简述空数组的功用。

3、简述MATLAB函数的基本结构。 4、简述绘制二维图形的一般步骤。

三、阅读程序并回答问题(每题4分,共28分) 1、写出下列指令运行结果。 A=zeros(2,4); A(:)=1:8; s=[2 3 5];

.专业资料.整理分享.

.WORD.格式.

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

5、写出下列指令运行结果。 ch=‘ABc123d4e56Fg9’; subch=ch(1:5) revch=ch(end:-1:1)

.专业资料.整理分享.

.WORD.格式.

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、1、在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。(5分)2、分别在同一图形窗的不同子图绘制y=sin(t)sin(9t)和y=sin(t)sin(9t)及其包络线。(4分)

3、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):

price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣

.专业资料.整理分享.

.WORD.格式.

1000≤price<2500 8%折扣 2500≤price<5000 10%折扣

5000≤price 14%折扣

输入所售商品的价格,求其实际销售价格。(5分)

4、编写程序实现f(n)=f(n-1)+f(n-2)(f(1)=1和f(2)=2)函数。(6分) 5、编写一个学生成绩管理的程序(12分)

A.构造一个学生结构,包括学生的学号,姓名,课程名称(限五门),考试成绩和平均值等域;(4分)

B.从键盘上,连续输入N个学生的情况,分别将这些学生的情况填入到相应的域,若域中没有值即为空或0并计算平均成绩写入到平均值域。(4分) C.根据平均值排序,并输出学生的姓名、学号和平均成绩。(4分) 参考答案

一、填空题(每空1分,20分)

1、MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)、 命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、 帮助导航/浏览器、图形窗口等。

2、MATLABInf或inf表示无穷大、NaN或nan表示不是一个数、nargout表示函数输出宗量数目。

.专业资料.整理分享.

.WORD.格式.

3、MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔; 用作输入量与输入量之间的分隔符;用作数组元素分隔符号。 4、工作空间浏览器主要用于内存变量的查阅、保存和编辑。

5、MATLAB实现将全下标转换为单下标的指令为Sub2ind、据单下标换算出全 下标的指令为Ind2sub。

6、二维数组的标识有“全下标”标识、“单下标”标识、“逻辑1”标识。 7、在一个元胞数组A中寻访第2行第3列元胞元素用A(2,3);寻访数组第 2行第3列元胞中的内容用A{2,3}。

8、MATLAB中clf用于清除图形窗、clc用于清除指令窗中显示内容、clear 用于清除MATLAB工作空间中保存的变量。 二、简答题(每题5分,共20分)

1、简述MATLAB历史指令窗的主要作用。

历史指令窗记录着用户在MATLAB指令窗中所输入过的所有指令。历史记录 包括:每次开启MATLAB的时间,每次开启MATLAB后在指令窗中运行过 的所有指令。应用功能有单行或多行指令的复制和运行、生成M文件等。 2、简述空数组的功用。

“空”数组的功用:在没有“空”数组参与的运算时,计算结果中的“空” 可以合理地解释“所得结果的含义”;运用“空”数组对其他非空数组赋值,

可以改变数组的大小,但不能改变数组的维数。 3、简述MATLAB函数的基本结构。

典型M函数文件的结构:函数申明(定义)行(Function declaration

.专业资料.整理分享.

.WORD.格式.

line)、

H1行(The first help text line)、在线帮助文本(Help text)区、编写和修改记录、

函数体(Function body)。 4、简述绘制二维图形的一般步骤。

绘制二维图形的一般步骤为:曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。

三、阅读程序并回答问题(每题4分,共28分) 1、写出下列指令运行结果。

A=zeros(2,4); A(:)=1:8; A(s)

s=[2 3 5]; 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

.专业资料.整理分享.

.WORD.格式.

2 6 10 14 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

.专业资料.整理分享.

.WORD.格式.

6 3

4、下面的函数主要完成什么功能? function f=factor(n)

if n<=1 f=1;

else

f=factor(n-1)*n;

end

利用函数的递归调用,求n!。

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) length(k)

subch = ABc12 revch = 9gF65e4d321cBA ans =

.专业资料.整理分享.

.WORD.格式.

ABC123D4E56FG9

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) 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),

.专业资料.整理分享.

.WORD.格式.

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

.专业资料.整理分享.

.WORD.格式.

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

.专业资料.整理分享.

.WORD.格式.

5、答案 str1 = ''; str2 = ''; str3= ''; val = cell(5,2) a=zeros(5,1); ave = 0;

student = struct('Name',str1,'No',str2,'Scores',val,'Ave',ave); n = input('please input students number:'); for i=1 : n

str1 = input('Name:'); str2 = input('No.:'); %for k=1:2

% val(k,:) = input('Curriculums and Scores:'); % a(k,1)=val{k,2}; %end

%val(1,:) = input('Curriculum:'); %val(:,2) = input('Scores:');

val = input('please input five Curriculums and Scores:'); for k=1:5

a(k,1)=val{k,2}; end

.专业资料.整理分享.

.WORD.格式.

student(i).Name = str1; student(i).No = str2; student(i).Scores = val; student(i).Ave = mean(a); end

for ii= 1:(length(student)-1) iptr = ii;

for jj=ii+1 : length(student)

if (student(jj).Ave > student(iptr).Ave) iptr = jj; end end

if ii ~=iptr

temp = student(ii); student(ii) =student(iptr); student(iptr) = temp; end end

for ii=1 : length(student) if student(ii).Ave > 80 disp(student(ii).Name);

.专业资料.整理分享.

.WORD.格式.

disp(student(ii).Ave); end end

disp(['student

name',blanks(6),'student

no.',blanks(6),'student

average']);disp(' ')

for ii=1 : length(student)

disp([student(ii).Name,blanks(20),student(ii).No,blanks(20),num2str(student(ii).Ave)]); end

.专业资料.整理分享.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- stra.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务