您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 控制测量matlab
河南城建学院测绘工程学院《控制测量课程设计》报告设计名称:控制测量课程设计学生组号:第三组学生班级:0614111专业:测绘工程指导教师:高宁时间:2014.05.05—2014.05.152014年05月14日一、附和导线的程序设计1.代码如下disp('计算方位角')A=load('zzj.txt');%A为转折角的角度数组B=(A(:,1)/360+A(:,2)/(360*60)+A(:,3)/(360*60*60))*2*pi;%B为转折角的弧度数组FY=load('已知点方位角.txt');FY=(FY(:,1)/360+FY(:,2)/(360*60)+FY(:,3)/(360*60*60))*2*pi;F=[];n=numel(B)a=input('选择转折角为右角或左角即1或2,请选择:')ifa==1fori=1:nifi==1F(1)=FY(1)+pi-B(1);elsef(i)=F(i-1)+pi-B(i);F=[F;f(i)];endifF(i)2*piF(i)=F(i)-2*pi;elseF(i)=F(i);endendelsea==2fori=1:nifi==1F(1)=FY(1)-pi+B(1);elsef(i)=F(i-1)-pi+B(i);F=[F;f(i)];endifF(i)2*piF(i)=F(i)-2*pi;elseF(i)=F(i);endendenddisp('改正前方位角:')Fdisp('附和导线闭合差:')f=F(n)-FY(2);%附和导线闭合差ff=f/n;FG=[];fori=1:nF(i)=F(i)-ff*i%BG为改正后转折角弧度FG=[FG;F(i)]enddisp('改正后方位角:')FG;L=importdata('L.txt');%L为边长n2=numel(L);%n2为边长个数D=0;fori=1:n2D=D+L(i);enddisp('总边长:')Ddisp('改正前坐标增量:')FGS=FG(1:n2);%FGS为计算时所需方位角XZB=cos(FGS).*L%XZB为各边长对应的改正前X坐标增量YZB=sin(FGS).*L%YZB为各边长对应的改正前Y坐标增量ZBCX=0;ZBCY=0;fori=1:n2ZBCX=ZBCX+XZB(i);endfori=1:n2ZBCY=ZBCY+YZB(i);endZBCXZBCYZBYZ=load('已知点坐标.txt');%ZBYZ为已知点坐标ZBCX1=ZBYZ(2)-ZBYZ(1)%ZBCX1为已知X坐标差ZBCY1=ZBYZ(4)-ZBYZ(3)disp('坐标增量闭合差:')Fx=ZBCX-ZBCX1%Fx为X坐标增量差Fy=ZBCY-ZBCY1%Fy为Y坐标增量差disp('改正后坐标增量:')fx=Fx/D*Lfy=Fy/D*LGZBCX=XZB-fx%GZBCX为各边长对应的改正后X坐标增量GZBCY=YZB-fy%GZBCY为各边长对应的改正后Y坐标增量disp('改正后坐标:')GX=[];fori=1:n2ifi==1GX(i)=ZBYZ(1)+GZBCX(i);elseGX(i)=GX(i-1)+GZBCX(i);endenddisp('改正后X坐标:')GXGY=[];fori=1:n2ifi==1GY(i)=ZBYZ(3)+GZBCY(i);elseGY(i)=GY(i-1)+GZBCY(i);endenddisp('改正后Y坐标:')GY2.结果如下二、水准网间接平差程序设计1.程序代码disp('水准网间接平差')disp('高差观测值(m)')[name,hi]=textread('hi.txt','%s%f',7)disp('对应线路长度(km)')[name,si]=textread('si.txt','%s%f',7)disp('已知高程(m)')[name,Hi]=textread('H.txt','%s%f',2)disp('误差方程为V=Bx-l')disp('其中')load('B.txt')Bload('L.txt')Ldisp('取2km的观测高差为单位权观测值,即c=2')c=[2;2;2;2;2;2;2];P0=c./si;P1=P0';disp('权阵为')P=diag(P1)disp('由法方程可得')NBB=B'*P*BW=B'*P*Lx=inv(NBB)*Wdisp('得到改正数')v=B*x-Ldisp('平差结果')hi=hi+0.001*vH1=Hi(1,:)+hi(1,:)H2=Hi(1,:)+hi(2,:)H3=Hi(2,:)+hi(4,:)disp('精度评定')disp('参数函数系数阵f为')load('F.txt');Fdisp('协因数阵为')Q=F*inv(NBB)*F'disp('单位权中误差')O=sqrt(v'*P*v/4)disp('参数的中误差为')Q0=sqrt(Q);Q1=diag(Q0);O1=[O;O;O;O];Oi=O1.*Q12.结果如下
本文标题:控制测量matlab
链接地址:https://www.777doc.com/doc-6294725 .html