编辑: 人间点评 | 2013-06-08 |
课程设计题目
3 二. 题目解答
3
1、 函数模型:
3
2、 随机模型:
3
3、 计算过程:
3 1) 设参数并求得参数近似值
3 2) 列误差方程:
3 3) 方程的解
4 4) 结合Matlab和Excel设计计算程序:
4
4、 平差结果:
7
5、 计算流程图
8 三. 心得体会
8
1、基础理论的重要性
8
2、软件工具的重要性
9
3、心态的重要性
9 综合评语:
10 课程设计题目 编程完成一GPS网的平差计算.起算数据见文件"起算数据.TXT";
GPS网略图见"网图.jpg";
基线向量观测值和方差见"基线.bas".根据已知起算数据和观测值建立数学模型并进行最小二乘平差计算和精度评定. 题目解答 函数模型: 应用附有限制条件的间接平差模型 随机模型: 计算过程: 设参数并求得参数近似值 设点
0025、
0029、
0031、
0032、
0033、0050的坐标为参数: 0025(X25,Y25,Z25) 0029(X29,Y29,Z29) 0031(X31,Y31,Z31) 0032(X32,Y32,Z32) 0033(X33,Y33,Z33) 0050(X50,Y50,Z50) 并且 列误差方程: n=72 t=16 u=18 s=2 r=n-u+s=56 (观测方程) (误差方程) (限制条件) 其中: 方程的解 精度评定: 协因数阵见如下程序设计 结合Matlab和Excel设计计算程序: 平差前将已有数据用excel计算并整理出相应格式,存入指定文件夹内,在matlab中调用此文件夹. 计算过程均以(米)为单位. 取先验单位权中误差为σ0=0.0002m,其权阵为P=(D/σ02)-1 clear D=xlsread('基线方差阵.xlsx') %读取数据文件 B=xlsread('B.xlsx') l=xlsread('l XYZ.xlsx') C=xlsread('C.xlsx') Wx=xlsread('Wx.xlsx') Lgc=xlsread('L 观测.xlsx') X0=xlsread('X0.xlsx') Q=D/(0.0002*0.0002) %解附有限制条件的间接平差的基础方程 P=inv(Q) NBB=B'*P*B W=B'*P*l NBBni=inv(NBB) NCC=C*NBBni*C' Ks=inv(NCC)*(C*NBBni*W+Wx) x=(NBBni-NBBni*C'*(inv(NCC))*C*NBBni)*W-NBBni*C'*(inv(NCC))*Wx V=B*x-l L=Lgc+V X= X0+x thigema0=sqrt(V'*P*V/56) %验后的单位权中误差 QLgcLgc=Q %计算协因数阵 QWW=NBB QWL=B' QKsKs=inv(NCC) QKsLgc=inv(NCC)*C*NBBni*B' QKsW= inv(NCC)*C QXX=NBBni- NBBni*C'*inv(NCC)*C*NBBni QXLgc=QXX*B' QXW=QXX*NBB QXKs=0 QVV=Q-B*QXX*B' QVL=-QVV QVW=B*QXX*NBB-B QVX=0 QVKs=-B*NBBni*C'*inv(NCC) QLL=Q-QVV QLLgc=Q-QVV QLW=B*QXX*NBB QLX=B*QXX QLKs=0 QLV=0 DXX=thigema0*thigema0*QXX for i=1:6 %利用循环计算误差椭圆参数 K(i)=sqrt(((QXX((i-1)*3+1,(i-1)*3+1)-QXX((i-1)*3+2,(i-1)*3+2))^2+4*(QXX((i-1)*3+1,(i-1)*3+2))^2)) QEE(i)=(QXX((i-1)*3+1,(i-1)*3+1)+QXX((i-1)*3+2,(i-1)*3+2)+K(i))/2 QFF(i)=(QXX((i-1)*3+1,(i-1)*3+1)+QXX((i-1)*3+2,(i-1)*3+2)-K(i))/2 E(i)=thigema0*sqrt(QEE(i)) F(i)=thigema0*sqrt(QFF(i)) tanFaiE(i)=(QEE(i)-QXX((i-1)*3+1,(i-1)*3+1))/QXX((i-1)*3+1,(i-1)*3+2) FaiE(i)=atan(tanFaiE(i))*180/pi End %绘制0025点的误差椭圆 t=0:pi/20:2*pi;
x0025=E(1)*cos(t);
y0025=F(1)*sin(t);
x_0025=x0025*cos(FaiE(1)-pi/2)+y0025*sin(FaiE(1)-pi/2);
y_0025=-x0025*sin(FaiE(1)-pi/2)+y0025*cos(FaiE(1)-pi/2);
plot(x_0025,y_0025) 平差结果: 点名 X(m) Y(m) Z(m) 中误差X(cm) 中误差Y(cm) 中误差Z(cm) E (cm) F(cm)
0025 -2396267.6203 5384905.9209 2429289.0332 2.2209 4.7881 2.0372 5.2098 0.8463
0029 -2401792.0387 5380465.0681 2433811.0853 0.9448 2.1751 0.9489 2.3078 0.5455
0031 -2402595.6620 5377020.6994 2440591.7824 1.9125 4.6331 2.0329 4.8214 1.3705
0032 -2404345.8221 5379997.7865 2432607.4310 1.7561 3.8219 1.7801 4.1530 0.6660