测绘工程毕业论文-基于MATLAB的测量基础工具箱开发_第1页
测绘工程毕业论文-基于MATLAB的测量基础工具箱开发_第2页
测绘工程毕业论文-基于MATLAB的测量基础工具箱开发_第3页
测绘工程毕业论文-基于MATLAB的测量基础工具箱开发_第4页
测绘工程毕业论文-基于MATLAB的测量基础工具箱开发_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1第1章绪论1.1选题原因MATLAB语言被称为第四代计算机语言,因为其拥有其他编程语言所不具有的特点。它使人们摆脱了复杂的程序代码,告别了繁复的计算机硬件操作。而导线平差计算中,矩阵运算巨大且频繁,因此采用MATLAB语言可以大大减少工作量。1.2MATLAB对测量数据进行处理的应用测绘科学是一门需要对数据进行处理分析与应用为基础性的学科,其中包含了如平差、各种坐标高程换算、遥感图像处理等,需要进行大量的计算。作为一种程序设计工具,MATLAB处理海量数据比其他程序设计语言拥有难以比拟的优越性。在面对矩阵运算和巨量的数据时,这时如果用C等第三代计算机语言来编写程序对数据分析处理时,耗费的时间和精力是巨大的,而且很容易犯错。而用MATLAB进行编程时,仅仅需要调用一个函数或者一个命令即可,极大的减少了工作量,大大的提高了程序的编写效率。例如:坐标转换是对转换系数的求解,即可简化为:

(1.1)采用别的编程语言,

则程序的编写工作复杂且繁琐,而在 MATLAB

中只需采用矩阵除法符号“/

”,即:

(1.2)根据一定的控制点求出转换矩阵T后,即可用矩阵相乘形式将所有待转换点的新坐标求出来,计算过程简单,可以直接由语言实现。

同样,MATLAB对测量数据、遥感影像的频域分析都可以轻松写意的完成,傅立叶变换函数对测量数据分析提供了扎实可靠的方法,其自带的小波分析工具箱对小波数据分析提供了便利的工具。1.3本文主要研究内容本文基于MATLAB进行测量基础工具箱开发,其中包括的内容有:(1)支导线平差程序设计(2)闭合导线平差程序设计(3)空间大地坐标与直角坐标转换第2章支导线平差程序设计2.1导线测量误差来源2.1.1系统误差系统误差是与分析过程中某些固定的原因引起的一类误差,它具有重复性、单向性、可测性。在相同的环境下,反复测量会重复出现,误差大小具有一定规律。比如,即使测定精度不同,但是因为系统误差,使得测量结果和真实结果偏离很明显。如果找出误差原因和大小,那么系统误差可以消除或减少的。(1)仪器误差是由仪器制造过程中缺陷或者使用条件不当造成。如仪器的零点不准,仪器未调整好和外界环境综合导致的误差。(2)理论误差(方法误差)是由实验本身条件有限或者测量依据理论近似性、实验方法本身不完善所带来的误差。例如热学实验中未考虑到散热条件导致的热量损失,电阻测量中未考虑电表内阻等因素对实际结果的影响。(3)操作误差这是因为观测者个人原因导致的误差,和观测者的状态和身体条件有关。(4)试剂误差是指实验过程中使用试剂不纯含有杂质导致的测定结果与实际结果不相符导致的误差。系统误差有些是定值的,如仪器的零点不准,有些是积累性的,如用受热膨胀的钢质米尺测量时,读数就小于其真实长度。需要注意的是,系统误差总是使测量结果偏向一边,或者偏大,或者偏小,因此,多次测量求平均值并不能消除系统误差。电脑在进行数据处理的过程中,也会有误差,如在处数据型字段的时候,由于处理位数的不一样,所得结果是有误差的,与我们计算中采用四舍五入法得出的结果类似。2.1.2偶然误差随机误差(又称偶然误差)是指测量结果与同一待测量的大量重复测量的平均结果之差。“同一待测量的大量重复测量的平均结果”指在重复条件下得到待测量的期望值或所有可能测得值的平均值。它的特点:大小和方向都不固定,也无法测量或校正。随机误差的性质是:随着测定次数的增加,正负误差可以相互抵偿,误差的平均值将逐渐趋向于零即便测试系统的响应度敏感度非常高,在同样的观测条件下,对同一数值进行多次相同条件下测量时,依然会有偶然情况发生,因为不可预计的不确定条件干扰而产生测量误差,其结果和正负均不可预知。即使一次测量的随机误差没有一定规律可言,但多次测量的结果分析却服从统计学规律,通过对结果的集中统计处理,能在理论上对于测量结果进行预计和评估。随机误差不能用修正或采取某种技术措施的办法来消除。测量值的随机误有以下分布方式:正态分布、t分布、三角分布和均匀分布等,不过绝大部分测量值都服从正态分布这一统计学规律,因此主要以正态分布为主进行介绍。

测量值的随机误差δ是随机变量,它的概率分布密度函数为:(3.1)式中exp()表示以e为底的指数函数,pi表示圆周率,σ表示随机误差的标准偏差。√表示根号随机误差具有以下规律:(1)大小性:绝对值小的误差出现的概率比绝对值大的误差出现的概率大。(2)对称性:绝对值相等的正误差和负误差出现的概率相等。(3)有界性:绝对值很大的误差出现的概率近于零。误差的绝对值不会超过某一个界限。(4)抵偿性:在一定测量条件下,测量值误差的算术平均值随着测量次数的增加而趋于零。2.2支导线平差原理由一已知具体坐标数据的控制点向一已知方向出发,既不回到原点,也不附和到另一已知控制点上,这种导线称为支导线。由于支导线缺乏检核条件,故其边数一般不超过四条,它仅适用于图根控制点加密。

不过在实际应用中,如矿井隧道贯通测量中,由于该地所处的地理条件所限制必须采用此种布设形式,这时可考虑布设成双支导线的形式。将两条支导线的一点或几点重合,外业观测与闭合导线观测方法相同,在重合点上只需设站一次即可。内业计算时可按两条支导线单独进行,也可按闭合导线的方法进行,比较重合点和终点的坐标值而得到检核。设直线MA的坐标方位角和边长,计算各导线边的坐标方位角。由各边的坐标方位角和边长,计算各相邻导线点的坐标增量。并依次推算各导线点的坐标。往返测两次,将得到的两个坐标取平均值,得到最终的坐标值X、Y。2.3支导线平差程序界面及流程图软件界面由未知点数,边长角度观测数,边长距离观测数,已知点数组成,其中数据由读取文件自动生成。按键部分由读取文件,计算并生成文件,绘图三个按键组成,其中读取文件读取excel表中数据,,计算并生成按键进行计算,并生成txt文件,绘图按键在软件中自动进行绘图。图2-1支导线平差设计界面起算已知点起算已知点计算起算方位角计算起算方位角角度观测值角度观测值计算下一条边方位角计算下一条边方位角计算下一点坐标计算下一点坐标距离观测值距离观测值所有点计算完毕所有点计算完毕 否 是全部坐标点全部坐标点图2-2支导线流程图2.4计算实例计算原始数据为已知点,观测点数据。表2-1原始数据输入格式已知点数m未知点数dd边长观测数f角度观测数p1333支导线平差点号已知点坐标坐标方位角X/mY/m度分秒A11768.718419.2422742334边号导线边长观测值/m角号角度观测值(度分秒)s1221.651864316s2195.84321822243s3229.35631885957s1221.591864310s2195.80421822245s3229.34531885955本题有1个已知点,共3个未知点,3条边长,3个角度观测数,将观测数据导入到程序内计算,得到结果为:图2-3数据输出结果图2-4软件输出结果第3章闭合导线平差程序设计3.1闭合导线平差原理图3-1闭合导线示意图闭合导线是导线测量的一种,根据测量夹角和边长,推算出平面坐标的测量称为导线测量,常用的导线测量还包括附和导线和支导线。闭合导线就是已知一条边,测量若干个边长和夹角后又闭合到已知边的导线测量方法。通过计算平差后,可计算得到经过的未知点的平面坐标。设对闭合导线n个内角分别进行了观测,各个符号精度要求的观测值为,并对闭合多边形的n个边长分别进行了测量,各个符号精度要求的观测值为;其中一个导线点的坐标为;确定其余各个导线点的坐标,。3.2闭合导线平差数学模型3.2.1角度闭合差的计算调整(1)实测角度闭合差的计算闭合导线n个实测内角的和不等于其理论值(n-2)*180,其差称为角度闭合差以表示:(4.1)(2)实测角度闭合差检核角度闭合差校核是将实测角度闭合差也同级导线角度闭合差的容许值,按各级导线测量主要技术要求比较,以确定角度综合限差是否满足要求。这里角度综合限差采用图根导线数据,即=40(4.2)(3)角度闭合差的调整若≤,则可以进行角度闭合的调整,否则,应分析情况重测。角度闭合差的调整原则是,将以相反的符号平均分配到各个观测角中,即各点改正数为式=/(4.3)计算时,根据角度的取位的要求,改正数可凑整到1″、6″、10″.若不能均分,一般情况下,因短边角引起的误差较大,因此给短边角的夹角多分配一点,使各角改正数的总和也反号的闭合差相等,即(4.4)3.2.2推算各边的坐标方位角推算各边的坐标方位角目的是为了计算坐标增量。推算方法根据起始方位角及改正后的转折角,按式依次推算出各边的坐标方位角。(4.5) (4.6)式中:第i条边的正方位角第i+1条的正方位角分别为第i-1条边与第i条边间所夹的左右角。在推算过程中,如果算出>360°,则应减去360°如果算出的<0°,则应加上360°为了发现推算过程中的差错,最后必须推算至起始边的坐标方位角,看其是否与已知值相等,以此作为计算校核。3.2.3坐标增量闭合差的计算和调整(1)计算实测各边的坐标增量设第i条实测边的终、横坐标增量分别为(4.7)(4.8)(2)确定理论纵、横坐标增量∑△Xi理、∑△Yi理闭合导线的纵横坐标增量总和的理论值应为零,则有(3)计算坐标增量闭合差fx.fy由于测量误差,改正后的角度仍有残余误差,坐标增量总和的测量计算值∑△X测与∑△Y测一般都不为零,其值称为坐标增量闭合差,fx.fy表示(4)计算导线全长闭合差f并检核全长相对闭合差K因计算的闭合导线并不闭合,而存在一个缺口,这个缺口的长度称为导线闭合差f(4.9)导线越长,全长闭合差也越大。通常用相对闭合差来衡量导线测量的精度,导线的全长相对闭合差按== (4.10)试中∑L为导线边长的总和。导线的全长相对闭合差应满足规定。否则应先检查记录和全部业内作业计算,必要时到现场检查,重测部分或全部结果。若K值符合精度要求,则可将增量闭合差fx.fy以相反符号。按与边长成正比分配到各个增量中。(5)计算各条边的改正数.任意一边分配的改正数.按式==改正数应按增量取位的要求凑整至cm或mm,并且必须使改正数的总和与反符号闭合差相等,即(6)确定各个边长改正后的坐标增量坐标增量计算值(△Xi算、△yi算)又式(4.11)(4.12)3.2.4计算各个导线点的坐标i+1.i+1.(4.13)(4.14)闭合导线坐标计算是按一定得次序在表中进行,如果导线未与高级控制点连接,则起算点的坐标可自行假设。为了检查坐标推算中的差错,最后还应推回到起算的坐标,看其是否和已知值相等,以此作为计算校核。3.3闭合导线平差步骤及流程图闭合导线平差计算步骤:(1)绘制计算草图,在图上填写已知数据和测量数据。并建立excel表按照指定格式将已知数据和测量数据输入到规定的项目栏里。(2)角度闭合差的计算与调整。(3)按照新的角度,计算各边坐标的增加量。(4)坐标增加量闭合差的计算与调整。(5)根据坐标增量计算坐标。角度观测值计算角度闭合差是否角度观测平差重新观测起算点已知计算起算方位角计算各边方位角计算起算点坐标不符值计算各点近似坐标是否超限按权分配坐标不符值平差后坐标距离观测值角度观测值计算角度闭合差是否角度观测平差重新观测起算点已知计算起算方位角计算各边方位角计算起算点坐标不符值计算各点近似坐标是否超限按权分配坐标不符值平差后坐标距离观测值 是 否 是 否图3-2闭合导线程序流程图3.4界面设计及运行实例程序界面输入数据:起始点x,y点坐标,后视点x,y点坐标,连接角,角度观测数,距离观测数。这些数据通过读取excel表自动填写。并将观测值输出到角度观测值和距离观测值里面。通过计算按钮将角度闭合差,限差,导线全长闭合差,限差,导线全长,平均边长,平差后坐标输出到各个对应文本框中。图3-3闭合导线程序设计界面原始观测数据导入,本例中共6个角度观测数,5个起算点坐标。将数据导入程序后进行计算。10674347.66614485053.78211444160.80293555360.316172101442.202885314100100175.66510065表3-1闭合导线观测数据图3-4闭合导线程序结果结束语本次毕业设计采用MATLAB的GUI编辑器编写,不但易于上手,而且是可视化界面方便了界面设计,具有易维护易操作等特点。而且利用MATLAB里丰富的数学公式,大大减少编码工作量。在本次设计中,共完成了2个程序的设计分别是支导线平差程序设计,闭合导线平差程序设计。通过编码与调试,现在已经能成功计算出结果。在导线平差的数据的处理和统计过程中涉及到大量的线性代数、方程组的求解等问题,使用MATLAB对这些软件进行处理是十分简便的。在日常工作和学习中,一些较为常见的数据模型,在MATLAB中建立平差函数,通过调用其函数来完成平差,可以极大的提高工作效率,减少工作量。同时,它操作简便,上手容易,具有强大的图形显示功能并且很方便的可以进行编辑。因此,无论是在学校学习还是工作实践中,MATLAB都有着杰出的便利性和很高的实用价值。借助MATLAB开发的计算程序代码简洁易读,与利用别的面向对象的开发语言开发的测量平差处理程序相比,可以减少软件的开发时间,面对开发时间较少的开发任务也能轻松应对。由于MATLAB中教学中的惯用形式与命令的表达十分一致,编程特点更加符合人们的思维形式。MATLAB为开发各种类型的数据处理系统提供了一种新的快捷方法。随着MATLAB与测绘领域中数据处理问题的结合及相关应用程序的开发,它必将被越来越广泛地应用于测量数据的平差处理。附录:程序主要代码1支导线程序设计代码1.1文件输入程序functionpushbutton1_Callback(hObject,eventdata,handles)globalfilenamepathnamezdxsjf1globalXY0TOBO1S1BO2S2f1=fopen('zdxsj.txt','wt');[filename,pathname]=uigetfile('*.xls','打开数据');ifpathname==0returnendname=[pathname,filename];m=xlsread(name,'sheet1','A2');dd=xlsread(name,'sheet1','B2');f=xlsread(name,'sheet1','C2');p=xlsread(name,'sheet1','D2');q=10+f;qw=12+f;qwe=11+2*f;XY0=xlsread(name,'sheet1','B7:C7');TO=xlsread(name,'sheet1','E7:G7');BO1=xlsread(name,'sheet1','E11:G13');S1=xlsread(name,'sheet1','B11:B13');BO2=xlsread(name,'sheet1','E15:G17');S2=xlsread(name,'sheet1','B15:B17');set(handles.edit4,'string',p);set(handles.edit3,'string',f);set(handles.edit2,'string',dd);set(handles.edit1,'string',m);%hObjecthandletopushbutton1(seeGCBBO)%eventdatareserved-tobedefinedhandlesinafuturefutureversionversionofMATLAB%handlesstructurewithdefinedanduserdata(seeGUIIDATA)1.2计算及输出程序代码functionpushbutton2_Callback(hObject,eventdata,handles)globalmpfddhngef1;globalXY0TOa0BO1S1BO2S2s1s2dx1dy1dx2dy2x0y0ssx01y01ss1x02ss2y02;a0=[];s1=[];s2=[];dx1=[];dy1=[];dy2=[];x0=[];y0=[];ss=[];x01=[];y01=[];ss1=[];x02=[];y02=[];ss2=[];a1=[];A1=[];A2=[];dd=get(handles.edit4,'string');p=get(handles.edit3,'string');f=get(handles.edit2,'string');m=get(handles.edit1,'string');e=str2num(m);g=str2num(p);h=str2num(f);n=str2num(dd);fori=1:ea0(1,i)=TO(i,1)+((TO(i,3)/60)+TO(i,2))/60;endforj=1:ga1(1,j)=BO1(j,1)+((BO1(j,3)/60)+BO1(j,2))/60;a2(1,j)=BO2(j,1)+((BO2(j,3)/60)+BO2(j,2))/60;endfork=1:hs1(1,k)=S1(k,1);s2(1,k)=S2(k,1);endA1(1,1)=a0(1,1)+a1(1,1)-180;ifA1(1,1)>360A1(1,1)=A1(1,1)-360;endifA1(1,1)<0A1(1,1)=A1(1,1)+360;endfork=2:gA1(1,k)=A1(1,k-1)+a1(1,k)-180;%方位角ifA1(1,k)>360A1(1,k)=A1(1,k)-360;endifA1(1,k)<0A1(1,k)=A1(1,k)+360;endendfori=1:gdx1(1,i)=cos(A1(1,i)/180*pi)*s1(1,i);dy1(1,i)=sin(A1(1,i)/180*pi)*s1(1,i);x01(1,i)=XY0(1,1)+dx1(1,i);y01(1,i)=XY0(1,2)+dy1(1,i);ss1(1,i)=sqrt(dx1(1,i)^2+dy1(1,i)^2);endA2(1,1)=a0(1,1)+a2(1,1)-180;ifA2(1,1)>360A2(1,1)=A2(1,1)-360;endifA2(1,1)<0A2(1,1)=A2(1,1)+360;endfork=2:gA2(1,k)=A2(1,k-1)+a2(1,k)-180;ifA2(1,k)>360A2(1,k)=A2(1,k)-360;endifA2(1,k)<0A2(1,k)=A2(1,k)+360;endendfori=1:gdx2(1,i)=cos(A2(1,i)/180*pi)*s2(1,i);dy2(1,i)=sin(A2(1,i)/180*pi)*s2(1,i);x02(1,i)=XY0(1,1)+dx2(1,i);y02(1,i)=XY0(1,2)+dy2(1,i);ss2(1,i)=sqrt(dx2(1,i)^2+dy2(1,i)^2);endfori=1:gx0(i)=(x01(1,i)+x02(1,i))/2;y0(i)=(y01(1,i)+y02(1,i))/2;ss(i)=(ss1(1,i)+ss2(1,i))/2;endfprintf(f1,'近似坐标:\n');fprintf(f1,'ix01(i)y01(i)x02(i)y02(i)\n');fori=1:nfprintf(f1,'%5d%8.8f%8.8f%8.8f%8.8f\n',i,x01(i),y01(i),x02(i),y02(i));endfprintf(f1,'平差坐标:\n');fprintf(f1,'ix0(i)y0(i)\n');fori=1:nfprintf(f1,'%5d%8.8f%8.8f\n',i,x0(i),y0(i));endfprintf(f1,'边长平差值:\n');fprintf(f1,'iss(i)\n');fori=1:nfprintf(f1,'%5d%8.8f\n',i,ss(i));end%hObjecthandletopushbutton2(seeGCCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIIDATA)1.3绘图程序代码Functionglobalpushbutton3_Callback(hObject,globaleventdata,globalhandles)globalx0y0XY0nMNM(1)=XY0(1,1);CN(1)=XY0(1,2);fori=1:nM(i+1)=x0(i);N(i+1)=y0(i);endplot(M,N,'-^k','LineWidth',2,'MarkerEdgeColor','r','MarkerSize',6);%hObjecthandletopushbutton3(seeGCCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUICDATA)2闭合导线程序设计代码2.1文件输入程序functionpushbutton1_Callback(hObject,eventdata,handles)globalxydmsjdjljddmsyoujiaoqsxzbqsyzbhsxzbhsyzbjdxsljlzjdzvifwj...sxsyvxvygzsxgzsyxzbyzbjdbhcjdxc[filename,pathname]=uigetfile('*.xlsx','打开观测数据');str=[pathname,filename];iffilename==0return;elsedata=xlsread(str);dx=size(data);dxx=dx(1);x=data(dxx,1);y=data(dxx,2);set(handles.edit8,'string',num2str(x));set(handles.edit9,'string',num2str(y));qsxzb=data(x+1,1);qsyzb=data(x+1,2);hsxzb=data(x+1,3);hsyzb=data(x+1,4);set(handles.edit1,'string',num2str(qsxzb));set(handles.edit2,'string',num2str(qsyzb));set(handles.edit4,'string',num2str(hsxzb));set(handles.edit3,'string',num2str(hsyzb));ifx==y;zjd=data(x+2,1);zjm=data(x+2,2);zjs=data(x+2,3);ifzjm<10zjm=['0',num2str(zjm)];endifzjs<10zjs=['0',num2str(zjs)];endset(handles.edit5,'string',num2str(zjd));set(handles.edit6,'string',num2str(zjm));set(handles.edit7,'string',num2str(zjs));endd=(data(1:x,1))';m=(data(1:x,2))';s=(data(1:x,3))';jl=(data(1:y,4))';ifd(1)<0d=abs(d);youjiao=1;endforn=1:xjddms(n)=d(n)+m(n)/100+s(n)/10000;jd(n)=d(n)+m(n)/60+s(n)/3600;enda=1:x;space='';ab='第';bc='个观测值:';maxa=length(num2str(max(d)));maxb=length(num2str(max(m)));maxc=length(num2str(max(s)));minspace=3;forn=1:xLa=length(num2str(d(1,n)));Lb=length(num2str(m(1,n)));Lc=length(num2str(s(1,n)));jds{1,n}=[ab,num2str(a(1,n)),bc,...num2str(d(1,n)),'',repmat(space,1,2*(maxa-La)+minspace)...num2str(m(1,n)),'',repmat(space,1,2*(maxb-Lb)+minspace)...num2str(s(1,n))];endset(handles.listbox2,'string',jds);forn=1:yjls{1,n}=[ab,num2str(a(1,n)),bc,space,num2str(jl(1,n))];endset(handles.listbox4,'string',jls);end%hObjecthandletopushbutton1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)functionedit10_Callback(hObject,eventdata,handles)%hObjecthandletoCallbackedit10(seeGCBO)%eventdatareserved-tobedefinedinaCallbackfutureversionofMATLAB%handlesstructurewithhandlesandCallbackuserdata(seeGUIDATA)%Hints:get(hObject,'String')returnscontentsCallbackofedit10astext%str2double(get(hObject,'String'))returnsCallbackcontentsofedit10asadouble%Executesduringobjectcreation,Callbackaftersettingallproperties.2.2计算程序代码forn=1:xjdz=jdz+jd(n);endjdbhc=(jdz一(x一2)*180)*3600;vi=-jdbhc/x;forn=1:xjdxsl(n)=vi;endifvi~=fix(vi)v=rem(jdbhc,x);jdbhcc=jdbhc一v;vi=一jdbhcc/x;forn=1:xjdxsl(n)=vi;endut=jd;forn=1:round(abs(v))point=1;form=2:x;ifut(point)<ut(m)point-m;endendr(n)=point;ut(point)=0;endforn=1:round(abs(v))m=r(n);jdxsl(m)=jdxsl(m)一v/abs(v);endendfwj(1)=qsfwj+zj-180;ifyoujiao==1jd(1)=jd(1)+jdxsl(1)/3600;forn=2:xjd(n)=jd(n)+jdxsl(n)/3600;fwj(n)=fwj(n-1)-jd(n)+180;endelsejd(1)=jd(1)+jdxsl(1)/3600;forn=2:xjd(n)=jd(n)+jdxsl(n)/3600;fwj(n)=fwj(n-1)+jd(n)-180;endendforn=1:yfx=fx+sx(n);sy(n)=jl(n)*sin(fwj(n)*pi/180);fy=fy+sy(n);endf=sqrt(fx^2+fy^2);k=ceil((jlz/f));forn=1:yvx(n)=-fx*jl(n)/jlz;gzsx(n)=sx(n)+vx(n);vy(n)=-fy*jl(n)/jlz;gzsy(n)=sy(n)+vy(n);endxzb(1)=qsxzb;yzb(1)=qsyzb;forn=2:y+1xzb(n)=xzb(n-1)+gzsx(n-1)yzb(n)=yzb(n-1)+gzsy(n-1)end2.3文件输出代码functionpushbutton2_Callback(hObject,eventdata,handles)globalxyjdjljddmsyoujiaoqsxzbqsyzbhsxzbhsyzbjdxsljlzjdzvifwj...sxsyvxvygzsxgzsyxzbyzb[filenamefilepath]=uiputfile('*.xls','打开数据');str=[filepathfilename];ifstr==0return;elsem={'点号','角度(dd.mmss)','角度改正数(s)','方位角(dd.mmss)','距离(m)','X坐标增量(m)','Y坐标增量(m)','改正后X坐标增量(m)','改正后Y坐标增量(m)','X','Y'};xlswrite(str,m,'sheet1','A1');xlswrite(str,sc,'sheet1','B2');ifx>ypoint(1)='0';point(x)='A';forn=2:ypoint(n)=num2str(n-1);endb={'','','','',''};xlswrite(str,b,'sheet1','E2');c=['F',num2str(x+2)];xlswrite(str,ff,'sheet1',c);h=['A',num2str(2)];f=['A',num2str(x+1)];xlswrite(str,point','sheet1','A2');dd=['D',num2str(x+2)];jl={'距离和',jlz};xlswrite(str,jl,'sheet1',dd);ee=['B',num2str(x+2)];jdxc=get(handles.edit23,'string');jdxc=['±',jdxc];jd={'角度闭合差',jdbhc;'限差',jdxc};xlswrite(str,jd,'sheet1',ee);hh=['H',num2str(x+3)];qcbhc=get(handles.edit29,'string');qcbhc=['1/',qcbhc];qcbhc={'导线全长相对闭合差',qcbhc};xlswrite(str,qcbhc,'sheet1',hh);elsepoint(1)='0';point(x+1)='0';forn=2:x;point(n)=num2str(n-1);endd={'',''};e=['B',num2str(y+2)];xlswrite(str,d,'sheet1',e);b={'','','','',''};xlswrite(str,b,'sheet1','E2');c=['F',num2str(x+3)];xlswrite(str,ff,'sheet1',c);f=['A',num2str(x+2)];xlswrite(str,point','sheet1','A2');dd=['D',num2str(x+3)];Jl={'距离和',jlz};xlswrite(str,jl,'sheet1',dd);ee=['B

温馨提示

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

评论

0/150

提交评论