实验三-利用matlab程序设计语言完成某工程导线网平差计算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三利用matlab程序设计语言完成某工

程导线网平差计算

实验数据;

某工程项目按城市测量规范(CJJ8-99)不设一个二级导线网作为首级平面控制网,主要技术要求为:平均边长200cm,测角中误差±8,导线全长相对闭合差<1/10000,最弱点的点位中误差不得大于5cm,经过测量得到观测数据,设角度为等精度观测值、测角中误差为m=±8秒,鞭长光电测距、测距中误差为m=±√smm,根据所学的‘误差理论与测量平差基础’提出一个最佳的平差方案,利用matlab完成该网的严密平差级精度评定计算;

平差程序设计思路:

1采用间接平差方法,12个点的坐标的平差值作为参数.利用matlab进行坐标反算,求出已知坐标方位角;根据已知图形各观测方向方位角;

2计算各待定点的近似坐标,然后反算出近似方位角,近似边.计算各边坐标方位角改正数系数;

3确定角和边的权,角度权Pj=1;边长权Ps=100/S;

4计算角度和边长的误差方程系数和常数项,列出误差方程系数矩阵B,算出Nbb=B’PB,W=B’Pl,参数改正数x=inv(Nbb)*W;角

度和边长改正数V=Bx-l;

6 建立法方程和解算x,计算坐标平差值, 精度计算;程序代码以及说明:

s10=;s20=;

s30=;s40=;

s50=;s60=;

s70=;s80=;

s90=;s100=;

s110=;s120=;

s130=;s140=; %已知点间距离

Xa=;Ya=;

Xb=;Yb=;

Xc=;Yc=;

Xd=;Yd=;

Xe=;Ye=;

Xf=;Yf=; %已知点坐标值

a0=atand((Yb-Ya)/(Xb-Xa))+180;

d0=atand((Yd-Yc)/(Xd-Xc));

f0=atand((Yf-Ye)/(Xf-Xe))+360; %坐标反算方位角a1=a0+(163+45/60+4/3600)-180

a2=a1+(64+58/60+37/3600)-180;

a3=a2+(250+18/60+11/3600)-180;

a4=a3+(103+57/60+34/3600)-180;

a5=d0+(83+8/60+5/3600)+180;

a6=a5+(258+54/60+18/3600)-180-360;

a7=a6+(249+13/60+17/3600)-180;

a8=a7+(207+32/60+34/3600)-180;

a9=a8+(169+10/60+30/3600)-180;

a10=a9+(98+22/60+4/3600)-180;

a12=f0+(111+14/60+23/3600)-180;

a13=a12+(79+20/60+18/3600)-180;

a14=a13+(268+6/60+4/3600)-180;

a15=a14+(180+41/60+18/3600)-180; %推算个点方位角

aa=[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a12 a13 a14 a15]' X20=Xb+s10*cosd(a1);

X30=X20+s20*cosd(a2);

X40=X30+s30*cosd(a3);

X50a=X40+s40*cosd(a4);

X60=Xd+s50*cosd(a5);

X70=X60+s60*cosd(a6);

X80=X70+s70*cosd(a7);

X90=X80+s80*cosd(a8);

X100=X90+s90*cosd(a9);

X50c=X100+s100*cosd(a10);

X130=Xf+s110*cosd(a12);

X140=X130+s120*cosd(a13);

X150=X140+s130*cosd(a14);

X50e=X150+s140*cosd(a15); %各点横坐标近似值

X0=[X20 X30 X40 X60 X70 X80 X90 X100 X130 X140 X150 X50a X50c X50e]'

Y20=Yb+s10*sind(a1);

Y30=Y20+s20*sind(a2);

Y40=Y30+s30*sind(a3);

Y50a=Y40+s40*sind(a4);

Y60=Yd+s50*sind(a5);

Y70=Y60+s60*sind(a6);

Y80=Y70+s70*sind(a7);

Y90=Y80+s80*sind(a8);

Y100=Y90+s90*sind(a9);

Y50c=Y100+s100*sind(a10);

Y130=Yf+s110*sind(a12);

Y140=Y130+s120*sind(a13);

Y150=Y140+s130*sind(a14);

Y50e=Y150+s140*sind(a15); %个点从坐标近似值

Y0=[Y20 Y30 Y40 Y60 Y70 Y80 Y90 Y100 Y130 Y140 Y150 Y50a Y50c Y50e]'

P=[X0 Y0];

X50=(X50a+X50c+X50e)/3

Y50=(Y50a+Y50c+Y50e)/3

s4=sqrt((Y40-Y50)^2+(X40-X50)^2);

s1=sqrt((Y100-Y50)^2+(X100-X50)^2);

s14=sqrt((Y150-Y50)^2+(X150-X50)^2);

A1=[cosd(a1) cosd(a2) cosd(a3) cosd(a4) cos(a5) cosd(a6) cosd(a7) cosd(a8) cosd(a9) cosd(a10) cosd(a12) cosd(a13) cosd(a14) cosd(a15)]';

B11=[sind(a1) sind(a2) sind(a3) sind(a4) sin(a5) sind(a6) sind(a7) sind(a8) sind(a9) sind(a10) sind(a12) sind(a13) sind(a14) sind(a15)]';

s=blkdiag(s10,s20,s30,s4,s50,s60,s70,s80,s90,s10',s110, s120,s130,s14);

a=*inv(s)*B11

b=*inv(s)*A1

ab4=atand((Y50-Y40)/(X50-X40))+180;

ab10=atand((Y50-Y100)/(X50-X100));

ab14=atand((Y50-Y150)/(X50-X150))+360;

m4=ab4-a3+180;

m10=ab10-a9+180;

m11=ab4-ab10;

相关文档
最新文档