2012-2013(2)测量程序设计基础A答案

时间:2022-07-12 16:05:39 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。


2013 - 2014 学年第一学期 测量程序设计基础 试卷A答案



总分 核分人

题号 分值 24 24 12 40 100 得分













一、选择题(每小题2分,共24分)

1. matlab编程中,不能使用的符号为____D____ A. B.@ C. D.“”

2. matlab的命令窗口中执行___B____命令,可将工作空间中所有内容清空。

A. clc B. clear C. echo off D. cd 3.下列__D___是合法变量。

A. 2_abc B. return C.function D. eps

4产生所有元素均为032列矩阵的命令是___B__

A. zeros(2,3) B.zeros(3,2) C.ones(3,2) D.eye(3,2)

1234

5.已知数组a=2345,若要产生a的一个子矩阵23

9876

34则下列命令中正确的是_____D__

A.a([2 3],[2 3 4])

B.a(2:end,2:end) C.a(linspace(2,3,2),2:4) D. a([1 2],[2 3]) 6.已知a=1:5,b=2:6,下面的运算表达式出错的是__D__ A. b*a B. a./b C. a*b D. a/.b 7.关于表达式的定义规则,错误的是__C__ A.表达式由变量名、运算符、函数名等组成; B.表达式按与常规相同优先级自左向右执行运算; C.优先级的规定的顺序不可以改变;

D.在赋值符和运算符的两侧允许有空格,以增加程序可读性。 8. surfc函数功能是___D_

A.绘制三维曲线图 B.绘制三维网格图 C.绘制三维曲面图 D.绘制三维带等高线的曲面图

9.运行以下命令后,变量C的值是__D_

>>A=length([5 5 6;6 6 6;7 7 8]); >>B=length([1 2;3 4;5 6]); >>C=A-B

A.6 B.5 C.3 D.0

10.matlab的程序运行过程中,如果想知道代码运行的实际时间, 可以使用计时函数,matlab提供了函数_A_可以实现计时。 A. tic/toc B. runtime C.time D. cpu

11.运行此格式的命令“变量名=@(输入参数列表)函数表达式”,则 变量是_D__

A. 内联函数 B.普通函数 C.函数句柄 D.匿名函数 12.运行此格式的命令“变量名= @ 函数名;”,_C__

A.创建了inline对象 B.创建了匿名函数C.创建了函数句柄 D.创建了子函数。

二、填空题(每空1分,共24分)

1、把matlab工作空间中一些有用的数据长久保存下来的方法是 生成.mat数据文件,常用的命令是____save___.

2若调用matlab中已存在的.mat文件中的数据,则需使用命令_load_ 3、求方阵A的行列式值的指令是__ det(A)_. 4、求可逆矩阵B的逆矩阵的指令是:_inv(B)_. 5、计算一个矩阵C的秩的命令为___rank(C) .

6、运行命令>>disp(‘边长观测值:’),结果为_边长观测值_. 7、在matlab中,此函数dms2rad(mat2dms( ))的功能是








__将度分秒转化为弧度____.

8、在matlab中,函数dms2mat(rad2dms( ))的功能为_________

__将弧度转化为度分秒__.

9、关系运算的运算结果皆由数字_10___________组成。 10、在matlab中,冒号“:”有两个功能:一是生成__向量__; 二是表示__矩阵的行列或块_.

11、在语句末出现逗号,意味着_逗号出现在句末,表示计算结果显示在屏幕上_

12A=[1 2 3 4 5 6], A'



=_[1 4;2 5;3 6].

13在进行多函数图形绘制时,经常使用命令hold onhold off,二者的区别是__ hold on:启动图形保持功能;_ hold off:关闭图形保持功能. 14、多项式拟合也是测量数据处理中经常使用的方法,matlab中常利用函数__polyfit___polyval_进行多项式拟合. 15函数plotplot3的区别是___前者绘制二维曲线,后者绘制三维曲线_.

16在数字测量技术中,通常要绘制等高线图,这时需要调用函数为 ____ contour _.

17matlab中有两种常用的工作方式,一种是_交互式_;另一种是 ____M文件式__.

18M文件分为两类:函数式M文件和__脚本式_;二者最明显的区别 ___函数式M文件有声明行,而脚本式没有_.

19、在matlab中,函数xlsread )的功能是__excel中的数据读

MATLAB.

20多元线性回归,也是测量数据处理经常用到的方法,在这里最常 使用的函数是___ regress( )_. 三、简答题(本题满分12分)

1、简述函数式M文件和命令式M文件的区别。(本题6分)

1M命令文件没有参数传递功能,但M函数文件有此功能;

2M函数文件的格式有严格规定,它必须以“ function ”开头;而命令

式则不然;

3M函数文件的命名必须是其函数名,不可改变;



4 函数文件的变量是局部变量 , 运行期间有效 , 运行完毕就自动被清

, 而命令文件的变量是全局变量 , 执行完毕后仍被保存在内存中。

2、请修改下面的程序,让程序中没有for循环语句也能完成任务。 (本题6分)

A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c

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

end disp(A) 修改为:

A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); A(1,1)=0; A((3,3)=0; disp(A)






四、程序设计题(本题满分40分)

1、程序改错题,本程序有多处错误,请认真分析,找出所有错误, 并加以改正。(本题12分)

若一个四位整数的各位数字的四次方之和等于该数本身,则称该数为子宁数。输出全部的子宁数。 程序段如下:

(1) for m=1000:1:9999;

(2) m1==fix(m/1000); %m的千位数字 (3) m2=round((m-m1*1000)/100); %m的百位位数字 4 m3=floor((m-m1*1000-m2*100)/10); %m的十位位数字 5 m4==m-m1*1000-m2*100-m3*10; %m的个位数字 (6) if m=m1*m1*m1*m1+m2*m2*m2*m2+m3*m3*m3*m3+m4*m4*m4*m4; (7) output(m); (9) end;

9个语句,哪些语句有错误?只把有错的进行改正。对的语句不需要改,只对错误的语句加以改正。(只有6个语句有错误)

1_____________________________________________________ 2_ m1=fix(m/1000);___________ 3__ m2=fix((m-m1*1000)/100)_;,

4_____________________________________________________ 5__ m4=m-m1*1000-m2*100-m3*10; 6 if m==m1*m1*m1*m1+m2*m2*m2*m2+m3*m3*m3*m3+m4*m4*m4*m4; 7 disp(m);___________________, 8_end________________________,

9_____________________________________________________. 2、现有下列脚本程序,请分析该“for”循环执行情况并写出该程序运行结果。5分)

for m=1:3

for n=1:3 H(m,n)=m^2+n end end 结果H为:

H =

2 3 4 5 6 7

10 11 12

3A 是一个m×n的矩阵. 写一程序段, 计算出A中有多少个零元素。12分)

>> A= input ('请输入一个矩阵')

[m,n]= size(A); sig=0; for i=1:m

for j=1:n

if A(i,j)==0 sig = sig+1; end end

end 4AB是已知高程的水准点,并设这些点已知高程无误

差,CDE是待定点,AB高程、观测高差和相应的水

准路线长度见下表,为求各待定点的高程平差值,我们利用间接平差进行编程,请根据题意和程序中上、下语句的关系,进行填空以完善整个程序。(本题11)

C

h1

h6



h3

E

A

h5



h7

(8) else












线路编号 观测高差(m 线路长度(km 已知高程(m 1 +1.360 2.2 HA=5.018 2 +2.010 2.6 HB=6.018

3 +0.364 3.3 4 +1.013 3.5 5 +0.658 3.4 6 +0.239 2.4

7

-0.596

3.7

disp(‘-------水准网间接平差示例-------------’) disp(‘已知高程:’)

HA = 5.018 % 已知点高程,单位m HB = 6.018 % 已知点高程,单位m disp(‘观测高差,单位m’)

L = _[1.360; 2.010; 0.364; 1.013; 0.658; -0.357] disp(‘系数矩阵B’)

B =[1 0; 0 1; 1 0; 0 1; -1 1; -1 0] l = [0; 0; 4; 3; 8; 3]

disp(‘C是单位权观测高差的线路公里数,S是线路长度’) C = 1*ones(1,6)

S = __[2.2,2.6,3.3,3.5,3.4,6.1] P = _C./S _ % 定义观测值的权, P = diag(P) % 定义权阵 disp(‘参数的解’)

x = __ inv(B*P*B)*B*P*l _

disp(‘误差V(mm), 各待定点的高程平差值L1m)’) V = _ B*x- l _ % 误差方程(mm)

LP = L + _V/1000_ % 观测值的平差值 disp(‘精度评定’)



n = __6_; % 观测值的个数 t = __2_; % 必要观测数 delta = _ sqrt__(V*P*V/(n t))




本文来源:https://www.wddqw.com/doc/a89cc40aac45b307e87101f69e3143323868f571.html