第一范文网 - 专业文章范例文档资料分享平台

2014-2015(2)测量程序设计基础B答案

来源:用户分享 时间:2025/11/23 14:40:25 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

淮 海 工 学 院

2014 - 2015 学年第二学期 测量程序设计基础模拟 试卷B(闭卷) 参考答案与评分标准

一 二 三 四 总分 核分人 题号 分值 20 38 18 24 100 得分 一、选择题(每小题2分,共20分) 运行以下命令后,变量C的值是____B____。

>>A=size([5 5 5;6 6 6;7 7 7]); >>B=size([1 2;3 4;5 6]); >>C=A’*B

A. ??99? B. ?96??96????69???66???96?? C. ????69?? D. ????96??

??如果想使matlab程序段暂行些时间,可以使用函数____D__。 A. break B. tic/toc C.time D. pause

3. 下列哪个函数式M文件的定义是不合法的 C A. abcde3 B. xyzw_3 C. abcdef-3 D. x3yz 4.下列哪条指令是求方阵行列式的命令 C A. inv B. diag C. det D. eig

5.在循环结构中跳出循环,执行循环后的命令,则使用 B A. return B. break C. continue D. keyboard 6.清空Matlab工作空间内所有变量的命令是 C A. clc B. cls C. clear D. clf

7.用floor函数可以对数组[2.48 6.39 3.93 -8.52]取整, 结果为 B

A. [2 6 3 -8] B. [2 6 3 -9] C. [2 7 4 -9]

D. [3 7 4 -8]

8.已知a=2:2:11, b=2:6,下面的运算表达式中,出错的为 C

A. a'*b B. a .*b C. b*a D. a-b 9.下面的程序执行后array的值为___A______ for k=1:11 if k>5 return; else

array(k) = k; end end

A. array = [1, 2, 3, 4, 5] B. array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11] C. array =5 D. array =11.

10.j=2; a=2*j; b=2j; c=2*sqrt(-1); 程序执行后;a, b, c的 值分别是________B__________ 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

1 1. 2.

二、填空题(每空2分,共38分)

1. 已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。

A | B 的运行结果ans=[1 1 1;1 1 0]; A == B 的运行结果ans=[0 0 0;1 0 1]。

2. 产生5阶单位阵的命令为 _eye(5) ;产生5阶全0方阵的命令为 __zeros(5) 。

3. A=eye(2,6);b=size(A);c=length(A);则b和c的值分别为[2 ,_6_]

和 6 __。

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

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

5. 用if判断语句判断80> x ≥40,在MATLAB中if语言后的判断应写为 _80>x&x>=40 。

6.为了使两个plot的图形不同时显示,可以使用 hold off 命令清除第一个图形;可以使用 _grid off 命令为图形取消网格线。 7.MATLAB的工作空间中有三个变量a, b, c,写出把变量b保存到文件myfile.mat中的指令 save myfile b ;写出把myfile.mat文件中的变量b读取到MATLAB工作空间内的指令 load myfile b 。 8.在matlab中,执行命令dms2mat(rad2dms(2*pi)),结果为[360____,0 ,_0_]。

9.识别是函数式M文件还是命令式M文件,就看_有无函数定义行_。 10. 在数字测量技术中,通常要绘制等高线图,这时需要调用函数为 __contour_。

11.在matlab中,函数fid=fopen(filename,permission),若fid大于零,则表明_文件已被打开_。

12.执行命令st=fclose(fid)后,若st=-1,则表明_________________ __文件没有被关闭_。

三、简短程序阅读题(每题6分,共18分) 1、阅读下面的程序,写出程序运行的结果。

(本题6分)

A=[1 2 3 4 5;6 7 8 9 10; 11 12 13 14 15]; [r c]=size(A); for i=1:r for j=1:c

if (A(i,j)>8 | A(i,j)<5) A(i,j)=0; end end end disp(A)

结果为:(要求写成矩阵形式)

0 0 0 0 5

6 7 8 0 0 0 0 0 0 0 完全写对得6分,否则酌情给分

2. 写出执行以下代码后C,D,E的值(写成矩阵形式) (6分)

A=[1,2,3 4;5:8;9:2:16]; C=[A;17:20], D=C(1:2,[2 3]) E=D(2,[1 2])

C =

1 2 3 4 5 6 7 8 9 11 13 15

17 18 19 20 2分 D =

2 3

6 7 4分 E =

6 7 6分 3.写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值 (6分) x=[0,1,0,2,0,3,0,4,0,5]; for k=1:10 end disp(x)

运行此程序段,结果为(写成矩阵的形式,否则不得分): 1 5 3 17 5 37 7 65 9 101 完全写对得6分,否则酌情给分 四、程序设计题(本题满分24分)

1.求解以下线性方程组,要求写出全部7行程序代码(7分)

2x1- 3x2+ x3+2x4=8 x1+3x2+ x4=6 x1- x2+ x3+8x4=17x1+ x2-2x3+2x4=5

A=[2 -3 1 2;1 3 0 1;1 -1 1 8;7 1 -2 2]; b=[8;6;1;5]; x=A\\b x1=x(1) x2=x(2) x3=x(3) x4=x(4)

每条命令写对得1分

2.绘制函数曲线,要求写出程序代码(8分) (1)在区间[0,3π]均匀的取200个点,构成向量t

(2)在同一窗口绘制曲线y1=4cos(2*t+0.5); y2=3sin(t-0.3);要求 y1曲线为绿色点划线,标记点为圆圈;y2为红色虚线,标记点为星号。(1)t=linspace(0,3*pi,200); 2分 (2)y1=4*cos(2*t+0.5); 4分 y2=3*sin(t-0.3); 6分 plot(t,y1,’g-.o’,t,y2,’r--*’) 8分

if x(k)==0 x(k)=k; else

x(k)=k^2+1;

3 end

3.A和B是已知高程的水准点,C、D、E是待定点,A、B高程、观测高差和相应的水准路线长度见下表,为求各高差的平差值,利用间接平差进行编程,请根据题意和程序中上、下语句的关系,注释相应语句的意思。(本题9分) C h6 h1 E h5h3 Ah7

h2B Dh4

线路编号 观测高差(m) 线路长度(km) 已知高程(m) 1 +1.360 2.2 HA=5.015 2 +2.010 2.6 HB=6.016 3 +0.364 3.3 4 +1.013 3.5 5 +0.658 3.4 6 -0.357 6.1

function jiesuan( )

disp('水准网间接平差示例') disp('已知高程')

Ha = 5.015 % 已知点高程 Hb = 6.016 % 已知点高程

disp('观测高差') %__提示输入观测值___ L = [1.360;2.010; 0.364; 1.013; 0.658; -0.357] ;

fid=fopen(‘E:\\szjj.txt’,’r’) %_打开已经写好的文本文件_

temp=fscanf(fid,’%f%f%f%f’ ,[4,6])

%上面命令的意思是将文件中的数据读入一个4行6列的矩阵 fclose(fid); %__关闭打开的文件__ temp=temp’

B=temp(:,[1,2]); %_从6行4列的矩阵中取第1和第2列_ l=temp(:,3);

S=temp(:,4); %_矩阵的第4列为6条水准路线的长度_ S=S’;

disp(‘C是单位线路公里数,S是线路长度') C = ones(1,6);

P = C./S ; %产生一个行向量 P = diag(P) % 定义权阵_____ disp(‘参数的解’)

x=inv(B'*P*B)*B'*P*l;

disp('误差V(mm), 各待定点的高程平差值L1(m)') V=B*x-l; % 计算观测值改正数 L1 = L + V/1000 disp('精度评定')

n = 6; % 观测值的个数 t = 2; % 必要观测数

delta = sqrt(V'*P*V/(n-t)) %_计算单位权中误差的估值_ 每答对一条注释得1分。

搜索更多关于: 2014-2015(2)测量程序设计基础B答案 的文档
2014-2015(2)测量程序设计基础B答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8qtmx5nj145v45q563l1_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top