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

📄 poly_fuhe.m

📁 利用MATLAB实现了对测量中的平面网
💻 M
字号:
function poly_fuhe(e,d,sid,g,f,dir,si,ni,ed,dd,pn,x0,y0)
%符合导线闭合差计算
global pathname net_name c5_datafile

c5_datafile='_fuhe.out';
fit2=fopen(strcat(pathname,net_name,c5_datafile),'wt');
[p1,p2,s,dir12,dir21]=orientcollect(e,d,sid,g,f,dir,si,ni,ed,dd,pn);
cpp1=surveyfuhe(p1',p2',ed+dd,length(p1),s,ed);
fprintf(fit2,'      附合导线条件\n');
fprintf(fit2,'环号     闭合环点号       X坐标闭合差    Y坐标闭合差    角度闭合差    长度闭合差   相对闭合差\n');
for i=1:(size(cpp1,2))
    site=cpp1{i};
    temp4=[];   xx=[];%存放目标点名
    temp4=find(site(1)==g);
    kdir1=0;k1=0;
    for k=temp4
        xx=[xx f(k)];
    end
    kk=length(xx);
    if kk>0&min(xx)<=ed %
        kdir1=1;
        k1=min(xx);
    end
    temp4=[];xx=[];%存放目标点名
    temp4=find(site(end)==g);
    kdir2=0;k2=0;
    for k=temp4
          xx=[xx f(k)];
    end
    kk=length(xx);
    if kk>0&min(xx)<=ed
        kdir2=1;
        k2=min(xx);
    end
    k=kdir1+kdir2;
    if k==0                 
        %无定向符合导线
       [closediff,err]=orientlead(3,site,si,ni,pn,e,d,sid,g,f,dir,x0,y0);
   elseif k==1
       if kdir1==1
           site=[k1 site];
       else
           site=[k2 site(end:1)];
       end
       %单定向导线
       [closediff,err]=orientlead(2,site,si,ni,pn,e,d,sid,g,f,dir,x0,y0);
   elseif k==2
       site=[k1 site k2];
       %双定向导线
       [closediff,err]=orientlead(1,site,si,ni,pn,e,d,sid,g,f,dir,x0,y0);
   end
   for k=1:length(site)
       site(k)=pn(site(k));
   end
   fprintf(fit2,'---------------------------------------------\n');
   fprintf(fit2,' %4d',i,site);
   fprintf(fit2,' %10.3f %10.3f %10.3f %10.3f %10.0f\n',closediff(1:5));
end
fprintf(fit2,'---------------------------------------------\n');
fclose(fit2);
open(strcat(pathname,net_name,c5_datafile));
return

⌨️ 快捷键说明

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