⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 level_close1.m

📁 利用MATLAB实现了对测量中的平面网
💻 M
字号:
function level_close1      %优化树型法
global pathname net_name s_datafile b_datafile a1_datafile;;
global ed dd sd pn gd h0 k1 k2 h1 dh s  k11 k12;
fit2=fopen(strcat(pathname,net_name,'_close.txt'),'wt');
fprintf(fit2,'                水准路线闭合差\n');
fprintf(fit2,'=================================================================\n');
fprintf(fit2,'环号     闭合环点号      闭合环长度    闭合差    允许闭合差\n');
[RT,Q1,Q2]=closecirclesearch(k1,k2,sd,gd);
[aa,bb]=size(RT);
hh=[];
for ii=1:bb                        %排序后的高差和距离
  for i=1:bb
    if (Q1(ii)==k11(i) & Q2(ii,1)==k12(i))
    nn=i;
    hh0=h1(i);
    ss0=s(i);
    end
  end
   hh(ii)=hh0;
   ss(ii)=ss0;
end
hh=hh';
ss=ss';  
cl1=0;
for i=1:aa
   mm=[];nn=[];n=[];
     RR=RT(i,:);
    cl1=RT(i,:)*hh;     %计算每个环的闭合差
    cl2=abs(RT(i,:))*ss;    %闭合环的长度
    cl3=0.02*sqrt(cl2);   %计算每个环的允许闭合差
    [i1,j1]=find(RR~=0);     %查找非0元素的行列号
    for j=1:length(j1)
        mm(j)=Q1(j1(j));
        nn(j)=Q2(j1(j));
    end
    mm=[mm nn];
    cc=length(mm);
       for m=1:cc-1          %将起终点号混合排序
           im=m;
           for n=m+1:cc
               if mm(n)<mm(im)
                   im=n;
               end
           end
               t=mm(m);
               mm(m)=mm(im);
               mm(im)=t;
           end
            for ii=1:length(nn)-1;   %查找出闭合环的点号
                n(1)=mm(1);
                for j=1:cc
                    if n(ii)~=mm(j)
                      n(ii+1)=mm(j);
                    end
                end
            end
     fprintf(fit2,'%3d  ',i);
     fprintf(fit2,'%3d %3d %3d %3d ',n(1),n(2),n(3),n(1));   
     fprintf(fit2,' %10.3f %10.3f %10.3f\n',cl2,cl1,cl3);
end    
fprintf(fit2,'============================================================\n');
fclose(fit2);
open(strcat(pathname,net_name,'_close.txt'));
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -