《2022年MATLAB期末考试试卷汇总 .pdf》由会员分享,可在线阅读,更多相关《2022年MATLAB期末考试试卷汇总 .pdf(24页珍藏版)》请在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)=
3、ch(k)- ( a-A); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 24 页 - - - - - - - - - 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
4、*t);plot(t,y,-r,t,y0,:b,t,-y0,:b)xlabel(it t);ylabel(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 来表示 ):price200 没有折扣200price500 3%
5、折扣500price1000 5% 折扣1000price2500 8% 折扣2500price5000 10% 折扣5000price 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根据平均值排序,并
6、输出学生的姓名、学号和平均成绩。(4 分)参考答案一、填空题(每空1 分, 20 分)1、MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)、命令历史窗口、当前目录窗口、内存数组编辑器、M 文件编辑 /调试器、帮助导航 /浏览器、图形窗口等。2、MATLABInf或 inf 表示无穷大、 NaN 或 nan 表示不是一个数、nargout 表示函数输出宗量数目。3、MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号。4、工作空间浏览器主要用于内存变量的查阅、保存和编辑。5、MATLAB 实现将全下标转换为单下标的指令为
7、Sub2ind、据单下标换算出全下标的指令为Ind2sub。6、二维数组的标识有“全下标”标识、“单下标”标识、“逻辑1” 标识。7、在一个元胞数组A 中寻访第 2 行第 3 列元胞元素用A(2,3) ;寻访数组第2 行第 3 列元胞中的内容用A2,3 。8、MATLAB中 clf 用于清除图形窗、clc 用于清除指令窗中显示内容、clear用于清除 MATLAB工作空间中保存的变量。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 24 页 - - - - - - - -
8、 - 二、简答题(每题5 分,共 20 分)1.简述 MATLAB历史指令窗的主要作用。历史指令窗记录着用户在MATLAB指令窗中所输入过的所有指令。历史记录包括:每次开启MATLAB的时间,每次开启MATLAB后在指令窗中运行过的所有指令。应用功能有单行或多行指令的复制和运行、生成M 文件等。2、简述空数组的功用。“空”数组的功用:在没有“空”数组参与的运算时,计算结果中的“空”可以合理地解释“所得结果的含义”;运用“空”数组对其他非空数组赋值,可以改变数组的大小,但不能改变数组的维数。3、简述 MATLAB函数的基本结构。典型 M 函数文件的结构:函数申明(定义)行(Function de
9、claration 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 =102030A
10、=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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 24 页 - - - - - - - - - A =0 0 5 7 0
11、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 -2ans =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 c
12、ell;A1,2=1 2 3;4 5 6;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 24 页 - - - - - - - - - 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 + 2.0000iA1,21 =1 2 34 5 6A2,2 =7 8 910 11 127、在同一个图中绘制两个函数,这两个函数分别是:y=e(-t/3)y0=e(
13、-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) student(iptr).Ave)iptr = jj;endendif ii =iptr temp = student(ii);student(ii) =student(iptr);student(iptr) = temp;endendfor ii=1 : length(stud
14、ent)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,blanks(20),num2str(student(ii).Ave);end名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
15、- - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 24 页 - - - - - - - - - 一、填空题(每空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. 标点符号分号可以使
16、命令行不显示运算结果,百分号用来表示该行为注释行。5. 用 if判断语句判断80 x 60,在 MATLAB 中 if语言后的判断应写为 if x60 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 24 页 - - - - - - - - - 6. P, Q 分别是个多项式的系数矢量,求P对应的多项式的积分(对应的常数项为K ) ,使用的命令是 polyint(P,K) ;求 P/Q 的解,商和余数分别保存在k 和 r ,使用的命令是 k,r=deconv(P,Q)
17、;7. 为了使两个plot的图形在同一个坐标显示,可以使用 hold on 命令进行图形保持;可以使用 grid on 命令为图形添加网格。8. MATLAB的工作空间中有三个变量v1, v2, v3,写出把它们保存到文件my_data.mat中的指令 save my_data ;写出把my_data.mat 文件中的变量读取到MATLAB 工作空间内的指令 load my_data 。二、选择题(每空2 分,总共20 分)1. 下列哪个变量的定义是不合法的 A (A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz 2. 下列哪条指令是求矩阵的行列式的值 C (A)
18、 inv (B) diag (C) det (D) eig 3. 在循环结构中跳出循环,执行循环后面代码的命令为 B (A) return (B) break (C) continue (D) keyboard 4. 清空 Matlab 工作空间内所有变量的指令是 C (A) clc (B) cls (C) clear (D) clf 5. 用 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 6. 已知 a=2:2:8, b=2:5,下面的运算表达式中,出错的为
19、 C (A) a*b (B) a .* b (C) a*b (D) a-b 7. 角度604530 x,计算其正弦函数的运算为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; 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 =1
20、0.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.0000i 10. 求解方程 x4-4x3+12x-9 = 0 的所有解(A)1.0000, 3.0000, 1.7321, -1.7321 (B)1.0000, 3.0000, 1.7321i, -1.7321i (C)1.0000i, 3.0000i,
21、1.7321, -1.7321 (D)-3.0000i, 3.0000i, 1.7321, -1.7321 三、写出程序的执行结果或写出给定要求的指令(总共35 分)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 24 页 - - - - - - - - - 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 命令窗口上显示
22、的x矩阵的值 (5 分) x=0,1,0,2,0,3,0,4; for k=1:8 if x(k)=0 x(k)=k; else x(k)=2*k+1; end end disp(x); 3. 创建符号函数并求解,要求写出步骤和运行结果(7 分)(1) 创建符号函数f=ax2+bx+c (2) 求 f=0 的解4. 求解以下线性方程组,要求写出程序代码和运行结果(5 分)2x1- 3x2+ x3+2x4=8 x1+3x2+ x4=6 x1- x2+ x3+8x4=17x1+ x2-2x3+2x4=55绘制函数曲线,要求写出程序代码(12 分) (1) 在区间 0:2 均匀的取 50 个点,构成
23、向量(2) 在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求 y1 曲线为红色点划线,标记点为圆圈;y2 为蓝色虚线,标记点为星号四、使用 MATLAB 语言进行编程( 15 分)打印出所有的水仙花数。所谓“水仙花数”,是指一个三位数,其各位数字立方之和等于该数本身。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 24 页 - - - - - - - - - 一、填空题1、ans = 0 1 1 1 1 0 ans = 0 2.25
24、00 2.0000 1.0000 0.6000 NaN 2、 zeros(4) ones(3) 3、 2 5 5 4、 ;% 5、 if x60 6、 polyint(P,K) k,r= deconv (P,Q) 7、 hold on grid on 8、 save my_data Load my_data 二、选择题1、 A 2、 C 3、 B 4、 C 5、 C 6、 C 7、 D 8、 A 9、 C 10、 A 三、写出程序的执行结果或写出给定要求的指令1、c = 0 + 2.0000i D = 2 3 5 6 8 9 E = 4 5 2、1 5 3 9 5 13 7 17 3、 sym
25、s 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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 24 页 - - - - - - - - - f = 2*x1 + 3*x2 + x3 + 2*x4 -8; g = x
26、1 + 3*x2 + x4 - 6; h = x1 - x2 + x3 + 8*x4 - 1; i = 7*x1 + x2 - 2*x3 + 2*x4 -5; x1,x2,x3,x4 = solve(f,g,h,i) x1 = 13/17 x2 = 320/187 x3 = 212/187 x4 = 19/187 5、t = linspace(0, 2*pi, 50); plot(t,y1,r-o ,t,y2,b-*); 四、使用 MATLAB 语言进行编程for k = 100:999 a = fix(k/100); b = rem(fix(k/10),10); c = rem(k,10);
27、 if a.3 + b.3 + c.3 = k fprintf( “%u,tt”, k ) ; end end 一、基本知识填空题(每空 1 分,共 20 分) 1.MATLAB的通用命令中列出内存中的变量目录可用命令;若对函数功能和用法不熟悉,可用命令;显示变量、阵列或文本时,可用名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 24 页 - - - - - - - - - 命令;清除工作空间中的变量时,可用命令;保存和恢复工作空间,或者工作空间中的特定变量时,可用和命
28、令。2.在 MATLAB图形系统中,如果需要给已经绘制好的图形加上栅格线,可以使用命令,如果需要在指定的坐标位置标注文本时使用的函数为,需要绘制多条曲线,保持当前图形窗口可使用命令。3.用 MA TLAB 绘制条形图时可使用函数,绘制柱状图,用以表示数据值的分布情况时可使用函数。4.MATLAB 中用于控制不定次重复循环语句为,若在循环执行过程中需要终止该循环时采用的语句为。5.对于 MATLAB 中的多维阵列, 在保持所有元素个数和内容不变的前提下可以使用函数改变其尺寸和维数; 利用函数可以定义单元阵列。6.在 MA TLAB 中,可用内部函数与工具箱函数产生矩阵,其中如果要产生单位阵可用函
29、数,产生对角阵可用函数,产生均匀分布的随机阵可用函数。7.在 MA TLAB 中,将含有小数的数值转换成字符串可用命令,在字符串中查找子字符串可用命令。二、选择题 (每题 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 9 16 3 3 3 C. 9 9 16 9 3 3 D. 10 13 11 3 3 3 2.下列关于脚本文件和函数文件的描述中不正确的是( ) A. 去掉函数文件第一行的定义行可转变成脚本文件; B. 函数文件可以在命令窗口直接运
30、行; 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 0 C. y=diag(eye(3),2). y=0 0 D. 3-2*rand(1,2) ans=1.0997 2.5377 4.对于矩阵 B,统计其中大于A 的元素个数,可以使用的语句是( ) A. length(B) - length(find(BA) C. length(sum(BA) D. sum(
31、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 分,共 12 分) 1.编写 MATLAB 程序,用三阶多项式来拟合数据,在同一图形窗口中绘制拟合前和拟合后两条曲线,并对图形坐标轴进行控制。程序如下:x=1, 2
32、, 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 程序,对于用户输入的向量或矩阵,计算其平均值:% 提示输入数据并保存到x 中,命令行显示“请输入数据”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -
33、- - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 24 页 - - - - - - - - - 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 赋不同的值。 当
34、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 函数。六、 (15 分 )某混合信号有2 个不同频率的确知信号,加上正态分布的随机噪声构成,噪声功率为4, 2 个确知信号分别为:1110sin(2/)ssf nf、225sin(2/)ssf nf,其中信号频率分别为12fHz、25f
35、Hz,采样频率为20sfHz,采样点128 点,即 n=0,1,2,127。编程完成以下内容:(1) 求出信号的频谱(用到的函数有fft 和 abs) 。(2) 以图形的方式比较信号波形和信号频谱,要求把图形窗口分成2 个子窗口,分别画出:时域信号波形(横坐标为“ Time” ,纵坐标为“ amplitude” ,标题为“ 信号时域与频域波形” ) 、信号频谱(横坐标为“ frequency(Hz)” ,纵坐标为“ frequency spectral” ) 。七、 (15 分)某宿舍有4 名同学期末考试的成绩为下表所示:姓名( name)liwei wangjun liuzhi zhangl
36、in 课程及成绩英语( eng)85 83 80 90 物理( phy)75 84 69 75 数学( math)78 92 77 81 计算机( computer)83 87 82 78 编程完成以下内容:(1)基于表格内容构建结构阵列,结构名为student。对每名同学成绩按学分加权求出综合测评分。其中eng(英语 )、物理 (phy) 、math(数学 )的学分分别为3 4 5 2,综合测评分的计算公式如下:11niiixw xw,ix为课程成绩,iw为相应的学分,1niiww,n 为成绩个数。(2)基于表格内容构建单元阵列,单元阵列名为student1,单位阵列中每一行保存一个学生的信
37、息,包括学生姓名和学生各门课成绩。通过访问单元阵列,计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的单元阵列。最终得到的单元阵列格式为:姓名成绩平均分学生 1 学生 2 学生 3 学生 4 一、 基本知识填空题(每空 1 分,共 20 分) 1、whos help disp clear save load 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 24 页 - - - - - - - - - 2、grid on text hold on 3、bar(
38、或 barh) hist 4、while(while end) break 5、reshape cell 6、eye diag rand 7、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 -
39、2 1 3; %3 分b=9 8 10 7; %2 分x=Ab; 或 x=inv(A)*b; %3 分另一种答案 : 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 分c
40、ase 4 y= not an array;%1 分otherwise disp( Error ) %1 分end 六、 (15 分)f1=2; 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 分名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 24 页 - - - - - - - - - s=s1+s2
41、+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( f
42、requency spectral ); %1 分七、(15 分) % 构建结构阵列3 分,也可用赋值语句逐个赋值student=struct(name,liwei wangjun liuzhi zhanglin,. eng,85 75 78 83, phy 83 84 92 87, math 80 69 77 82, computer 90 75 81 78 ); %加权求平均, %7 分w=3 4 5 2; w=w/sum(w); student_num=length(student); syn_score=zeros(1,student_num); for i=1:student_num
43、 syn_score(i)=student(i).eng*w(1)+student(i).phy*w(2). +student(i).math*w(3)+student(i).computer*w(4); end 构建单元阵列%3 分student1 = liwei , 85 75 78 83; wangjun , 83 84 92 87; liuzhi , 80 69 77 82; zhanglin , 90 75 81 78; for i=1: length(student1) student1i,3 = mean(student1i,2); %更新正确2 分end 二、基本知识填空题(每
44、空 1 分,共 20 分) 8.MATLAB 的通用命令中若对函数功能和用法不熟悉,可用命令;显示变量、阵列或文本时,可用命令;清除工作空间中的变量时,可用命令;保存和恢复工作空间,或者工作空间中的特定变量时,可用和命令。9.MATLAB 系统提供了两个重要部件:和,它们在系统和用户编程中,占据重要的地位。10.在 MA TLAB 中,可用内部函数与工具箱函数产生矩阵,其中如果要产生单位阵可用函数,产生全0 阵可用函数,产生全 1 阵可用函数,产生对角阵可用函数。11.在 MATLAB图形系统中,如果需要给已经绘制好的图形加上栅格线,可以使用命令,如果需要在指定的坐标位置标注文本时使用的函数为
45、。12.用 MA TLAB 绘制极坐标中的图形时可以使用函数,绘制条形图时可使用函数,绘制柱状图,用以表示数据值的分布情况时可使用函数。13.MATLAB 中用于控制不定次重复循环语句为,若在循环执行过程中需要终止该循环时采用的语句为。14.对于 MATLAB 中的多维阵列, 在保持所有元素个数和内容不变的前提下可以使用函数改变其尺寸和维数; 利用函数可以定义单元阵列。二、选择题 (每题 4 分,共 20 分) 6.设 A=1 2 3; 3 4 5; 5 6 7; 7 8 9 ,则 sum(A),length(A) 和 size(A)的结果 ( ) A. 16 20 24 3 4 3 B. 6
46、 12 18 24 3 3 4 C. 6 12 18 24 4 4 3 D. 16 20 24 4 4 3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 24 页 - - - - - - - - - 7.设 X=0:0.5*pi:pi, Y=cos(X)且 Z=sin(X) ,那么 Y.*Z, Y*Z 和 cat(1,Y,Z)的结果分别为 ( ) A. 0 0 0 0 1 0 -1; 0 1 0 B. 0 0 0 0 1 0 -1 0 1 0 C. 0 0 0 0 1
47、 0; 0 0 0; 0 -1 0 1 0 -1; 0 1 0 D. 0 1 0; 0 0 0; 0 -1 0 0 0 0 1 0 -1 0 1 0 8.对于矩阵 A,统计其中大于T 的元素个数,可以使用的语句是( ) A. length(A) - length(find(AT) C. sum(sum(AT) D. sum(length(AT) 9.假设多维阵列A=rand(5,5,4) ,下面对 A 进行各种不同的操作,其中错误的是( ) A. sin(A).*cos(A) B. A1(1) = A C. sum(A)+length(A) D. A12 = num2cell(A) 10.已知
48、 str1= sum , str2= sun , str3= XiDian 123 ,有: k1=sum(str1=str2), k2=sum(strrep(str1, m , n )=str2), k3=findstr(str3, an ), 则 k1,k2,k3的结果分别为:( ) A. 2, 2, 5 B. 2, 3, 5 C. 3, 2, 4 D. 2, 3, 4 三、程序填空 (每空 3 分,共 15 分) 3.编写 MATLAB 程序,在同一图形窗口中绘制y1 和 y2 两条曲线,并对图形坐标轴进行控制。程序如下:x = -3:0.1: 3; y1 = 2*x+5; y2 = x.
49、2-3*x; plot(x,y1); %绘制曲线 y1 ; %保持曲线 y1plot(x,y2); %绘制曲线 y2 m1 = max(y1, y2); m2 = min(y1, y2); ; %用 axis 调制坐标轴,横坐标在-3 3之间,且完全显示图形; %加入图形注释,横坐标为“时间”,纵坐标为“幅度”4.编写 MATLAB 程序,对于用户输入的向量或矩阵,计算其平均值和方差:; % 提示输入数据并保存到x 中,命令行显示“请输入数据”y = reshape(x,1, prod(size(x); m = mean(y); % 计算均值 m ; % 计算方差v 四、 (10 分) 为解下
50、列线性方程组,请写出MALAB语言程序。3 x1 + x2 + 5x4 = 2 6 x2 +7 x3 + 3x4 = 4 4 x2 +3 x3 = 7 2x1 - x2 + 2 x3 + 6x4 =8 五、 (10 分) 利用 menu 函数和 switch 函数编写脚本文件。输入选择ch,当 ch=1 时,产生 -1, 1之间均匀分布的随机数;ch=2 时,产生大小为 5x5 的对角阵,其中每个元素在0, 1 之间均匀分布;当ch=3 时,产生均值为0,方差为 1 的正态随机数;当ch=4 时,产生均值为5,方差为 4 的大小为 5x5 的正态随机矩阵;当ch=5 时,直接退出菜单。六、 (