📄 rddat1.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 + -