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

📄 rddat1.m

📁 利用MATLAB实现了对测量中的平面网
💻 M
字号:
%读取数据文件
function kk=rddat1
global net ed dd sd dd1 pn x0 y0 m1 m2 m3 ms pp e d sid md g f dir ni si ma s t az aa bb cc rt rr tt
global pathname net_name s_datafile b_datafile;
x0=[];y0=[];e=[];d=[];sid=[];g=[];f=[];dir=[];si=[];ni=[];s=[];t=[];az=[];pn=[];
    [filename,pathname]=uigetfile('*.txt','Input filename');
	i=find('.'==filename);
	net_name=filename(1:i-1);
    s_datafile='.txt';
  b_datafile='1.txt';
fit1=fopen(strcat(pathname,net_name,s_datafile),'rt');
if(fit1==-1)
    msgbox('Input File or Path is not correct','Warning','warn');
    return; 
end                                                      %open a file to read
fit2=fopen(strcat(pathname,net_name,b_datafile),'wt');
if(fit2==-1)
    msgbox('Input File or Path is not correct','Warning','warn');
    return;
end                                                      %open a file to read
net=fscanf(fit1,'%d',1);
fprintf(fit2,'%5d\n',net);
[a]=fscanf(fit1,'%d',3);
ed=a(1);dd=a(2);dd1=a(3);
fprintf(fit2,'%5d',ed,dd,dd1);
fprintf(fit2,'\n');
sd=ed+dd;
[pn]=fscanf(fit1,'%d',sd);
fprintf(fit2,' %5d %5d %5d %5d %5d %5d %5d %5d %5d %5d %5d\n',pn);
fprintf(fit2,'\n');
[a]=fscanf(fit1,'%f',2*ed);
for i=1:ed
    x0(i)=a(2*i-1);
    y0(i)=a(2*i);
    fprintf(fit2,'%15.3f %15.3f\n',x0(i),y0(i));
end
fprintf(fit2,'\n');
[a]=fscanf(fit1,'%d',3);
m1=a(1);m2=a(2);m3=a(3);
fprintf(fit2,'%5d %5d %5d\n',m1,m2,m3);

isid=0;
if(m1>0)
 	fprintf(fit2,'side\n');
	[a]=fscanf(fit1,'%f ',2);
	ms=a(1);
	pp=a(2);
 	fprintf(fit2,'%6.2F %6.2f\n',ms,pp);
	[a]=fscanf(fit1,'%d %d %f ',3*m1);
	for i=1:m1
        e(i)=a(3*i-2);  d(i)=a(3*i-1);     sid(i)=a(3*i);
        fprintf(fit2,'%5d %5d %15.3f\n',e(i),d(i),sid(i));
	end
	[e,i1]=chkdat(sd,pn,e);
	[d,i2]=chkdat(sd,pn,d);
	i3=0;
	for i=1:m1
		if(e(i)==d(i))
			i3=1;
			fprintf(fit2,'** %5d %5d %5d **\n',i,e(i),d(i));
		end
		fprintf(fit2,'%5d %5d %15.3f\n',e(i),d(i),sid(i));
	end
     isid=i1+i2+i3;
end
idir=0;
if(m2>0)
     fprintf(fit2,'direction\n');
     md=fscanf(fit1,'%f',1);
     fprintf(fit2,'%6.2f\n',md);
	[a]=fscanf(fit1,'%d %d %f ',3*m2);
	for i=1:m2
        n1(i)=a(3*i-2);
        n2(i)=a(3*i-1);
        unk(i)=a(3*i);
        fprintf(fit2,'%5d %5d %15.3f\n',n1(i),n2(i),unk(i));
	end
	[n1,i1]=chkdat(sd,pn,n1);
	[n2,i2]=chkdat(sd,pn,n2);
     i3=0;
     for j=1:m2
         if(n1(j)==n2(j))
             i3=1;
             fprintf(fit2,'** %5d %5d %5d **\n',j,n1(j),n2(j));
         end
     end
     ik=1;
     si(1)=1;
     for i=1:sd
         ii=0;
         for j=1:m2
             if(n1(j)==i)
                 ii=ii+1;
                 g(ik)=n1(j);
                 f(ik)=n2(j);
                 dir(ik)=unk(j);
                 fprintf(fit2,'%5d %5d %15.5f\n',g(ik),f(ik),dir(ik));
                 dir(ik)=dms_rad(dir(ik));
                 ik=ik+1;
             end
         end
         ni(i)=ii;
         si(i+1)=si(i)+ni(i);
     end
	fprintf(fit2,'%5d %5d %5d %5d %5d %5d %5d %5d %5d %5d %5d\n',ni);
    fprintf(fit2,'\n');
	fprintf(fit2,'%5d %5d %5d %5d %5d %5d %5d %5d %5d %5d %5d\n',si);
    fprintf(fit2,'\n');
    idir=i1+i2+i3;
end

iaz=0;
if(m3>0)
     fprintf(fit2,'Azimut\n');
     ma=fscanf(fit1,'%f',1);
     fprintf(fit2,'%6.2f\n',ma);
	[a]=fscanf(fit1,'%d %d %f ',3*m3);
	for i=1:m3
        s(i)=a(3*i-2);
        t(i)=a(3*i-1);
        az(i)=a(3*i);
        fprintf(fit2,'%5d %5d %15.3f\n',s(i),t(i),az(i));
	end
	[s,i1]=chkdat(sd,pn,s);
	[t,i2]=chkdat(sd,pn,t);
     i3=0;
     for j=1:m3
         if(s(j)==t(j))
             i3=1;
             fprintf(fit2,'** %5d %5d %5d **\n',j,s(j),t(j));
         end
         az(i)=dms_rad(az(i));
     end
     iaz=i1+i2+i3;
end

kk=isid+idir+iaz;
if(kk>0)
    msgbox('Error by function rddat1','Warning','warn');
	return;
end
fclose('all');
open(strcat(pathname,net_name,b_datafile));
return

⌨️ 快捷键说明

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