2014-2015(2)测量程序设计基础A1答案 下载本文

内容发布更新时间 : 2024/6/29 16:22:12星期一 下面是文章的全部内容请认真阅读。

淮 海 工 学 院

2015-2016学年第二学期 测量程序设计基础试卷A(闭卷) 参考答案及评分标准

题 号 一 二 三 四 总分 核分人 分值 26 20 12 42 100 得分 一、选择题(每小题2分,共26分) 1.清空Matlab工作空间内所有变量的命令是 A 。 A. clear B. cls C. clc D. clf

2.已知a=[2 3 4;5 6 7], b=[1 2 3;2 4 6],下面的运算表达式中, 出错的为 C 。

A. a'*b B. a .*b C. b*a D. a-b

3.j=2; a=2*i; b=2j; c=2*sqrt(-1); 程序执行后;a, b, c的 值分别是____D____。

A.a=4, b=4, c=2.0000i 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

4. 下列哪个脚本式M文件名字的定义是不合法的 B 。

A. Abcde55 B. 8xyzw_3 C. abcdef3 D. x3yz

5.若在循环结构中中止本次循环,执行下一循环后,则使用 C 。

A. return B. break C. continue D. keyboard 6. MATLAB中M文件的分类为______D______。

A.脚本文件、命令文件 B.仅有脚本文件 C.仅有函数文件 D.函数文件、命令文件

?46? 7.已知A???28?,则在MATLAB中调用命令A(3)的结果为_A____。 ?7??3?? A. 3 B. 2 C. 无结果 D. 7 8.’try’语句为MATLAB所特有的试探性语句,下面的程序MATLAB 能执行吗? _____B________。

执行的命令为 A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12]; try C=A*B; catch C=A.*B; end

A. 不执行 B. 执行的是’ catch’后的命令 C. 执行,但没有结果 D.执行的是’try’后的命令

9. 已知x??1,2?T,A???111??248?,MATLAB中若想由x生成矩阵 ? A,可调用命令__A_____。

A.A=[x,x.^2,x.^3] B. A=[x,x^2,x^3] C. A=[x;x^2;x^3] D. A=[x;x.^2;x.^3]

1 10.MATLAB中命令sum([4 1 2;0 3 6])的结果为___B_____。

A. 16 B. 4 4 8 C.7 9 D. 程序出错,没有结果 11. MATLAB对图形窗口进行灵活分割的命令为___B_____。 A . plot B. subplot C.aplot D.ploval 12.已知数据点为x=[1, 1.4, 1.6, 1.8, 2.0]',

y=[3.75, 3.99, 2.07, 1.52, 4.22]',拟合一条过这些点的3次 曲线,应使用的命令是___D_____。

A . polyfit(x,y) B .polyfit(2) C .polyfit(x,y,1) D .polyfit(x,y,3)

13 .MATLAB中给图形加网格线的命令为___D______。

A .grid off B .hold on C .box on D .grid on 二、填空题(每空2分,共20分)

1. 产生5阶单位阵的命令为 __eye(5)_ ;产生5阶全0方阵的命令为 __zeros(5)___ 。

2. 若命令后面带有逗号,则表示该命令行执行后__显示结果_,

符号___%___ 用来表示该行为注释行。

3.为了使两个plot的图形不同时显示,可以使用__hold off_ 命令清除第一个图形;可以使用 _grid off_ 命令为图形取消网格线。 4.在matlab中,执行命令dms2mat(rad2dms(2*pi)),结果为 [_360__, 0 ,__0__]。

5. 在数字测量技术中,通常要绘制等高线图,这时需要调用函数 为___contour___。

6.执行命令st=fclose(fid)后,若st=-1,则表明文件没有被关闭 。 三、简短程序阅读题(本题共2小题,共12分) 1. 阅读下述MATLAB脚本程序

A=[3 5 7 9;0 2 4 1;6 4 4 8]; B=ones(3,3); b=A([1 2],2:3); B(4,4)=5; A([1,2],:)=[] C=[A;B(:,1:3)']; D=reshape(C,2,8);

写出b、A、B、C、D的结果。(本题9分)答案:b=[5 7;2 4] 1 A=[6 4 4 8] 1B= 1 1 1 0 1 1 1 0 1 1 1 0

0 0 0 5 2 C= 6 4 4 8 1 1 1 0 1 1 1 0

1 1 1 0 2D= 6 1 4 1 4 1 8 0 1 1 1 1 1 1 0 0 32.下面的函数完成什么功能?(本题3分)

function f=factor(n)

if n<=1 f=1;

else

f=factor(n-1)*n;

end

分 分 分 分2

答案:本函数是计算一个正整数的阶乘 3分 四、综合题(本题满分42分)

?0?x?11.用MATLAB编写函数,计算f?x???x?2?x1?x?2,函数的输入参数为

??0其他x,输出参数为f,函数名为fun。(本题10分)

function f=fun(x) x=input('请输入x的值:'); if x<1&x>=0 y=x;

elseif x<2&x>=1 y=2-x; else y=0; end y

注意:每行语句1分 2.用如下迭代公式求a,迭代的终止条件为xn?1?xn?10?5, 迭代初值x0?1.0,迭代次数不超过100次。分别对迭代结果和准确

x值进行比较,并统计迭代次数。迭代公式:xn?1n?1?2?a2x,

n?1试对此迭代问题编写M函数文件。(本题17分)

function [x, n]=sqrt_a(a) x=1.0; for k=1:100 m=x;

x=x/2+a/(2*x);

if abs(x-m)<=10^(-5) end

end break

x; n=k;

if abs(s)<=10^(-5) s=(x-sqrt(a)); else

disp('正确'); disp('错误注意:每行表达正确可得end

'); 1分。

3. 阅读一绘制地形图的程序,写出所标出的语句的功能。(本题15分) fid=fopen('F:\\work\\dengzhixian.txt','r');__打开数据文件_ data = fscanf(fid,'%f %f %f',[3,inf]);_从文件中读取数据_ data=data';

fclose(fid);____关闭文件____ x =data(:,1); y =data(:,2); z =data(:,3); xb=min(x); xe=max(x); yb=min(y); ye=max(y);

Xl=linspace(xb,xe,200);___将区间离散化_ Yl=linspace(yb,ye,200);

[X,Y]=meshgrid(Xl,Yl); _生成二维网格数据__ method='cubic';

Z =griddata(x,y,z,X,Y,method);__曲面拟合插值计算_ figure; ___打开一个窗口__

hold on; ___保持打开的图形窗口_ contour(X,Y,Z);__绘制等高线图形__ colormap cool; __设定图形色彩_

box on; ___对坐标系的右边和上边加边框__ xlabel('x');_坐标横轴添加标签为x轴__ ylabel('y');

axis equal;__坐标轴的长度单位设成相等__ title('等值线图:(单位:scale)');__添加标题_ hold off _关闭图形保持__ 注意:每空1分