测量数据处理期末考试复习试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、回答题
1.什么是数据结构?数据结构在程序设计中有什么用途?
答:数据结构是程序中数据的组织形式。程序设计前必须要设计好数据结构,好的数据结构可使得程序设计更简单,程序更稳定,程序调理清楚。
2.什么是计数器?它有什么作用?
答:计数器是一个计数的变量,通常在while end结构中应用,可以判断循环次数或者符合条件的次数
3.未知数序号起什么作用?
答:用来确定未知数矩阵中各分量在矩阵中的具体位置
4.什么是程序的自身迭代调用?
答:子程序在执行到某一步时,如果符合某项条件,重新开始执行该子程序,通常情
况下,子程序输入变量是变化的,符合某项条件时,程序退出。
5.平差计算程序设计中如何减小待求参数近似坐标误差对平差结果的影响?
答:迭代平差计算,以本次平差结果作为下次平差时近似值。
6.程序设计中要养成哪些好的习惯?
答:1、每天的工作一定要做备份,防止程序丢失造成不必要的损失。
2、关键代码要加中文注释。
3、程序层次要清楚,较复杂的程序通常通过一主程序多子程序模式实现。
4、不易记忆的一些语句可以做笔记,在程序设计是直接复制。
5、较大的程序,通常在完成每一部分后进行模拟数据的测试,确保程序的稳定
性。
7.学会MATLAB对于工程人员有什么重要意义?
答:MATLAB将常用的一些功能函数化了,如矩阵计算、图形绘制等等,可节省开发
者大量的精力;语法简单易懂
8.如下这个语句有什么问题,请对程序进行修改。
while1
end
答:jsq=1
while1
if jsq>100
break;
end
end
9.试分析如下代码有什么缺陷,请进行修改。
function [fw]=getfw(x,y)
temx=y/x;
end
答:x如果为0,程序将奔溃。
function [fw]=getfw(x,y)
if ==0
.......
else
temx=y/x;
end
end
10.程序设计中角度的计算有什么要求?
答:程序设计中,角度输入为度分秒,必须转为弧度,解算完后再转回度分秒。
11.试分析如下代码有什么功能?
function [base,bname,bx,by]=getbase(source,target)
[row,col]=size(source);
for i=1:row
if source(i,4)==-1
bname=source(i,1);
bx=source(i,2);
by=source(i,3);
break;
end
end
jsq=0;
for i=1:row
if source(i,1)~=bname
jsq=jsq+1;
base(jsq,1)=source(i,1);
base(jsq,2)=source(i,2)-bx;
base(jsq,3)=source(i,3)-by;
base(jsq,4)=base(jsq,2);
base(jsq,5)=base(jsq,3);
base(jsq,6)=source(i,4);
end
end
end
12.试分析下面一段代码有什么功能?
function [index]=nameToindex(name,table)
[row,col]=size(table);
for i=1:row
if table(i,1)==name
index=i;
return;
end
end
index=0;
13.下面一段代码是计算方位角的,有缺陷,请补充完整
function [fw]=getfw(detx,dety)
tem=0;
if detx~=0
fw=atan(abs(dety)/abs(detx));
else
fw=pi()/2;
return;
end
if detx<0&&dety>0
fw=pi()-fw;
end
if detx<0&&dety<0
fw=pi()+fw;
end
if detx>0&&dety<0
fw=2*pi()-fw;
end
if detx>0&&dety==0
fw=0;
end
if detx==0&&dety>0
fw=pi()/2;
end
end
14.分析如下代码的功能,并修正
function [dfm]=hdtodfm(hd)
jd=hd*180/pi();
du=fix(jd);
if du>360
du=du-60;
end
tem=(jd-du)*60;
fen=fix(tem);
tem=(tem-fen)*60;
miao=fix(tem*1000)/10;
dfm=du+fen*0.01+miao*0.0001;
15.分析如下代码功能,并修改错误
function [hd]=dfmtohd(angle)
tem1=fix(angle);
tem=(angle-tem1);
tem2=fix(tem);
tem=(tem-tem2)*10;
tem3=tem;
hd=pi()*(tem1+tem2/60+tem3/3600)/180;
16.GPS无约束平差模型是一个线性模型,请设计一段代码,完成误差方程系数矩阵和常
数项矩阵的计算。(基线向量数据结构请自己设计)
二、程序设计题
1. 利用神经网络实现GPS高程数据的转换
2. 编制利用布尔萨模型实现三维直角坐标转换的程序
3. 编制空间后方交会程序