测量编程吧 关注:1贴子:6
  • 0回复贴,共1
cjiao=input('请输入地面角度观测值(弧度制)=');
a=input('请输入边长观测值a=');
b=input('请输入边长观测值b=');
c=input('请输入边长观测值c=');
cjiaod=input('请输入地下角度观测值(弧度制)=');
ad=input('请输入边长观测值a*=');
bd=input('请输入边长观测值b*=');
cd=input('请输入边长观测值c*=');
ajiao=asin(a/c*sin(cjiao));
bjiao=asin(b/c*sin(cjiao));
if ajiao/pi*180<2 && bjiao/pi*180>178
disp('角度面解算:α、β、γ')
a1=a/c*cjiao;
b1=b/c*cjiao;
c1=pi-(a1+b1);
a1=a1/pi*180;
b1=b1/pi*180;
c1=c1/pi*180;
a1=degree2dms(a1);
b1=degree2dms(b1);
c1=degree2dms(c1);
elseif ajiao/pi*180<20 && bjiao/pi*180>160
disp('角度面解算:α、β、γ')
a1=ajiao
b1=bjiao
c1=pi-(a1+b1);
a1=a1/pi*180;
b1=b1/pi*180;
c1=c1/pi*180;
a1=degree2dms(a1);
b1=degree2dms(b1);
c1=degree2dms(c1);
elseif ajiao/pi*180>=20
disp('角度面解算:α、β、γ')
p=1/2*(a+b+c);
c1=2*atan(sqrt((p-a)*(p-b)/(p*(p-c))));
a1=2*atan(sqrt((p-b)*(p-c)/(p*(p-a))));
b1=2*atan(sqrt((p-a)*(p-c)/(p*(p-b))));
a1=a1/pi*180;
b1=b1/pi*180;
c1=c1/pi*180;
a1=degree2dms(a1);
b1=degree2dms(b1);
c1=degree2dms(c1);
end
ajiaod=asin(ad/cd*sin(cjiaod));
bjiaod=asin(bd/cd*sin(cjiaod));
if ajiaod/pi*180<2 && bjiaod/pi*180>178
disp('地下角度解算:α、β、γ')
a1d=ad/cd*cjiaod;
b1d=bd/cd*cjiaod;
c1d=pi-(a1d+b1d);
a1d=a1d/pi*180;
b1d=b1d/pi*180;
c1d=c1d/pi*180;
a1d=degree2dms(a1d);
b1d=degree2dms(b1d);
c1d=degree2dms(c1d);
elseif ajiaod/pi*180<20 && bjiaod/pi*180>160
disp('地下角度解算:α、β、γ')
a1d=ajiaod
b1d=bjiaod
c1d=pi-(a1d+b1d);
a1d=a1d/pi*180;
b1d=b1d/pi*180;
c1d=c1d/pi*180;
a1d=degree2dms(a1d);
b1d=degree2dms(b1d);
c1d=degree2dms(c1d);
elseif ajiaod/pi*180>=20
disp('地下角度解算:α、β、γ')
pd=1/2*(ad+bd+cd);
c1d=2*atan(sqrt((pd-ad)*(pd-bd)/(pd*(pd-cd))));
a1d=2*atan(sqrt((pd-bd)*(pd-cd)/(pd*(pd-ad))));
b1d=2*atan(sqrt((pd-ad)*(pd-cd)/(pd*(pd-bd))));
a1d=a1d/pi*180;
b1d=b1d/pi*180;
c1d=c1d/pi*180;
a1d=degree2dms(a1d);
b1d=degree2dms(b1d);
c1d=degree2dms(c1d);
end


1楼2018-12-25 10:20回复