程序设计复习题 (2).docx_第1页
程序设计复习题 (2).docx_第2页
程序设计复习题 (2).docx_第3页
程序设计复习题 (2).docx_第4页
程序设计复习题 (2).docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、 解释以下语句含义 A3: 数乘矩阵,矩阵A乘以2 A-B: 矩阵A与矩阵B之差 ab:比较数组a是否等于数组b cos(x): x的余弦函数Fix(x):对x结尾去整b=ones(3,3):生成3行3列全1元素矩阵AB: A乘以B或矩阵A与矩阵B之积A+B: 数字A与数字B相加或A,B两个同阶矩阵相加ab:比较数组a是否大于数组bsin(x): x的正弦函数sqrt(x):x的平方根A=zeros(2,3):生成2行3列全0元素矩阵二、 程序设计如右图所示,导线控制测量,已知A,B点,观测了角度和边长,给出程序设计。1. 角度平差 :1)先给出A、B点的起始数据2)定义一个4行3列的全0矩阵angle输入已知角度,定义一个3行3列的全0矩阵l输入已知距离。3)计算角度闭合差,然后平均分配到四个角当中求出角度平差值并放入到矩阵angle当中。2.计算坐标方位角:1)先定义一个4行4列的全0矩阵alfa。2)根据已知A.B点的坐标以及公式acos(Dx/sqrt(Dx*Dx+Dy*Dy)推算出起始方位角。3)根绝DY是否小于0正确推算出起始坐标方位角,根据公式alfa(i+1)=alfa(i)+pi+temp推算出各点的坐标方位角。并将左右的坐标方位角输入到矩阵alfa当中。3.坐标平差:1)定义一个4行4列的全0矩阵dx, 定义一个4行4列的全0矩阵dy.2)根据公式dx(i)=dist(i)*cos(alfa(i+1)计算出各x轴增量,根据公式dy(i)=dist(i)*sin(alfa(i+1)计算出个y轴增量。3)计算出x轴y轴的累积增量来定权。4)计算出x轴y轴的数学增量来算距离平差值。5)最后根据距离平差值以及角度平差值来计算各点的坐标平差值。4.精度评定如右图所示,水准控制测量,已知A点高程,采用四等水准观测,给出程序设计。1.初始数据准备,计算闭合差:2. 定权,计算高差改正数:3. 计算高程:4.给出精度评定:三、程序编写,要有注解1. 坐标正算:ax=get(handles.edit1,string);%读取文本框1中的信息ax=str2num(ax); %把文本框1转为数据格式,可调用ay=get(handles.edit2,string);%读取文本框2中的信息ay=str2num(ay); %把文本框2转为数据格式,可调用s=get(handles.edit3,string); %读取文本框3中的信息s=str2num(s); %把文本框3转为数据格式,可调用a=get(handles.edit4,string); %读取文本框4中的信息a=str2num(a); %把文本框4转为数据格式,可调用bx=ax+s*cos(pi*a/180);by=ay+s*cos(pi*a/180);转换公式,得出数据set(handles.edit5,string,bx);%把数据格式变为文本格式,并展现出来set(handles.edit6,string,by) %把数据格式变为文本格式,并展现出来2.坐标反算:ax=get(handles.edit1,string);ax=str2num(ax);ay=get(handles.edit2,string);ay=str2num(ay);bx=get(handles.edit3,string);bx=str2num(bx);by=get(handles.edit4,string);by=str2num(by);a=atan(abs(by-ay)/abs(bx-ax)*180/pi;if a=0&a=90&a=180&a=270&a=360 a=360-a;endset(handles.edit5,string,a);I=sqrt(by-ay)2+(bx-ax)2); %计算AB的水平距离set(handles.edit6,string,I) %把数据格式变为文本格式,并展现出来3.角度转换为弧度:a=input(输入a的数值) %输入已知的角度值b=input(输入b的数值) %输入已知的分度值c=input(输入c的数值) %输入已知的秒度值y=(a+b/60+c/3600)*pi)/180 %利用转换公式求出弧度值4.弧度转化为角度:a=input(输入a的数值) %输入要转化的弧度值b=a*180/pi %利用公式求解c=fix(b) %求出要求的角度值d=fix(b-c)*60) %求出要求的分度值f=(b-c)*3600-d*60 %求出要求的秒度值四、程序阅读,说明程序功能,优缺点x1=1000.000 %起始坐标数据y1=1000.000x4=1200.000y4=1000.000 angle=ones(4,3) %定义一个4行3列全0矩阵for i=1:4 %给出各角度数据 angle(i,1)=90 angle(i,2)=00 angle(i,3)=02enddist=zeros(3) %定义一个3行3列全0矩阵dist(1)=300.002 %给出距离值dist(2)=200.001dist(3)=300.000%*角度平差* deta=0.0for i=1:4 deta=deta+angle(i,1)*3600+angle(i,2)*60+angle(i,3)enddeta=deta-360*3600 %计算角度闭合差for i=1:4 %计算各角度平差值 angle(i,3)=angle(i,3)-deta/4end%*计算方位角* alfa=zeros(4); %定义一个4行4列全0矩阵Dx=x1-x4;Dy=y1-y4temp=acos(Dx/sqrt(Dx*Dx+Dy*Dy) %计算方位角if Dy0 %判断坐标方位角 temp=2*pi-tempendalfa(1)=temp %给出起始坐标方位角值%*计算各点坐标方位角*for i=1:3 temp=angle(i,1)+angle(i,2)/60+angle(i,3)/3600 temp=temp*pi/180 %角度换算弧度 alfa(i+1)=alfa(i)+pi+tempenddisp(alfa) %显示出alfa%*平面坐标平差* dx=zeros(4) %定义dx为一个4行4列全0矩阵dy=zeros(4) %定义dy为一个4行4列全0矩阵ddx=0ddy=0px=0py=0for i=1:3 dx(i)=dist(i)*cos(alfa(i+1) %x坐标增量 dy(i)=dist(i)*sin(alfa(i+1) %y坐标增量 px=px+abs(dx(i) %x坐标增量绝对值之和,定权用 py=py+abs(dy(i) %y坐标增量绝对值之和,定权用 ddx=ddx+dx(i) %x坐标增量累计(理论上=dx,实际有误差) ddy=ddy+dy(i) %y坐标增量累计(理论上=dy,实际有误差)enddetax=ddx+Dx %计算x坐标增量闭合差detay=ddy+Dy %计算y坐标增量闭合差for i=1:3 %计算各坐标增量改正值 dx(i)=dx(i)-abs(dx(i)/px)*detax dy(i)=dy(i)-abs(dy(i)/py)*detayendxc=zeros(4) %定义xc为一个4行4列全0矩阵 yc=zeros(4) %定义yc为一个4行4列全0矩阵xc(1)=x1 yc(1)=y1for i=1:3 %得出最终的坐标改正值 xc(i+1)=xc(i)+dx(i) yc(i+1)=yc(i)+dy(i)end- 第二个程序 -% *% * 高程数据:起算数据,高差数据,距离数据。 *% *H1 =100H12 =12.364D12 =647.3H23 =2.324D23 =842.1H34 =-3.683D34 =587.4H41 =-11.003D41 =732.3% *% * 计算高差闭合差deta,计算距离和sigma_D,计算高差平差值,计算高程平差值 *% *deta =H12+H23+H34+H41sigma_D=D12+D23+D34+D41H12 =H12-deta*(D12/sigma_D)H23 =H23-deta*(D23/sigma_D)H34 =H34-deta*(D34/sigma_D)H41 =H41-deta*(D41/sigma_D)H2 =H1+H12;H3 =H2+H23;H4 =H3+H34;H1 =H4+H41;% *% * 判断是否合格,若合格输出计算成果,否则查找错误 *% *fprintf(deta=%10.4fn,deta*1000)fprintf(STD=%10.4fn,4*sqrt(sigma_D/1000)if abs(deta*1000)4*sqrt(sigma_D/1000) fprintf(Good!n); fprin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论