GPS单点定位实验报告9页

上传人:文库****9 文档编号:173170087 上传时间:2021-03-11 格式:DOC 页数:9 大小:83.50KB
返回 下载 相关 举报
GPS单点定位实验报告9页_第1页
第1页 / 共9页
GPS单点定位实验报告9页_第2页
第2页 / 共9页
GPS单点定位实验报告9页_第3页
第3页 / 共9页
GPS单点定位实验报告9页_第4页
第4页 / 共9页
GPS单点定位实验报告9页_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《GPS单点定位实验报告9页》由会员分享,可在线阅读,更多相关《GPS单点定位实验报告9页(9页珍藏版)》请在金锄头文库上搜索。

1、GPS原理与应用实验题 目: GPS单点定位 专 业: 测绘工程 班 级: 12-01 学 号: 2012212600 姓 名: 王威 指导教师: 陶庭叶 时间:2014.11目录1、 实验目的.32、 实验原理.33、 实验内容.34、 实验效果图.95、 实验总结.9一 实验目的1.深入了解单点定位的计算过程;2.加强单点定位基本公式和误差方程式,法线方程式的记忆;3.通过上机调试程序加强动手能力的培养。二实验原理 一个接收机接受三个火三个以上卫星信号,得出卫星坐标和伪距,利用间接平差计算接收机的坐标。 三实验内容1.程序流程图输入原始数据 打印输出精度评定列出伪距观测方程循环多次间接平差

2、得出新的接收机坐标X,Y,Z组成误差方程组AiX+Li=Vi得出各个坐标的l,m,n伪距方程线性化 2、实验数据 3、实验程序代码Private Sub Command1_Click()CommonDialog1.Filter = TXT files|*.txt|CommonDialog1.FilterIndex = 1CommonDialog1.ShowOpenOpen Me.CommonDialog1.FileName For Input As #1Do While Not EOF(1)Line Input #1, Texttextbuff = textbuff + Text + vbCr

3、LfLoopClose #1kk = MSFlexGrid1.Rows - 1Dim aReDim a(kk - 1)a = Split(textbuff, vbCrLf)For j = 1 To kk For i = 1 To 5 MSFlexGrid1.TextMatrix(j, i) = a(j - 1 + 5 * (i - 1)Next iNext jFor k = 1 To kkMSFlexGrid1.TextMatrix(k, 0) = 第 & k & 个点Next kMSFlexGrid1.TextMatrix(0, 1) = XMSFlexGrid1.TextMatrix(0,

4、 2) = YMSFlexGrid1.TextMatrix(0, 3) = ZMSFlexGrid1.TextMatrix(0, 4) = 伪距MSFlexGrid1.TextMatrix(0, 5) = 钟差End SubPrivate Sub Command2_Click()kk = MSFlexGrid1.Rows - 1X0 = 0: Y0 = 0: Z0 = 0c = 299792458Dim a()ReDim a(kk - 1, 3)Dim ll()ReDim ll(kk - 1, 0)For ii = 1 To 100For i = 1 To kk l = (MSFlexGrid

5、1.TextMatrix(i, 1) - X0) / Sqr(MSFlexGrid1.TextMatrix(i, 1) - X0) 2 + (MSFlexGrid1.TextMatrix(i, 2) - Y0) 2 + (MSFlexGrid1.TextMatrix(i, 3) - Z0) 2) m = (MSFlexGrid1.TextMatrix(i, 2) - Y0) / Sqr(MSFlexGrid1.TextMatrix(i, 1) - X0) 2 + (MSFlexGrid1.TextMatrix(i, 2) - Y0) 2 + (MSFlexGrid1.TextMatrix(i,

6、 3) - Z0) 2) n = (MSFlexGrid1.TextMatrix(i, 3) - Z0) / Sqr(MSFlexGrid1.TextMatrix(i, 1) - X0) 2 + (MSFlexGrid1.TextMatrix(i, 2) - Y0) 2 + (MSFlexGrid1.TextMatrix(i, 3) - Z0) 2) a(i - 1, 0) = l a(i - 1, 1) = m a(i - 1, 2) = n a(i - 1, 3) = -1lk = MSFlexGrid1.TextMatrix(i, 4) - Sqr(MSFlexGrid1.TextMat

7、rix(i, 1) - X0) 2 + (MSFlexGrid1.TextMatrix(i, 2) - Y0) 2 + (MSFlexGrid1.TextMatrix(i, 3) - Z0) 2) + c * MSFlexGrid1.TextMatrix(i, 5)ll(i - 1, 0) = lkNext igzs = xc(qiuni(xc(zz(a), a), xc(zz(a), ll)X0 = X0 - gzs(0, 0)Y0 = Y0 - gzs(1, 0)Z0 = Z0 - gzs(2, 0)j = j + 1Next iiText2.Text = X= & X0 & vbCrLf

8、 & vbCrLf & Y= & Y0 & vbCrLf & vbCrLf & Z= & Z0V = jian(ll, xc(a, gzs)zjl = xc(zz(V), V)0 = Sqr(zjl(0, 0) / (kk - 3)Qx = qiuni(xc(zz(a), a)Text3.Text = X= & 0 * Sqr(Qx(0, 0) & vbCrLf & vbCrLf & Y= & 0 * Sqr(Qx(1, 1) & vbCrLf & vbCrLf & Z= & 0 * Sqr(Qx(2, 2)End SubPrivate Sub Form_Load()MSFlexGrid1.C

9、olWidth(1) = 1300MSFlexGrid1.ColWidth(2) = 1300MSFlexGrid1.ColWidth(3) = 1300MSFlexGrid1.ColWidth(4) = 1300Text2.Text = Text3.Text = End Sub矩阵相减Public Function jian(m, n)Dim i, j As IntegerIf UBound(m, 1) UBound(n, 1) Or UBound(m, 2) UBound(n, 2) ThenMsgBox (请确认输入数组是否可以相减!)ElseDim c()ReDim c(UBound(

10、m, 1), UBound(n, 2)For i = 0 To UBound(c, 1)For j = 0 To UBound(c, 2)c(i, j) = m(i, j) - n(i, j)Next jNext ijian = cEnd IfEnd Function矩阵的转置Public Function zz(a)Dim i As Integer, j As Integer, t As Integer, b()If UBound(a, 1) = UBound(a, 2) ThenFor i = 0 To UBound(a, 1)For j = 0 To UBound(a, 2)If i j

11、 Thent = a(i, j)a(i, j) = a(j, i)a(j, i) = tEnd IfNext jNext izz = aElseReDim b(UBound(a, 2), UBound(a, 1)For i = 0 To UBound(a, 2)For j = 0 To UBound(a, 1)b(i, j) = a(j, i)Next jNext izz = bEnd IfEnd Function两矩阵相乘Public Function xc(a, b)Dim i As Integer, j As Integer, k As IntegerIf UBound(a, 2) UB

12、ound(b, 1) ThenMsgBox (这两个矩阵不能够相乘)Exit FunctionEnd IfReDim sd(UBound(a, 1), UBound(b, 2)For i = 0 To UBound(a, 1)For j = 0 To UBound(b, 2)For k = 0 To UBound(b, 1)sd(i, j) = sd(i, j) + a(i, k) * b(k, j)Next kNext jNext ixc = sdEnd FunctionPublic Function qiuni(a)Dim c, m%, n%, p#, l%, i%, j%, ab#m =

13、 UBound(a, 1)n = UBound(a, 2)If m n ThenMsgBox (该矩阵不可逆!)Exit FunctionEnd IfReDim c(m, 2 * n + 1)For i = 0 To m For j = 0 To n c(i, j) = a(i, j) Next jNext iFor i = 0 To m For j = m + 1 To 2 * m + 1 c(i, j) = 0 Next jNext ii = 0For j = m + 1 To 2 * m + 1 c(i, j) = 1 i = i + 1 Next jFor k = 0 To n If c(k, k) = 0 Then For i = k + 1 To n If c(i, k) 0 Then GoTo this End If Next i If i = n + 1 Then MsgBox (该矩阵不可逆!) Exit Funct

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号