《MATLAB期末考试试卷汇总.pdf》由会员分享,可在线阅读,更多相关《MATLAB期末考试试卷汇总.pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MATLABMATLAB 期末考试试卷及其参考答案期末考试试卷及其参考答案一、填空题一、填空题1、MATLAB 常用操作界面包括、工作空间窗口、 、内存数组编辑器、M 文件编辑/调试器、帮助导航/浏览器、图形窗口等。2、MATLAB 中 Inf 或 inf 表示、NaN 或 nan 表示、nargout 表示。3、MATLAB 中逗号主要用作;用作输入量与输入量之间的分隔符;。4、工作空间浏览器主要用于内存变量的、和。5、MATLAB 实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。6、二维数组的标识有、“逻辑 1”标识。二、简答题二、简答题1、简述 MATLAB 历史指令窗的
2、主要作用。2、简述空数组的功用。3、简述 MATLAB 函数的基本结构。4、简述绘制二维图形的一般步骤。三、阅读程序并答复以下问题每题三、阅读程序并答复以下问题每题 4 4 分,共分,共 2828 分分1、写出以下指令运行结果。A=zeros(2,4);A=zeros(2,4);A(:)=1:8;A(:)=1:8;s=2 3 5;s=2 3 5;A(s)A(s)Sa=10 20 30Sa=10 20 30A(s)=SaA(s)=Sa2、写出以下指令运行结果。A=reshape(1:16,2,8)A=reshape(1:16,2,8)reshape(A,4,4)reshape(A,4,4)s=1
3、 3 6 8 9 11 14 16;s=1 3 6 8 9 11 14 16;A(s)=0A(s)=03、写出以下指令运行结果。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)=ch(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、下面的程序完成功能是什么?
4、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;四、编程题四、编程题3232 分分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、某商场对顾客所购买的商品实行打折销售,标准如下(
5、商品价格用 price 来表示):price200 没有折扣200price500 3%折扣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 并计算平
6、均成绩写入到平均值域。4 分C根据平均值排序,并输出学生的、学号和平均成绩。4 分参考答案参考答案一、填空题每空一、填空题每空 1 1 分,分,2020 分分1、MATLAB 常用操作界面包括命令窗口、工作空间窗口浏览器、命令历史窗口、当前目录窗口、内存数组编辑器、M 文件编辑/调试器、帮助导航/浏览器、图形窗口等。2、MATLABInf 或 inf 表示无穷大、NaN 或 nan 表示不是一个数、nargout 表示函数输出宗量数目。3、MATLAB 中逗号主要用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号。4、工作空间浏览器主要用于内存变量的
7、查阅、保存和编辑。5、MATLAB 实现将全下标转换为单下标的指令为 Sub2ind、据单下标换算出全下标的指令为 Ind2sub。6、二维数组的标识有“全下标”标识、“单下标”标识、“逻辑 1”标识。7、在一个元胞数组 A 中寻访第 2 行第 3 列元胞元素用 A(2,3);寻访数组第2 行第 3 列元胞中的内容用 A2,3。8、MATLAB 中 clf 用于清除图形窗、clc 用于清除指令窗中显示内容、clear用于清除 MATLAB 工作空间中保存的变量。二、简答题每题二、简答题每题 5 5 分,共分,共 2020 分分1.简述 MATLAB 历史指令窗的主要作用。历史指令窗记录着用户在
8、 MATLAB 指令窗中所输入过的所有指令。历史记录包括:每次开启 MATLAB 的时间,每次开启 MATLAB 后在指令窗中运行过的所有指令。应用功能有单行或多行指令的复制和运行、生成 M 文件等。2、简述空数组的功用。“空”数组的功用:在没有“空”数组参与的运算时,计算结果中的“空”可以合理地解释“所得结果的含义”;运用“空”数组对其他非空数组赋值,可以改变数组的大小,但不能改变数组的维数。3、简述 MATLAB 函数的基本结构。典型 M 函数文件的结构:函数申明定义行(Function declaration line)、H1 行(The first help text line)、在线
9、帮助文本(Help text)区、编写和修改记录、函数体(Function body)。4、简述绘制二维图形的一般步骤。绘制二维图形的一般步骤为:曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。三、阅读程序并答复以下问题每题三、阅读程序并答复以下问题每题 4 4 分,共分,共 2828 分分1、写出以下指令运行结果。A=zeros(2,4);A=zeros(2,4);A(:)=1:8;A(:)=1:8;s=2 3 5;s=2 3 5;A(s)A(s)Sa=10 20 30Sa=10 20 30A(s)=SaA(s)=Saans =2
10、 3 5Sa =102030A =1 20 30 710 4 6 82、写出以下指令运行结果。A=reshape(1:16,2,8)A=reshape(1:16,2,8)A =1 3 5 7 9 11 13 152 4 6 8 10 12 14 16reshape(A,4,4)reshape(A,4,4)ans =1 5 9 132 6 10 143 7 11 154 8 12 16s=1 3 6 8 9 11 14 16;s=1 3 6 8 9 11 14 16;A(s)=0A(s)=0A =0 0 5 7 0 0 13 152 4 0 0 10 12 0 03、写出以下指令运行结果。A=1
11、,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 cell;A1,2=1 2 3;4 5 6;A2,1=1+2*i;A2,2=A1,21+(A1,2
12、1(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(-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)
13、 student(iptr).Ave)iptr = jj;endendif ii =iptrtemp = student(ii);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
14、: length(student)disp(student(ii).Name,blanks(20),student(ii).No,blanks(20),num2str(student(ii).Ave);end一、填空题每空一、填空题每空 2 2 分,总共分,总共 3030 分分1.1. 已知 A=0 9 6;1 3 0;B=1 4 3;1 5 0;写出以下各指令运行的结果。A & B 的运行结果 ans=;A ././ B 的运行结果 ans=。2.2. 产生 4 阶全 0 方阵的命令为 zeros(4) ;产生 3 阶全 1 方阵的命令为 ones(3) 。3.3. A=rand(2,5);
15、b=size(A);c=length(A);则 b 和 c 的值分别为和 2,5,5。4.4. 标点符号 分号 可以使命令行不显示运算结果, 百分号 用来表示该行为注释行。5.5. 用 if 判断语句判断 80 x 60,在 MATLAB 中 if 语言后的判断应写为 if x60。6.6. P, Q 分别是个多项式的系数矢量,求 P 对应的多项式的积分对应的常数项为 K ,使用的命令是 polyint(P,K) ;求 P/Q 的解,商和余数分别保存在 k 和 r,使用的命令是 k,r=deconv(P,Q) ;7.7. 为了使两个 plot 的图形在同一个坐标显示,可以使用 hold on命
16、令进行图形保持;可以使用 grid on 命令为图形添加网格。8.8. MATLAB 的工作空间中有三个变量 v1, v2, v3,写出把它们保存到文件 my_data.mat 中的指令 save my_data;写出把my_data.mat 文件中的变量读取到 MATLAB 工作空间内的指令 load my_data。二、选择题每空二、选择题每空 2 2 分,总共分,总共 2020 分分1.1.以下哪个变量的定义是不合法的 A(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz2.2. 以下哪条指令是求矩阵的行列式的值 C(A) inv (B) diag (C)
17、det (D) eig3.3. 在循环结构中跳出循环,执行循环后面代码的命令为 B(A) return (B) break (C) continue (D) keyboard4.4. 清空 Matlab 工作空间内所有变量的指令是 C(A) clc (B) cls (C) clear (D) clf5.5. 用 round 函数四舍五入对数组2.48 6.39 3.93 8.52取整,结果为 C C(A) 2 6 3 8 (B) 2 6 4 8 (C) 2 6 4 9 (D) 3 7 4 96.6. 已知 a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C C(A) a*b (B)
18、 a .*.*b (C) a*b (D) a-b7.7. 角度x 304560,计算其正弦函数的运算为 D D(A) SINdeg2rad(x) (B) SIN(x) (C) sin(x) (D) sin(deg2rad(x)8.8. 下面的程序执行后 array 的值为 ( A ) ( A )for k=1:10 if k6 break; elsearray(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. .9 9i
19、=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c 的值分别是多少?(A)a=4, b=4, c=2.0000i (C) (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.10. 求解方程 x -4x +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, 1.
20、7321, -1.7321(D)-3.0000i, 3.0000i, 1.7321, -1.7321三、写出程序的执行结果或写出给定要求的指令总共三、写出程序的执行结果或写出给定要求的指令总共 3535 分分431.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.2. 写出执行以下代码后,MATLAB命令窗口上显示的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; endenddisp(x);3
21、.3. 创建符号函数并求解,要求写出步骤和运行结果7 分2(1)创建符号函数 f=ax +bx+c(2)求 f=0 的解4.4. 求解以下线性方程组,要求写出程序代码和运行结果5 分5 5绘制函数曲线,要求写出程序代码(12 分)(1)在区间0:2均匀的取 50 个点,构成向量(2)在同一窗口绘制曲线 y1=sin(2*t-0.3); y2=3cos(t+0.5);要求 y1 曲线为红色点划线,标记点为圆圈;y2 为蓝色虚线,标记点为星号四、使用四、使用 MATLABMATLAB 语言进行编程语言进行编程1515 分分打印出所有的水仙花数。所谓“水仙花数” ,是指一个三位数,其各位数字立方之和
22、等于该数本身。2x1- 3x2+ x3+2x4=8 x1+3x2+ x4=6 x1- x2+ x3+8x4=17x1+ x2-2x3+2x4=5一、填空题一、填空题1 1、ans = 0 1 1 1 1 0ans = 0 2.2500 2.00001.0000 0.6000 NaN2 2、 zeros(4)3 3、 2 5 4 4、 ;ones(3) 5 %k,r= deconv (P,Q)grid onLoad my_data5 5、 if x606 6、 polyint(P,K)7 7、 hold on二、选择题二、选择题1 1、 A 2 2、 C 3 3、 B 4 4、 C 5 5、 C
23、 6 6、 C7 7、 D 8 8、 A 9 9、 C 1010、 A三、写出程序的执行结果或写出给定要求的指令三、写出程序的执行结果或写出给定要求的指令1 1、c = 0 + 2.0000iD = 2 3 5 6 8 9E = 4 52 2、1 5 3 9 5 13 7 173 3、 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 4、 syms a b c x syms x1 x2 x3 x4 clear syms x1 x2 x3 x48
24、 8、 save my_data f = 2*x1 + 3*x2 + x3 + 2*x4 -8; g = x1 + 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/17x2 =320/187x3 =212/187x4 =19/1875 5、t = linspace(0, 2*pi, 50);plot(t,y1,r-o ,t,y2,b-*);四、使用四、使用 MATLABMATLAB 语言进行编程语言进行编程for k =
25、100:999enda = fix(k/100);b = rem(fix(k/10),10);c = rem(k,10);if a.3 + b.3 + c.3 = kendfprintf( “%u,tt”, k );一、 基本知识填空题(每空 1 分,共 20 分)1.MATLAB 的通用命令中列出内存中的变量目录可用命令;假设对函数功能和用法不熟悉,可用命令;显示变量、阵列或文本时,可用命令;清除工作空间中的变量时,可用命令;保存和恢复工作空间,或者工作空间中的特定变量时,可用和命令。2.3.4.5.6.7.二、选择题(每题 4 分,共 20 分)1.设 A=2 4 3; 5 3 1; 3
26、6 7,则 sum(A),length(A)和 size(A)的结果()A.10 13 1193 3B.9 9 1633 3C.9 9 1693 3D.10 13 1133 32.以下关于脚本文件和函数文件的描述中不正确的选项是()A. 去掉函数文件第一行的定义行可转变成脚本文件;B. 函数文件可以在命令窗口直接运行;C. 脚本文件可以调用函数文件;D. 函数文件中的第一行必须以 function 开始;3.在 Command Window窗口中分别输入以下命令,对应输出结果错误的选项是()A. x=-3:2x=-3 -2 1 0 1 2B. x=zeros(1,2);x0ans=0 0C.
27、y=diag(eye(3),2).y=0 0D. 3-2*rand(1,2)ans=1.09972.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, 5B. 3,
28、 4, 5C. 4, 3, 5D. 3, 4, 6三、程序填空(每空 2 分,共 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之间,且完全显示图形; %加上标题“多项式曲线拟合”
29、2.编写 MATLAB 程序,对于用户输入的向量或矩阵,计算其平均值:% 提示输入数据并保存到 x 中,命令行显示“请输入数据”在 MATLAB 图形系统中,如果需要给已经绘制好的图形加上栅格线,可以使用命令,如果需要在指定的坐标位置标注文本时使用的函数为,需要绘制多条曲线,保持当前图形窗口可使用命令。用 MATLAB 绘制条形图时可使用函数,绘制柱状图,用以表示数据值的分布情况时可使用函数。MATLAB 中用于控制不定次重复循环语句为,假设在循环执行过程中需要终止该循环时采用的语句为。对于 MATLAB中的多维阵列, 在保持所有元素个数和内容不变的前提下可以使用函数改变其尺寸和维数; 利用函
30、数可以定义单元阵列。在 MATLAB 中,可用内部函数与工具箱函数产生矩阵,其中如果要产生单位阵可用函数,产生对角阵可用函数,产生均匀分布的随机阵可用函数。在 MATLAB 中,将含有小数的数值转换成字符串可用命令,在字符串中查找子字符串可用命令。y = reshape(x,1, prod(size(x);m =; % 计算均值 m四、(8 分) 为解以下线性方程组,请写出 MALAB 语言程序。4 x1+2 x3+3 x4= 93 x2+2 x3 + 3x4= 82 x1+ x4 = 10 x3-2 x2+ 3x4=7五、(10 分) 利用 menu 函数输入选择参数 len,输入菜单的名称
31、为“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 函数。六、(15 分)某混合信号有2 个不同频率确实知信号,加上正态分布的随机噪声构成,噪声功率为4,2 个确知信号分别为:s110sin(2f1n/ fs
32、)、s2 5sin(2f2n/ fs),其中信号频率分别为f1 2Hz、f2 5Hz,采样频率为fs 20Hz,采样点128 点,即 n=0,1,2,127。编程完成以下内容:(1) 求出信号的频谱用到的函数有 fft 和 abs 。(2) 以图形的方式比较信号波形和信号频谱,要求把图形窗口分成 2 个子窗口,分别画出:时域信号波形横坐标为 “Time”,纵坐标为“amplitude”,标题为 “信号时域与频域波形” 、信号频谱横坐标为 “frequency(Hz)”,纵坐标为 “frequency spectral” 。七、 15 分某宿舍有 4 名同学期末考试的成绩为下表所示:name课
33、程及 成绩英语eng物理phy数学math电脑computer编程完成以下内容:(1)基于表格内容构建结构阵列,结构名为 student。对每名同学成绩按学分加权求出综合测评分。其中 eng(英语)、物理(phy)、math(数学)的学分分别为 3 4 5 2,综合测评分的计算公式如下:n1nx wixi,xi为课程成绩,wi为相应的学分,w wiwi1i1liwei85757883wangjun83849287liuzhi80697782zhanglin90758178,n 为成绩个数。(2)基于表格内容构建单元阵列,单元阵列名为 student1,单位阵列中每一行保存一个学生的信息,包括学
34、生和学生各门课成绩。通过访问单元阵列,计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的单元阵列。最终得到的单元阵列格式为:成绩平均分学生 1学生 2学生 3学生 4一、 基本知识填空题(每空 1 分,共 20 分)1、whoshelpdispclearsaveload2、grid ontexthold on3、bar(或 barh)hist4、while(whileend)break5、reshapecell6、eyediagrand7、num2strfindstr二、 选择题(每题 4 分,共 20 分)DBCBB三、 程序填空题每空 2 分,共 12 分) p=polyfit
35、(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 分另一种答案: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
36、 num,1,2,3,4, 5);%3 分switch len% switch 语句格式写对 2 分case 1y=zeros(4,3);%1 分case 2y=5.*ones(3,4);%1 分case 3y=5+randn(5,3);%1 分case 4y=not an array%1 分otherwisedisp(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 分s=s1+s2
37、+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);%
38、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_numsyn_score(i)=student(i).eng*w
39、(1)+student(i).phy*w(2).+student(i).math*w(3)+student(i)puter*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二、 基本知识填空题(每空 1 分,共 20 分)8.9.MATLAB 的通用命令中假设对函数功能和用
40、法不熟悉,可用命令;显示变量、阵列或文本时,可用命令;清除工作空间中的变量时,可用命令;保存和恢复工作空间,或者工作空间中的特定变量时,可用和命令。MATLAB 系统提供了两个重要部件:和,它们在系统和用户编程中,占据重要的地位。产生全 1 阵可用函数,产生对角阵可用函数。11.在 MATLAB 图形系统中,如果需要给已经绘制好的图形加上栅格线,可以使用命令,如果需要在指定的坐标位置标注文本时使用的函数为。12.用 MATLAB 绘制极坐标中的图形时可以使用函数,绘制条形图时可使用函数,绘制柱状图,用以表示数据值的分布情况时可使用函数。13.MATLAB 中用于控制不定次重复循环语句为,假设在
41、循环执行过程中需要终止该循环时采用的语句为。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 2434 3B.6 12 18 2433 4C.6 12 18 2444 3D.16 20 2444 310.在 MATLAB 中,可用内部函数与工具箱函数产生矩阵,其中如果要产生单位阵可用函数,产生全 0 阵可用函数,7.设 X=0:
42、0.5*pi:pi, Y=cos(X)且 Z=sin(X),那么 Y.*Z, Y*Z和 cat(1,Y,Z)的结果分别为()A.0 0 001 0 -1; 0 1 0B.0 0 001 0 -1 0 1 0C.0 0 00 1 0; 0 0 0; 0 -1 01 0 -1; 0 1 0D.0 1 0; 0 0 0; 0 -1 00 0 01 0 -1 0 1 08.对于矩阵 A,统计其中大于 T 的元素个数,可以使用的语句是()A.length(A) - length(find(AT)C.sum(sum(AT)D.sum(length(AT)9.假设多维阵列 A=rand(5,5,4),下面对
43、 A 进行各种不同的操作,其中错误的选项是()A.sin(A).*cos(A)B.A1(1) = AC.sum(A)+length(A)D.A12 = num2cell(A)10.已知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, 5B. 2, 3, 5C. 3, 2, 4D. 2, 3, 4三、程序填空(每空 3 分,共 15 分)3.编写 MATLAB 程序,在同一图
44、形窗口中绘制 y1 和 y2 两条曲线,并对图形坐标轴进行控制。程序如下:x = -3:0.1: 3;y1 = 2*x+5; y2 = x.2-3*x;plot(x,y1);%绘制曲线 y1; %保持曲线 y1plot(x,y2);%绘制曲线 y2m1 = max(y1, y2); m2 = min(y1, y2); %用 axis 调制坐标轴,横坐标在-3 3之间,且完全显示图形; %加入图形注释,横坐标为“时间” ,纵坐标为“幅度”4.编写 MATLAB 程序,对于用户输入的向量或矩阵,计算其平均值和方差:;% 提示输入数据并保存到 x 中,命令行显示“请输入数据”y = reshape(
45、x,1, prod(size(x);m = mean(y); % 计算均值 m;% 计算方差 v四、(10 分) 为解以下线性方程组,请写出 MALAB 语言程序。3 x1+ x2+ 5x4= 26 x2+7 x3 + 3x4= 44 x2+3 x3 = 72x1- x2+ 2 x3 + 6x4=8五、(10 分) 利用 menu 函数和 switch 函数编写脚本文件。输入选择 ch,当 ch=1 时,产生-1, 1之间均匀分布的随机数;ch=2 时,产生大小为 5x5 的对角阵,其中每个元素在0, 1之间均匀分布;当ch=3 时,产生均值为0,方差为1 的正态随机数;当 ch=4 时,产生
46、均值为5,方差为 4 的大小为 5x5 的正态随机矩阵;当 ch=5 时,直接退出菜单。六、(10 分) 某宿舍有 4 名同学,3 门课程的期末考试成绩如下表所示:namelimingwangleiliujunzhangxiao成绩score要求编程完成以下内容:(3)基于表格内容构建结构阵列,结构名为 student。通过访问结构阵列,计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的结构阵列。最终得到的结构阵列可表示为student.name.score.mean(4)基于表格内容建立二维单元阵列,单位阵列中每一行保存一个学生的信息。通过访问单元阵列,计算每一个学生的平均分,将
47、平均分作为一个新的域,更新已经建立的单元阵列。最终得到的单元阵列格式为:成绩平均分学生 1学生 2学生 3学生 4七、(15 分)某一过程中通过测量得到:ty编程完成以下内容:(1) 分别采用三阶和四阶多项式对数据进行拟合; 提示:采用 polyfit 进行多项式拟合;调用格式为 p = polyfit(t,y,n),n 为多项式阶数,p为得到的多项式系数(2) 比较拟合效果,要求把图形窗口分成两个子窗口,子窗口 1 绘制出原始测量值和三阶多项式拟合后的曲线,子窗口 2 绘制出原始测量值和四阶多项式拟合后的曲线;(3) 根据已知时刻点的测量值,计算两种拟合方法的均方误差MSE 。四、 基本知识
48、填空题(每空 1 分,共 20 分)1、helpdispclearsaveload2、simulinktoolboxes3、eyezerosonesdiag4、grid ontext5、polarbar(或 barh)hist6、whilebreak7、reshapecell五、 选择题(每题 4 分,共 20 分)DACBB六、 程序填空题每空 3 分,共 15 分) hold on axis(-3 3 m2 m1)01.00.21.50.41.90.62.10.82.31.02.42.02.65.0-4.085 75 7883 84 9280 69 7790 75 811ni为拟合后的估计
49、值。i)2,其中yi为上面表中的原始测量值,yMSE (yi yni1 xlabel(时间); ylabel(幅度); x = input(请输入数据 n)或 x = input(请输入数据) v = var(y)或 1/(length(y)-1) * (sum(y-m).2)四、 10 分A=3 1 0 5; 0 6 7 3; 0 4 3 0; 2 -1 2 6;%3 分b=2 4 7 8;%3 分x=Ab; 或 x=inv(A)*b 或 x=pinv(A)*b;%4 分另一种答案:A=3 0 0 2;1 6 4 -1; 0 7 3 2; 5 3 0 6;%3 分b=2 4 7 8;%3 分
50、x=b/A;或 x=b*inv(A);%4 分五 10 分ch = menu(select a num,1,2,3,4, 5);%3 分switch ch% switch 语句格式写对 2 分case 1y=2*rand-1;%1 分case 2y=diag(rand(1,5);%1 分case 3y=randn;%1 分case 4y=5+2*randn(5,5);%1 分case 5return;%1 分end六、 10 分% 构建结构阵列 3 分,也可用赋值语句逐个赋值student=struct(name,liming,wanglei, liujun,zhangxiao,.score,