MATLAB期末考试试卷汇总.doc

上传人:飞****2 文档编号:52203404 上传时间:2022-10-21 格式:DOC 页数:23 大小:300.50KB
返回 下载 相关 举报
MATLAB期末考试试卷汇总.doc_第1页
第1页 / 共23页
MATLAB期末考试试卷汇总.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《MATLAB期末考试试卷汇总.doc》由会员分享,可在线阅读,更多相关《MATLAB期末考试试卷汇总.doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、MATLAB期末考试试卷及其参考答案一、填空题1、MATLAB常用操作界面包括 、工作空间窗口、 、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。2、MATLAB中Inf或inf表示 、NaN或nan表示 、nargout表示 。3、MATLAB中逗号主要用作 ;用作输入量与输入量之间的分隔符; 。4、工作空间浏览器主要用于内存变量的 、 和 。5、MATLAB实现将全下标转换为单下标的指令为 、据单下标换算出全下标的指令为 。6、二维数组的标识有 、 、“逻辑1”标识。二、简答题1、简述MATLAB历史指令窗的主要作用。2、简述空数组的功用。3、简述MATLAB函数的基本

2、结构。4、简述绘制二维图形的一般步骤。三、阅读程序并回答问题(每题4分,共28分)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.*BA*BS.*AS*B4、下面的函数主要完成什么功能?function f=factor(n)if n=a&ch=z); ch(k)=c

3、h(k)-(a-A); char(ch) 6、写出下列指令运行结果。A(1,1)=this is cell;A1,2=1 2 3;4 5 6;A2,1=1+2*i;A2,2=A1,21+(A1,21(1,1)+A1,21(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(bfit t);ylabel(bfit y);grid on;四、编程题(32分)1、1、在同一图上分别用红色实线和绿色虚线绘制y1=sin(x

4、)和y2=cos(x)在区间0,4*pi的曲线,并用星号*标出两条曲线的交点以及建立图例。(5分)2、分别在同一图形窗的不同子图绘制y=sin(t)sin(9t)和y=sin(t)sin(9t)及其包络线。(4分)3、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price200 没有折扣200price500 3%折扣500price1000 5%折扣1000price2500 8%折扣2500price5000 10%折扣5000price 14%折扣输入所售商品的价格,求其实际销售价格。(5分)4、编写程序实现f(n)=f(n-1)+f(n-2)(f(1

5、)=1和f(2)=2)函数。(6分)5、编写一个学生成绩管理的程序(12分)A构造一个学生结构,包括学生的学号,姓名,课程名称(限五门),考试成绩和平均值等域;(4分)B从键盘上,连续输入N个学生的情况,分别将这些学生的情况填入到相应的域,若域中没有值即为空或0并计算平均成绩写入到平均值域。(4分)C根据平均值排序,并输出学生的姓名、学号和平均成绩。(4分)参考答案一、填空题(每空1分,20分)1、MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)、命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。2、MATLABInf或inf表示无穷大、

6、NaN或nan表示不是一个数、nargout表示函数输出宗量数目。3、MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号。4、工作空间浏览器主要用于内存变量的查阅、保存和编辑。5、MATLAB实现将全下标转换为单下标的指令为Sub2ind、据单下标换算出全下标的指令为Ind2sub。6、二维数组的标识有“全下标”标识、“单下标”标识、“逻辑1”标识。7、在一个元胞数组A中寻访第2行第3列元胞元素用A(2,3);寻访数组第2行第3列元胞中的内容用A2,3。8、MATLAB中clf用于清除图形窗、clc用于清除指令窗中显示内容、cl

7、ear用于清除MATLAB工作空间中保存的变量。二、简答题(每题5分,共20分)1. 简述MATLAB历史指令窗的主要作用。历史指令窗记录着用户在MATLAB指令窗中所输入过的所有指令。历史记录包括:每次开启MATLAB的时间,每次开启MATLAB后在指令窗中运行过的所有指令。应用功能有单行或多行指令的复制和运行、生成M文件等。2、简述空数组的功用。“空”数组的功用:在没有“空”数组参与的运算时,计算结果中的“空”可以合理地解释“所得结果的含义”;运用“空”数组对其他非空数组赋值,可以改变数组的大小,但不能改变数组的维数。3、简述MATLAB函数的基本结构。典型M函数文件的结构:函数申明(定义

8、)行(Function declaration line)、H1行(The first help text line)、在线帮助文本(Help text)区、编写和修改记录、函数体(Function body)。4、简述绘制二维图形的一般步骤。绘制二维图形的一般步骤为:曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。三、阅读程序并回答问题(每题4分,共28分)1、写出下列指令运行结果。A=zeros(2,4); A(:)=1:8; s=2 3 5; A(s) Sa=10 20 30 A(s)=Sa ans =2 3 5Sa =102

9、030A =1 20 30 710 4 6 8 2、写出下列指令运行结果。A=reshape(1:16,2,8) A =1 3 5 7 9 11 13 152 4 6 8 10 12 14 16 reshape(A,4,4) ans =1 5 9 132 6 10 143 7 11 154 8 12 16 s=1 3 6 8 9 11 14 16; A(s)=0 A =0 0 5 7 0 0 13 152 4 0 0 10 12 0 0 3、写出下列指令运行结果。A=1,2;3,4; B=-1,-2;2,1;S=3;A.*BA*BS.*AS*Bans =-1 -46 4ans =3 05 -2

10、ans =3 69 12ans =-3 -66 34、下面的函数主要完成什么功能?function f=factor(n)if n=a&ch=z); ch(k)=ch(k)-(a-A); char(ch) length(k)subch =ABc12revch =9gF65e4d321cBAans =ABC123D4E56FG96、写出下列指令运行结果。A(1,1)=this is cell;A1,2=1 2 3;4 5 6;A2,1=1+2*i;A2,2=A1,21+(A1,21(1,1)+A1,21(2,2);celldisp(A)A1,1 =this is cellA2,1 =1.0000

11、 + 2.0000iA1,21 =1 2 34 5 6A2,2 =7 8 910 11 127、在同一个图中绘制两个函数,这两个函数分别是:y=e(-t/3)y0=e(-t/3)*sin(3t)其中y是用红色的细实线,而y0是用兰色的虚线绘制,t的区间是(0:4p),t的步长为p/50,t轴和y轴分别用斜粗题指示,图中有网格表示。四、编程题1、答案clfx=0:pi/200:2*pi;y1=sin(x);y2=cos(x);zz=x(find(abs(y1-y2) student(iptr).Ave)iptr = jj;endendif ii =iptr temp = student(ii);

12、student(ii) =student(iptr);student(iptr) = temp;endendfor ii=1 : length(student)if student(ii).Ave 80disp(student(ii).Name);disp(student(ii).Ave);endenddisp(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,

13、blanks(20),num2str(student(ii).Ave);end一、填空题(每空2分,总共30分)1. 已知A=0 9 6;1 3 0;B=1 4 3;1 5 0;写出下列各指令运行的结果。A & B 的运行结果ans= ;A ./ B 的运行结果ans= 。2. 产生4阶全0方阵的命令为 zeros(4) ;产生3阶全1方阵的命令为 ones(3) 。3. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为 和 2,5,5 。4. 标点符号 分号 可以使命令行不显示运算结果, 百分号 用来表示该行为注释行。5. 用if判断语句判断80 x 6

14、0,在MATLAB中if语言后的判断应写为 if x60 。6. P, Q分别是个多项式的系数矢量,求P对应的多项式的积分(对应的常数项为K),使用的命令是 polyint(P,K) ;求P/Q的解,商和余数分别保存在k和r,使用的命令是 k,r=deconv(P,Q) ;7. 为了使两个plot的图形在同一个坐标显示,可以使用 hold on 命令进行图形保持;可以使用 grid on 命令为图形添加网格。8. MATLAB的工作空间中有三个变量v1, v2, v3,写出把它们保存到文件my_data.mat中的指令 save my_data ;写出把my_data.mat文件中的变量读取到

15、MATLAB工作空间内的指令 load my_data 。二、选择题(每空2分,总共20分)1.下列哪个变量的定义是不合法的 A (A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz2. 下列哪条指令是求矩阵的行列式的值 C (A) inv (B) diag (C) det (D) eig3. 在循环结构中跳出循环,执行循环后面代码的命令为 B (A) return (B) break (C) continue (D) keyboard4. 清空Matlab工作空间内所有变量的指令是 C (A) clc (B) cls (C) clear (D) clf5. 用ro

16、und函数四舍五入对数组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 96. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C (A) a*b (B) a .*b (C) a*b (D) a-b7. 角度,计算其正弦函数的运算为 D (A) SIN(deg2rad(x)) (B) SIN(x) (C) sin(x) (D) sin(deg2rad(x)8. 下面的程序执行后array的值为 ( A )for k=1:10 if k6 break; elsearray(k) =

17、 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.9i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c的值分别是多少?(A)a=4, b=4, c=2.0000i (C)(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.0000i10. 求解方程x4-4x3+12x-9

18、 = 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三、写出程序的执行结果或写出给定要求的指令(总共35分)1. 写出执行以下代码后C,D,E的值 (6分)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. 写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值 (5分)x=0,1,0

19、,2,0,3,0,4; for k=1:8 if x(k)=0 x(k)=k; else x(k)=2*k+1; endenddisp(x);3. 创建符号函数并求解,要求写出步骤和运行结果(7分)(1)创建符号函数f=ax2+bx+c(2)求f=0的解4. 求解以下线性方程组,要求写出程序代码和运行结果(5分)5绘制函数曲线,要求写出程序代码(12分)(1)在区间0:2均匀的取50个点,构成向量(2)在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号四、使用MATLAB语言进行编程(15分)打

20、印出所有的水仙花数。所谓“水仙花数”,是指一个三位数,其各位数字立方之和等于该数本身。一、填空题1、ans = 0 1 1 1 1 0ans = 0 2.2500 2.00001.0000 0.6000 NaN2、 zeros(4)ones(3)3、 2 5 5 4、 ;%5、 if x606、 polyint(P,K)k,r= deconv (P,Q)7、 hold ongrid on8、 save my_dataLoad my_data二、选择题1、 A 2、 C 3、 B 4、 C 5、 C 6、 C7、 D 8、 A 9、 C 10、 A三、写出程序的执行结果或写出给定要求的指令1、

21、c = 0 + 2.0000iD = 2 3 5 6 8 9E = 4 52、1 5 3 9 5 13 7 173、 syms a b c x s = a*x2 + b*x + c; solve(s) ans = 1/2/a*(-b+(b2-4*a*c)(1/2) 1/2/a*(-b-(b2-4*a*c)(1/2)4、 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

22、 = 7*x1 + x2 - 2*x3 + 2*x4 -5; x1,x2,x3,x4 = solve(f,g,h,i) x1 =13/17x2 =320/187x3 =212/187x4 =19/1875、t = linspace(0, 2*pi, 50);plot(t,y1,r-o ,t,y2,b-*);四、使用MATLAB语言进行编程for k = 100:999a = fix(k/100);b = rem(fix(k/10),10);c = rem(k,10);if a.3 + b.3 + c.3 = kfprintf( “%u,tt”, k );endend一、 基本知识填空题(每空1

23、分,共20分)1. MATLAB的通用命令中列出内存中的变量目录可用 命令;若对函数功能和用法不熟悉,可用 命令;显示变量、阵列或文本时,可用 命令;清除工作空间中的变量时,可用 命令;保存和恢复工作空间,或者工作空间中的特定变量时,可用 和 命令。2. 在MATLAB图形系统中,如果需要给已经绘制好的图形加上栅格线,可以使用 命令,如果需要在指定的坐标位置标注文本时使用的函数为 ,需要绘制多条曲线,保持当前图形窗口可使用 命令。3. 用MATLAB绘制条形图时可使用 函数,绘制柱状图,用以表示数据值的分布情况时可使用 函数。4. MATLAB中用于控制不定次重复循环语句为 ,若在循环执行过程

24、中需要终止该循环时采用的语句为 。5. 对于MATLAB中的多维阵列,在保持所有元素个数和内容不变的前提下可以使用 函数改变其尺寸和维数;利用 函数可以定义单元阵列。6. 在MATLAB中,可用内部函数与工具箱函数产生矩阵,其中如果要产生单位阵可用 函数,产生对角阵可用 函数,产生均匀分布的随机阵可用 函数。7. 在MATLAB中,将含有小数的数值转换成字符串可用 命令,在字符串中查找子字符串可用 命令。二、选择题(每题4分,共20分)1. 设A=2 4 3; 5 3 1; 3 6 7,则sum(A),length(A)和size(A)的结果( )A. 10 13 11 9 3 3 B. 9

25、9 16 3 3 3C. 9 9 16 9 3 3 D. 10 13 11 3 3 32. 下列关于脚本文件和函数文件的描述中不正确的是( )A. 去掉函数文件第一行的定义行可转变成脚本文件;B. 函数文件可以在命令窗口直接运行;C. 脚本文件可以调用函数文件;D. 函数文件中的第一行必须以function开始;3. 在Command Window窗口中分别输入下列命令,对应输出结果错误的是( )A. x=-3:2 x=-3 -2 1 0 1 2 B. x=zeros(1,2);x0 ans=0 0C. y=diag(eye(3),2). y=0 0 D. 3-2*rand(1,2) ans=

26、1.0997 2.53774. 对于矩阵B,统计其中大于A的元素个数,可以使用的语句是( )A. length(B) - length(find(BA) C. length(sum(BA) D. sum(length(BA)5. 已知str1=find, str2=fund, str3=I like you,有:k1=sum(str1=str2), k2=sum(strrep(str1,i,u)=str2), k3=findstr(str3,ke), 则k1,k2,k3的结果分别为:( )A. 3, 3, 5 B. 3, 4, 5 C. 4, 3, 5 D. 3, 4, 6三、程序填空(每空2

27、分,共12分) 1. 编写MATLAB程序,用三阶多项式来拟合数据,在同一图形窗口中绘制拟合前和拟合后两条曲线,并对图形坐标轴进行控制。程序如下:x=1, 2, 3, 4, 5;y=5.1, 6.2, 7.0, 8.2, 9.3; %采用三阶多项式拟合x2=1:0.1: 5;y2= ; %拟合后的曲线figure(1)plot(x,y,o,x2,y2); %绘制曲线m1 = max(y, y2); m2 = min(y, y2); ; %用axis调制坐标轴,横坐标在0 6之间,且完全显示图形 ; %加上标题“多项式曲线拟合”2. 编写MATLAB程序,对于用户输入的向量或矩阵,计算其平均值:

28、 % 提示输入数据并保存到x中,命令行显示“请输入数据”y = reshape(x,1, prod(size(x);m = ; % 计算均值m四、(8分) 为解下列线性方程组,请写出MALAB语言程序。 4 x1 +2 x3 +3 x4 = 9 3 x2 +2 x3 + 3x4 = 8 2 x1 + x4 = 10 x3 -2 x2 + 3x4 =7五、(10分) 利用menu函数输入选择参数len,输入菜单的名称为“select an num”,根据len的取值分别给变量x赋不同的值。当len=1时,x的值为的值为4行3列全0矩阵;当len=2时,x的值为3行4列全为5的矩阵;当len=3时

29、,x的值为5行3列均值为0,方差为1的正态分布的随机矩阵;当len=4时,x的值为字符串“not an array”; 当len为其它值时,则显示“Error”。要求使用switch函数。六、(15分)某混合信号有2个不同频率的确知信号,加上正态分布的随机噪声构成,噪声功率为4,2个确知信号分别为:、,其中信号频率分别为Hz、Hz,采样频率为Hz,采样点128点,即n=0,1,2,127。编程完成以下内容:(1) 求出信号的频谱(用到的函数有fft和abs)。(2) 以图形的方式比较信号波形和信号频谱,要求把图形窗口分成2个子窗口,分别画出:时域信号波形(横坐标为 “Time”,纵坐标为 “a

30、mplitude”,标题为 “信号时域与频域波形”)、信号频谱(横坐标为 “frequency(Hz)”,纵坐标为 “frequency spectral”)。七、(15分)某宿舍有4名同学期末考试的成绩为下表所示:姓名(name)liweiwangjunliuzhizhanglin课程及成绩英语(eng)85838090物理(phy)75846975数学(math)78927781计算机(computer)83878278编程完成以下内容:(1) 基于表格内容构建结构阵列,结构名为student。对每名同学成绩按学分加权求出综合测评分。其中eng(英语)、物理(phy)、math(数学)的学

31、分分别为3 4 5 2,综合测评分的计算公式如下:,为课程成绩,为相应的学分,n为成绩个数。(2) 基于表格内容构建单元阵列,单元阵列名为student1,单位阵列中每一行保存一个学生的信息,包括学生姓名和学生各门课成绩。通过访问单元阵列,计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的单元阵列。最终得到的单元阵列格式为: 姓名 成绩 平均分学生1学生2学生3学生4一、 基本知识填空题(每空1分,共20分)1、whos help disp clear save load2、grid on text hold on3、bar(或barh) hist4、while(while end

32、) break5、reshape cell6、eye diag rand7、num2str findstr二、 选择题(每题4分,共20分)D B C B B 三、 程序填空题(每空2分,共12分) p=polyfit(x,y,3) y2=polyval(p,x2) axis(0 6 m2 m1) title(多项式曲线拟合) x = input(请输入数据 n) 或 x = input(请输入数据) m = mean(y) 四、(8分)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=Ab; 或x=inv(A)*b; %3分

33、另一种答案:A=4 0 2 0;0 3 0 -2; 2 2 0 1; 3 3 1 3; %3分b=9 8 10 7; %2分x=b/A;或x=b*inv(A); %3分五、(10分)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分otherwisedisp(Error) %1分end六、(15分)f1=2;

34、f2=5; fs=20; n=0:127; %1分 s1=10*sin(2*pi*f1*n/fs); %1分 s2=5*sin(2*pi*f2*n/fs); %1分 noise=2*randn(size(n); %2分 s=s1+s2+noise; %1分s_f= fft(s); %1分m_f=abs(s_f); %1分 或m_f=abs(fft(s) %2分f=(0:length(s_f)-1)*fs/length(s_f) 或 f=n*fs/length(n) %2分 figure(1);subplot(2,1,1); plot(n,s); %1分title(信号时域与频域波形); %1分xlabel(Time); ylabel(amplitude); %1分subplot(2,1,2); plot(f,m_f); %1分xlabel(frequency(Hz); ylabel(frequency spectral); %1分七、(15分) % 构建结构阵列3分,也可用赋值语句逐个赋值student=struct(name,liwei wangjun l

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁