1、MATLAB 期末考试试卷及其参考答案一、填空题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 分,共 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(
3、n)if n=aendendif ii =iptr temp = 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 : length(student)dis
4、p(student(ii).Name,blanks(20),student(ii).No,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=size(A);c=length(A);则 b 和 c 的值分别为 和 2,5,5 。4. 标点符号 分号 可以使命令行不显示运算结果, 百分号 用来表示该行为注释行。5. 用 if 判断语句判断 80 x 60,在 MATLAB 中 if 语言后的判断应写为 if x60 。6. P,
5、 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 文件中的变量读取到 MATLAB 工作空间内的指令 lo
6、ad 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. 用 round 函数四舍五入
7、对数组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 60453x(A) SIN(deg2rad(x)) (B) SIN(x) (C) sin(x) (D) sin(deg2rad(x)8. 下面的程序执行后 array 的值为 ( A )for k=1:10if k6break;elsearray(k) = k
8、;endend(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 =
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.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
10、,2,0,3,0,4; for k=1:8if x(k)=0x(k)=k;elsex(k)=2*k+1;endenddisp(x);3. 创建符号函数并求解,要求写出步骤和运行结果(7 分)(1)创建符号函数 f=ax2+bx+c(2)求 f=0 的解4. 求解以下线性方程组,要求写出程序代码和运行结果(5 分)2 x 1 - 3 x 2 + x 3 + 2 x 4 = 8x 1 + 3 x 2 + x 4 = 6x 1 - x 2 + x 3 + 8 x 4 = 17 x 1 + x 2 - 2 x 3 + 2 x 4 = 55绘制函数曲线,要求写出程序代码(12 分)(1)在区间0:2均匀
11、的取 50 个点,构成向量 (2)在同一窗口绘制曲线 y1=sin(2*t-0.3); y2=3cos(t+0.5);要求 y1 曲线为红色点划线,标记点为圆圈;y2 为蓝色虚线,标记点为星号四、使用 MATLAB 语言进行编程(15 分)打印出所有的水仙花数。所谓“水仙花数” ,是指一个三位数,其各位数字立方之和等于该数本身。一、填空题1、ans =0 1 11 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)
12、7、 hold on grid on8、 save my_data Load my_data二、选择题1、 A 2、 C 3、 B 4、 C 5、 C 6、 C7、 D 8、 A 9、 C 10、 A三、写出程序的执行结果或写出给定要求的指令1、 c =0 + 2.0000iD =2 35 68 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
13、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 = 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
14、: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 分,共 20 分)1. MATLAB 的通用命令中列出内存中的变量目录可用 命令;若对函数功能和用法不熟悉,可用 命令;显示变量、阵列或文本时,可用命令;清除工作空间中的变量时,可用 命令;保存和恢复工作空间,或者工作空间中的特定变量时,可用 和 命令。2. 在 MATLAB 图形系统中,如果需要给已经绘制好的图形加上栅格线,可以使用 命令,如果需要在指
15、定的坐标位置标注文本时使用的函数为 ,需要绘制多条曲线,保持当前图形窗口可使用 命令。3. 用 MATLAB 绘制条形图时可使用 函数,绘制柱状图,用以表示数据值的分布情况时可使用 函数。4. MATLAB 中用于控制不定次重复循环语句为 ,若在循环执行过程中需要终止该循环时采用的语句为 。5. 对于 MATLAB 中的多维阵列,在保持所有元素个数和内容不变的前提下可以使用 函数改变其尺寸和维数;利用 函数可以定义单元阵列。6. 在 MATLAB 中,可用内部函数与工具箱函数产生矩阵,其中如果要产生单位阵可用 函数,产生对角阵可用 函数,产生均匀分布的随机阵可用 函数。7. 在 MATLAB
16、中,将含有小数的数值转换成字符串可用 命令,在字符串中查找子字符串可用 命令。二、选择题(每题 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 3C. 9 9 16 9 3 3 D. 10 13 11 3 3 32. 下列关于脚本文件和函数文件的描述中不正确的是( )A. 去掉函数文件第一行的定义行可转变成脚本文件;B. 函数文件可以在命令窗口直接运行;C. 脚本文件可以调用函数文件;D. 函数文件中的第一行必须以 function 开
17、始;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=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 li
18、ke 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, 3, 4, 5;y=5.1, 6.2, 7.0, 8.2, 9.3;%采用三阶多项式拟合x2=1:0.1: 5;y2=
19、 ; %拟合后的曲线figure(1)plot(x,y,o,x2,y2); %绘制曲线m1 = max(y, y2); m2 = min(y, y2); %用 axis 调制坐标轴,横坐标在0 6之间,且完全显示图形; %加上标题“多项式曲线拟合 ”2. 编写 MATLAB 程序,对于用户输入的向量或矩阵,计算其平均值:% 提示输入数据并保存到 x 中,命令行显示“请输入数据”y = reshape(x,1, prod(size(x);m = ; % 计算均值 m四、(8 分) 为解下列线性方程组,请写出 MALAB 语言程序。4 x1 +2 x3 +3 x4 = 93 x2 +2 x3 +
20、3x4 = 82 x1 + x4 = 10x3 -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 时,x 的值为 5 行 3 列均值为 0,方差为1 的正态分布的随机矩阵;当 len=4 时,x 的值为字符串“not an array”; 当 len 为其它值时,则显示“Error”。要求使用 switch 函数。六、(
21、15 分) 某混合信号有 2 个不同频率的确知信号,加上正态分布的随机噪声构成,噪声功率为 4,2 个确知信号分别为:、 ,其中信号频率分别为 Hz、 Hz,采样频率为 Hz,采样点110sin(/)sf25in(/)sf1f5f 20sf128 点,即 n=0,1,2,127。编程完成以下内容:(1) 求出信号的频谱(用到的函数有 fft 和 abs) 。(2) 以图形的方式比较信号波形和信号频谱,要求把图形窗口分成 2 个子窗口,分别画出:时域信号波形(横坐标为 “Time”,纵坐标为 “amplitude”,标题为 “信号时域与频域波形”) 、信号频谱(横坐标为 “frequency(H
22、z)”,纵坐标为 “frequency spectral”) 。七、 (15 分)某宿舍有 4 名同学期末考试的成绩为下表所示:姓名(name ) liwei wangjun liuzhi zhanglin英语(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,综合测评分的
23、计算公式如下:, 为课程成绩, 为相应的学分, ,n 为成绩个数。1nixwixiw1iw(2) 基于表格内容构建单元阵列,单元阵列名为 student1,单位阵列中每一行保存一个学生的信息,包括学生姓名和学生各门课成绩。通过访问单元阵列,计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的单元阵列。最终得到的单元阵列格式为:姓名 成绩 平均分学生 1学生 2学生 3学生 4一、 基本知识填空题(每空 1 分,共 20 分)1、whos help disp clear save load2、grid on text hold on3、bar(或 barh) hist4、while(w
24、hile end) 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=
25、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 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 分otherwise
26、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 分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,
27、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 liuzhi zhanglin,.eng,85 75 78 83, phy 83 84 92 87, math 80 69 77 82,
28、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(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
29、; 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. MATLAB 的通用命令中若对函数功能和用法不熟悉,可用 命令;显示变量、阵列或文本时,可用 命令;清除工作空间中的变量时,可用 命令;保存和恢复工作空间,或者工作空间中的特定变量时,可用 和 命令。9. MATLAB 系统提供了两个重要部件: 和 ,它们在系统和用户编程中,占据重要的地位。10. 在 MAT
30、LAB 中,可用内部函数与工具箱函数产生矩阵,其中如果要产生单位阵可用 函数,产生全 0 阵可用 函数,产生全 1 阵可用 函数,产生对角阵可用 函数。11. 在 MATLAB 图形系统中,如果需要给已经绘制好的图形加上栅格线,可以使用 命令,如果需要在指定的坐标位置标注文本时使用的函数为 。12. 用 MATLAB 绘制极坐标中的图形时可以使用 函数,绘制条形图时可使用 函数,绘制柱状图,用以表示数据值的分布情况时可使用 函数。13. MATLAB 中用于控制不定次重复循环语句为 ,若在循环执行过程中需要终止该循环时采用的语句为 。14. 对于 MATLAB 中的多维阵列,在保持所有元素个数
31、和内容不变的前提下可以使用 函数改变其尺寸和维数;利用 函数可以定义单元阵列。二、选择题(每题 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 12 18 24 3 3 4C. 6 12 18 24 4 4 3 D. 16 20 24 4 4 37. 设 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.
32、0 0 0 0 1 0 -1 0 1 0C. 0 0 0 0 1 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 08. 对于矩阵 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) = AC. sum(A)+length(
33、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, 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 =
34、 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(x,1, prod(size(x);m = mean(y); % 计算均值 m ; % 计
35、算方差 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 时,产生均值为5,方差为 4 的大小为 5x5 的正态随机矩阵;当 c
36、h=5 时,直接退出菜单。六、(10 分) 某宿舍有 4 名同学,3 门课程的期末考试成绩如下表所示:姓名(name ) liming wanglei liujun zhangxiao成绩(score) 85 75 78 83 84 92 80 69 77 90 75 81要求编程完成以下内容:(3) 基于表格内容构建结构阵列,结构名为 student。通过访问结构阵列,计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的结构阵列。最终得到的结构阵列可表示为student .name .score .mean (4) 基于表格内容建立二维单元阵列,单位阵列中每一行保存一个学生的信息。
37、通过访问单元阵列,计算每一个学生的平均分,将平均分作为一个新的域,更新已经建立的单元阵列。最终得到的单元阵列格式为:姓名 成绩 平均分学生 1学生 2学生 3学生 4七、(15 分) 某一过程中通过测量得到:t 0 0.2 0.4 0.6 0.8 1.0 2.0 5.0y 1.0 1.5 1.9 2.1 2.3 2.4 2.6 -4.0编程完成以下内容:(1) 分别采用三阶和四阶多项式对数据进行拟合;(提示:采用 polyfit 进行多项式拟合;调用格式为 p = polyfit(t,y,n),n 为多项式阶数,p 为得到的多项式系数)(2) 比较拟合效果,要求把图形窗口分成两个子窗口,子窗口
38、 1 绘制出原始测量值和三阶多项式拟合后的曲线,子窗口 2 绘制出原始测量值和四阶多项式拟合后的曲线;(3) 根据已知时刻点的测量值,计算两种拟合方法的均方误差(MSE) 。,其中 为上面表中的原始测量值, 为拟合后的估计值。21()niiMSEyiyiy四、 基本知识填空题(每空 1 分,共 20 分)1、help disp clear save load2、simulink toolboxes3、eye zeros ones diag4、grid on text5、polar bar(或 barh) hist6、while break7、reshape cell五、 选择题(每题 4 分,
39、共 20 分)D A C B B 六、 程序填空题(每空 3 分,共 15 分) hold on axis(-3 3 m2 m1) 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
40、; 0 7 3 2; 5 3 0 6; %3 分b=2 4 7 8; %3 分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=s
41、truct(name,liming,wanglei, liujun,zhangxiao,.score,85 75 78, 83 84 92, 80 69 77, 90 75 81 );for i=1: length(student)student(i).mean = mean(student(i).score); %更新正确 2 分end% 构建单元阵列 3 分,也可用赋值语句逐个赋值student1 = liming, 85 75 78; wanglei, 83 84 92; liujun, 80 69 77; .zhangxiao, 90 75 81;for i=1: length(stu
42、dent1)student1i,3 = mean(student1i,2); %更新正确 2 分end或者可由 struct 直接转换到 cellstudent1 = struct2cell(student); % 4 分student1 = squeeze(student1); %删除单点维student1 = student1; % 结果正确 1 分七、 (15 分)t = 0 0.2 0.4 0.6 0.8 1.0 2.0 5.0; y = 1.0 1.5 1.9 2.1 2.3 2.4 2.6 -4.0; % 1 分p1 = polyfit(t,y,3); % 1 分p2 = poly
43、fit(t,y,4); % 1 分x = 0:0.1:5; y1 = polyval(p1,x); % 1 分y2 = polyval(p2,x); % 1 分subplot(1,2,1); % subplot 语句格式写对 1 分plot(t,y,o,x,y1); % 也可使用 hold on 命令,正确画出第一个子图 2 分subplot(1,2,2); plot(t,y,o,x,y2); % 正确画出第二个子图 2 分i = int16(1 + t/0.1); % or i=fix(t/0.1)+1;能找到正确的估计值位置 3 分mse1 = mean(y-y1(i).2); % 正确计
44、算均方误差 1 分mse2 = mean(y-y2(i).2); % 正确计算均方误差 1 分七、 选择题(每题 5 分,共 30 分)1. 工作空间 workspace 中有变量 a,b,c,按如下步骤进行操作,(1)将变量 a 存成数据文件 adata.mat,(2)清除工作区间所有变量,(3)再将数据文件调入工作区间,下面( )组命令是正确的:A save adata a; clear; load adata; B save adata a -ascii; clear; load adata;C save adata; clear all; load adata; D save adat
45、a; clear all; load ascii adata;2. 在 Command Window 窗口中分别输入下列命令,对应输出结果正确的是 ( )A. j=sqrt(-1) j=-1 B. x=ones(1,2);x0 ans=1C. y=diag(eye(2). y=1 1 D. rand(1,3) ans=0.9501 1.2311 0.60683. 对应 MATLAB 提供的绘制平面曲线、离散序列、三维曲线、三维网格曲线、等高线图的函数为( )A. plot, stem, mesh, plot3, surf B. plot, stem, plot3, mesh, contourC
46、. plot, hist, mesh, plot3, contour D. plot, hist, plot3, meshc, contour4. 下列对条件语句、分支语句、固定循环次数语句、不定循环次数语句关键字排序正确的是( )A. if else end; for end; switch case end; while end;B. if else end; switch case end; for end; while end;C. for end; if else end; while end; switch case end;D. while end; for end; switch case end; if