您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > MATLAB期末考试试卷汇总
MATLAB期末考试试卷及其参考答案一、填空题1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。4、工作空间浏览器主要用于内存变量的、和。5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。6、二维数组的标识有、、“逻辑1”标识。二、简答题1、简述MATLAB历史指令窗的主要作用。2、简述空数组的功用。3、简述MATLAB函数的基本结构。4、简述绘制二维图形的一般步骤。三、阅读程序并回答问题(每题4分,共28分)1、写出下列指令运行结果。A=zeros(2,4);A(:)=1:8;s=[235];A(s)Sa=[102030]'A(s)=Sa2、写出下列指令运行结果。A=reshape(1:16,2,8)reshape(A,4,4)s=[13689111416];A(s)=03、写出下列指令运行结果。A=[1,2;3,4];B=[-1,-2;2;1];S=3;A.*BA*BS.*AS*B4、下面的函数主要完成什么功能?functionf=factor(n)ifn=1f=1;elsef=factor(n-1)*n;end5、写出下列指令运行结果。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)={'thisiscell'};A{1,2}={[123;456]};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\itt’);ylabel(‘\bf\ity’);gridon;四、编程题(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来表示):price200没有折扣200≤price5003%折扣500≤price10005%折扣1000≤price25008%折扣2500≤price500010%折扣5000≤price14%折扣输入所售商品的价格,求其实际销售价格。(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表示函数输出宗量数目。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函数文件的结构:函数申明(定义)行(Functiondeclarationline)、H1行(Thefirsthelptextline)、在线帮助文本(Helptext)区、编写和修改记录、函数体(Functionbody)。4、简述绘制二维图形的一般步骤。绘制二维图形的一般步骤为:曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。三、阅读程序并回答问题(每题4分,共28分)1、写出下列指令运行结果。A=zeros(2,4);A(:)=1:8;s=[235];A(s)Sa=[102030]'A(s)=Saans=235Sa=102030A=120307104682、写出下列指令运行结果。A=reshape(1:16,2,8)A=13579111315246810121416reshape(A,4,4)ans=15913261014371115481216s=[13689111416];A(s)=0A=005700131524001012003、写出下列指令运行结果。A=[1,2;3,4];B=[-1,-2;2,1];S=3;A.*BA*BS.*AS*Bans=-1-464ans=305-2ans=36912ans=-3-6634、下面的函数主要完成什么功能?functionf=factor(n)ifn=1f=1;elsef=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=ABc12revch=9gF65e4d321cBAans=ABC123D4E56FG96、写出下列指令运行结果。A(1,1)={'thisiscell'};A{1,2}={[123;456]};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}=thisiscellA{2,1}=1.0000+2.0000iA{1,2}{1}=123456A{2,2}=7891011127、在同一个图中绘制两个函数,这两个函数分别是: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-.')holdonplot(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('请输入商品价格');switchfix(price/100)case{0,1}%价格小于200rate=0;case{2,3,4}%价格大于等于200但小于500rate=3/100;casenum2cell(5:9)%价格大于等于500但小于1000rate=5/100;casenum2cell(10:24)%价格大于等于1000但小于2500rate=8/100;casenum2cell(25:49)%价格大于等于2500但小于5000rate=10/100;otherwise%价格大于等于5000rate=14/100;endprice=price*(1-rate)%输出商品实际销售价格4、答案functionf=fab(n)if(n==1)f=1;elseif(n==2)f=2;elsef=fab(n-1)+fab(n-2);end5、答案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('pleaseinputstudentsnumber:');fori=1:nstr1=input('Name:');str2=input('No.:');%fork=1:2%val(k,:)=input('CurriculumsandScores:');%a(k,1)=val{k,2};%end%val(1,:)=input('Curriculum:');%val(:,2)=input('Scores:');val=input('pleaseinputfiveCurriculumsandScores:');fork=1:5a(k,1)=val{k,2};endstudent(i).Name=str1;student(i).No=str2;student(i).Scores=val;student(i).Ave=mean(a);endforii=1:(length(student)-1)iptr=ii;forjj=ii+1:length(student)if(student(jj).Avestudent(iptr).Ave)iptr=jj;endendifii~=iptrtemp=student(ii);student(ii)=student(iptr);student(iptr)=temp;endendforii=1:length(student)ifstudent(ii).Ave80disp(student(ii).Name);disp(student(ii).Ave);endenddisp(['studentname',blanks(6),'studentno.',blanks(6),'studentaverage']);disp('')forii=1:length(student)disp([student(ii).Name,blanks(20),stu
本文标题:MATLAB期末考试试卷汇总
链接地址:https://www.777doc.com/doc-1803204 .html