?? poleterm1.m
字號:
function [cpp2,mr,tr]=poleterm1(sd,e,d,sid,g,f,dir,si,ni,pn,md)
global pathname net_name c2_datafile
fit2=fopen(strcat(pathname,net_name,c2_datafile),'wt');
cpp2=[];
n=0;
tr=[];
mr=[];
for i=1:sd
num=0;
cpp=[];temp4=[];
temp4=find(i==f);
xx=[]; %存放外圍點名
for k=temp4
xx=[xx g(k)];
end
num=length(xx);
if num>2
numb=0;
d1=[];d2=[];ds=[];
for i0=1:num-1
for j0=i0+1:num
[dir1,kdir1]=finddir(xx(i0),xx(j0),g,f,dir,si,ni);%是否存在1-2方向觀測
[dir2,kdir2]=finddir(xx(j0),xx(i0),g,f,dir,si,ni);%是否存在2-1方向觀測
if kdir1+kdir2==2
numb=numb+1;
d1(numb)=xx(i0);
d2(numb)=xx(j0);
ds(numb)=1000;
end
end
end
dd1=zeros(1,length(d1));
dd2=zeros(1,length(d1));
for y=1:num
for y1=1:length(d1)
if d1(y1)==xx(y)
dd1(y1)=y;
end
if d2(y1)==xx(y)
dd2(y1)=y;
end
end
end
cpp=ccpoints(dd1',dd2',num,length(dd1),ds);
end
if isempty(cpp)~=1
for t=1:size(cpp,2)
n=n+1;
site=cpp{t};
cpp2{n}=xx(site);
mr=[mr i];
end
tr=[tr num];
end
end
%function [err,maxdiff]=poletermerr(cpp2,mr,tr,g,f,dir,si,ni,pn,md)
%計算極條件閉合差和限差= = = = = = = = = = = = = = = = = = = =
n=size(cpp2,2);
err=[];
maxdiff=[];
for i=1:n
site=cpp2{i};
m=size(site,2);
w=1;
w1=0;
for j= 1:m-1
[bet1,k1]=beta(mr(i),site(j),site(j+1));
[bet2,k2]=beta(site(j),site(j+1),mr(i));
w=w*sin(bet1)/sin(bet2);
w1=w1+(cot(bet1))^2+(cot(bet2))^2;
end
err(i)=(w-1)*206265;
maxdiff(i)=2*sqrt(2*w1)*md;
end
%輸出計算結果====================================================================
fprintf(fit2,' 極條件');
fprintf(fit2,' 中心點 環點 閉合差 限差\n');
fprintf(fit2,'= = = = = = = = = = = = = = = = = = = = = = = =\n');
for i=1:size(cpp2,2)
site=cpp2{i};
if abs(maxdiff(i))-abs(err(i))>=0
fprintf(fit2,' %5d %5d %5d %5d %5d %5d %5d %5d',i,mr(i),site);
fprintf(fit2,' %10.3f %10.3f\n',err(i),maxdiff(i));
else
fprintf(fit2,' * * %5d %5d %5d %5d %5d %5d %5d %5d',i,mr(i),site);
fprintf(fit2,' %10.3f %10.3f\n',err(i),maxdiff(i));
end
end
fprintf(fit2,'= = = = = = = = = = = = = = = = = = = = = = = =\n');
fclose(fit2);
open(strcat(pathname,net_name,c2_datafile));
return
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -