淮 海 工 学 院
2016-2017学年第一学期 测量程序设计基础试卷B(闭卷)
题 号 一 二 三 四 五 总分 核分人 分值 26 20 20 18 16 100 得分 一、选择题(每小题2分,共26分) 1.清空Matlab工作空间内所有变量的命令是 。 A. clear all B. cls C. clc D. clf
2.已知a=[1 3 5;7 9 11;13 15 17], b=[2 4 6;8 10 12;14 16 18],下面的运算表达式中, 出错的为 。 A. a'\\b B. a .\\b C. b/a D. a||b
3.j=3; a=3*j; b=3j; c=3*sqrt(-1); 程序执行后;a, b, c的 值分别是________。
A.a=3.0000i, b=9, c=3.0000i B.a=9, b=3.0000i, c=3.0000i C.a=3.0000i, b=9, c=3.0000i D. a=3.0000i, b=3.0000i, c=3.0000i
4. 下列哪个脚本式M文件名字的定义是不合法的 。
A. 8Abcde55 B. xyzw_3 C. abcdef3 D. x3yz 5.在程序执行过程中,若遇到__________,则程序将暂停运行。
A. return B. break C. continue D.pause 6. MATLAB中按数组的结构可将数组分为____________。
A.数值数组、字符串数组 B.元胞数组、结构数组 C.一维数组、
二维数组 D.一维数组、二维数组、三维数组、多维数组
?46? 7.已知A???28?,则调用命令A(4)*A(2,2)的结果为_____。
?7??3?? A. 6 B. 8 C. 48 D. 14
8.try语句为MATLAB所特有的试探性语句,下面的程序MATLAB 能执行吗? _____________。
执行的命令为 A=[1,2,3;4,5,6]; B=[7,8,9;10,11,12]; try C=A./B; catch D=A/B; end
A. 不执行 B. 只执行的是catch后的命令并显示结果 C. 执行,但不显示结果 D.只执行try后的命令并显示结果
9. 已知x?[1,2],A???111??248?,MATLAB中若想由x生成矩阵 ? 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] 10.执行命令size(sum([4 1 2;0 3 6]))则显示结果为____。 A. 1 B.3 C. 1 3 D. 3 1
1
11. MATLAB对图形窗口创建的命令为________。 A . plot3 B. figure C.subplot D.surf 12.已知数据点为x=[1, 1.4, 1.6, 1.8, 2.0, 5],
y=[3.75, 3.99, 2.07, 1.52, 4.22, 8.78],拟合一条过这些点的3 次曲线,应使用的命令是________。
A. polyfit(x,y) B.polyfit(x,y,3) C.polyfit(y,x,4) D.polyfit(3)
13.MATLAB中给图形增加网格线的命令为_________。
A.grid off B.box on C.grid on D.hold on 二、填空题(本题共7小题,每空2分,共20分)
1. 产生8行5列元素都是0的矩阵的命令为 _________ ;计算协因数阵Q的逆矩阵P的命令为_____________ 。
2.在水准网中,设有n个独立观测值为L1,L2,?,Ln,相应的水准路线所包含的测站数分别为N1,N2,?,Nn,若L1为单位权观测值,则权阵可用函数diag产生,具体表示为P=diag([________________________])。 3.为了使绘出的多个图形同时显示,可以使用________ 命令;可以使用 ___________ 命令为图形在指定位置加标注。
4.设有测量数据文件filename.dat,若要打开并读取其中的数据,则使用命令为fid=____________________________;关闭文件的命令为 sta=________________________________。
5. 在数字测量技术中,为绘制带等高线的曲面图,这时需要使用函数 为_________________________。
6.假设已经将一二进制文件打开,即fid=fopen('std.dat','w');
若要求再将矩阵变量A中的数据写入文件std.dat中,则 COUNT=_____________(fid, A, precision)。
7.已知fid=fopen('E:\\my.txt','r');若要把文件中的数据读入到 变量A中,则 [A,COUNT]= __________ (fid, format, size)。 三、简答题(本大题共4小题,每小题5分,共20分) 1. 一维数组的创建主要有几种方法?
2.结构数组与元胞数组的区别是什么?
3.什么是M文件?filename.mat是M文件吗?M文件是文本文件吗?
4.选择结构if有几种形式?
2 四、程序阅读题(本大题共2小题,共18分) 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的结果。 (本题10分)
2.将程序段编辑成函数式M文件: x=input('请输入x的值:'); if x==10
y=cos(x+1)+sqrt(x*x+1); else
y=x*sqrt(x+sqrt(x)); end
y (本题8分)
五、编程题(本题共2小题,满分16分)
1.编写函数文件求半径为r的球的表面积和体积(本题6分)
3
2.已知 A(XA, YA)、B(XB, YB),编写计算边AB的方位角fwjAB 和 边长bcAB的程序。(本题10分)
4
2.用如下迭代公式求迭代初值x0a?5,迭代的终止条件为xn?1?xn?10,
?1.0,迭代次数不超过100次。分别对迭代结果和准确
xn?1a??,
22xn?1值进行比较,并统计迭代次数。迭代公式:xn?1试对此迭代问题编写M函数文件。(本题17分)
5
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');_____________________________________________ ylabel('y');
axis equal;______________________________________________ title('等值线图:(单位:scale)');__________________________ hold off _________________________________________________