⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 水准测量.frm

📁 测绘工程应用
💻 FRM
字号:
VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Form1"
   ClientHeight    =   9270
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   11025
   LinkTopic       =   "Form1"
   ScaleHeight     =   9270
   ScaleWidth      =   11025
   StartUpPosition =   3  '窗口缺省
   Begin VB.PictureBox Picture1 
      Height          =   9015
      Left            =   2640
      ScaleHeight     =   8955
      ScaleWidth      =   8235
      TabIndex        =   10
      Top             =   120
      Width           =   8295
   End
   Begin VB.Frame Frame1 
      Caption         =   "已测各站高差(mm),边长(m)"
      Height          =   7095
      Left            =   0
      TabIndex        =   1
      Top             =   120
      Width           =   2535
      Begin VB.TextBox Text3 
         Height          =   495
         Left            =   1080
         TabIndex        =   24
         Text            =   "100"
         Top             =   6480
         Width           =   1215
      End
      Begin VB.TextBox Text2 
         Height          =   495
         Index           =   9
         Left            =   120
         TabIndex        =   22
         Text            =   "-1020"
         Top             =   5760
         Width           =   975
      End
      Begin VB.TextBox Text2 
         Height          =   495
         Index           =   8
         Left            =   120
         TabIndex        =   21
         Text            =   "-372.1"
         Top             =   5160
         Width           =   975
      End
      Begin VB.TextBox Text2 
         Height          =   495
         Index           =   7
         Left            =   120
         TabIndex        =   20
         Text            =   "-261.9"
         Top             =   4560
         Width           =   975
      End
      Begin VB.TextBox Text2 
         Height          =   495
         Index           =   6
         Left            =   120
         TabIndex        =   19
         Text            =   "1022.85"
         Top             =   3960
         Width           =   975
      End
      Begin VB.TextBox Text2 
         Height          =   495
         Index           =   5
         Left            =   120
         TabIndex        =   18
         Text            =   "701.6"
         Top             =   3360
         Width           =   975
      End
      Begin VB.TextBox Text2 
         Height          =   495
         Index           =   4
         Left            =   120
         TabIndex        =   17
         Text            =   "-1049.25"
         Top             =   2760
         Width           =   975
      End
      Begin VB.TextBox Text2 
         Height          =   495
         Index           =   3
         Left            =   120
         TabIndex        =   16
         Text            =   "-1114.5"
         Top             =   2160
         Width           =   975
      End
      Begin VB.TextBox Text2 
         Height          =   495
         Index           =   2
         Left            =   120
         TabIndex        =   15
         Text            =   "813.1"
         Top             =   1560
         Width           =   975
      End
      Begin VB.TextBox Text2 
         Height          =   495
         Index           =   1
         Left            =   120
         TabIndex        =   14
         Text            =   "970.8"
         Top             =   960
         Width           =   975
      End
      Begin VB.TextBox Text2 
         Height          =   495
         Index           =   0
         Left            =   120
         TabIndex        =   13
         Text            =   "316.7"
         Top             =   360
         Width           =   975
      End
      Begin VB.TextBox Text1 
         Height          =   495
         Index           =   9
         Left            =   1200
         TabIndex        =   12
         Text            =   "151"
         Top             =   5760
         Width           =   1215
      End
      Begin VB.TextBox Text1 
         Height          =   495
         Index           =   8
         Left            =   1200
         TabIndex        =   11
         Text            =   "265"
         Top             =   5160
         Width           =   1215
      End
      Begin VB.TextBox Text1 
         Height          =   495
         Index           =   0
         Left            =   1200
         TabIndex        =   9
         Text            =   "126.5"
         Top             =   360
         Width           =   1215
      End
      Begin VB.TextBox Text1 
         Height          =   495
         Index           =   1
         Left            =   1200
         TabIndex        =   8
         Text            =   "211"
         Top             =   960
         Width           =   1215
      End
      Begin VB.TextBox Text1 
         Height          =   495
         Index           =   2
         Left            =   1200
         TabIndex        =   7
         Text            =   "270.5"
         Top             =   1560
         Width           =   1215
      End
      Begin VB.TextBox Text1 
         Height          =   495
         Index           =   3
         Left            =   1200
         TabIndex        =   6
         Text            =   "417.5"
         Top             =   2160
         Width           =   1215
      End
      Begin VB.TextBox Text1 
         Height          =   495
         Index           =   4
         Left            =   1200
         TabIndex        =   5
         Text            =   "171"
         Top             =   2760
         Width           =   1215
      End
      Begin VB.TextBox Text1 
         Height          =   495
         Index           =   5
         Left            =   1200
         TabIndex        =   4
         Text            =   "285"
         Top             =   3360
         Width           =   1215
      End
      Begin VB.TextBox Text1 
         Height          =   495
         Index           =   6
         Left            =   1200
         TabIndex        =   3
         Text            =   "219"
         Top             =   3960
         Width           =   1215
      End
      Begin VB.TextBox Text1 
         Height          =   495
         Index           =   7
         Left            =   1200
         TabIndex        =   2
         Text            =   "281"
         Top             =   4560
         Width           =   1215
      End
      Begin VB.Label Label1 
         Caption         =   "起点高程(m)"
         Height          =   375
         Left            =   240
         TabIndex        =   25
         Top             =   6600
         Width           =   735
      End
   End
   Begin VB.Frame Frame2 
      Caption         =   "处理"
      Height          =   1935
      Left            =   0
      TabIndex        =   0
      Top             =   7200
      Width           =   2535
      Begin VB.CommandButton Command1 
         Caption         =   "数据处理并输出结果"
         Height          =   735
         Left            =   720
         TabIndex        =   23
         Top             =   720
         Width           =   1215
      End
   End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim s(1 To 10), h(1 To 10), h0(1 To 10), h1(1 To 10) As Double '定义各测站间边长,测得高差,经闭合差改正高差,各站近似高程
Dim h2(1 To 10), v(1 To 10), fh1(2 To 10) As Double '定义平差后高程,高差改正数,各站高程改正数
Dim m0, m(2 To 10) As Double '单位权中误差,各测站高程中误差
Dim b(1 To 10, 1 To 9), bt(1 To 9, 1 To 10), btb(1 To 9, 1 To 9), btb1(1 To 9, 1 To 9), btl(1 To 9), l(1 To 10) As Double
Dim bb(1 To 9, 1 To 9), E(1 To 9, 1 To 18) As Double
Dim ch, zz, z As Double
Private Sub Command1_Click()
Dim i, j, t, p As Integer
Dim hz, sz As Double
Dim d, dd(1 To 9) As Double
Dim v(1 To 10) As Double
hz = 0
sz = 0
h1(1) = Text3.Text
h1(1) = h1(1) * 1000
For i = 0 To 9
    s(i + 1) = Text1(i).Text
    h(i + 1) = Text2(i).Text
    hz = hz + h(i + 1)
    sz = sz + s(i + 1)
Next i
Picture1.Print hz; sz
For i = 1 To 9
    h0(i) = h(i) - hz * s(i) / sz
    h1(i + 1) = h1(i) + h0(i)
    
Next i
h0(10) = h(10) - hz * s(10) / sz

For i = 1 To 10
    l(i) = h(i) - h0(i)
Next i
For i = 1 To 10
Picture1.Print l(i)
Next i

For i = 1 To 10
   For j = 1 To 9
     b(i, j) = 0
   Next j
Next i
For i = 1 To 10

     If i = 1 Then
        b(i, i) = 1
     ElseIf i = 10 Then
        b(i, i - 1) = -1
     Else
        b(i, i - 1) = -1
        b(i, i) = 1
     End If
   
     
Next i

    For i = 1 To 10
   For j = 1 To 9
   Picture1.Print b(i, j);
   Next j
   Picture1.Print
Next i


  For i = 1 To 10                                    '转置'
         For j = 1 To 9
           bt(j, i) = b(i, j)
           
        Next j
     Next i

   For i = 1 To 9
   For j = 1 To 9
     btb(i, j) = 0
   Next j
Next i

For i = 1 To 9                                         'BTB,BTL相乘'
      For t = 1 To 9
        For j = 1 To 10
            
            btb(i, t) = btb(i, t) + bt(i, j) * b(j, t)
        Next j
      Next t
   Next i
   For i = 1 To 9
     For j = 1 To 9
     btb1(i, j) = btb(i, j)
     Next j
   Next i
      
    For i = 1 To 9
      btl(i) = 0
        For j = 1 To 10
         
            btl(i) = btl(i) + bt(i, j) * l(j)
        Next j
   Next i
   
For k = 1 To 8                                  '求改正数dd()'
     For j = k + 1 To 9
        btb(k, j) = btb(k, j) / btb(k, k)
     Next j
     btl(k) = btl(k) / btb(k, k)
     
     For i = k + 1 To 9
        For j = k + 1 To 9
        btb(i, j) = btb(i, j) - btb(i, k) * btb(k, j)
        Next j
        btl(i) = btl(i) - btb(i, k) * btl(k)
     Next i
   Next k
    
           d = 0
     dd(9) = btl(9) / btb(9, 9)
     For i = 8 To 1 Step -1
     
      For j = i + 1 To 9
       d = d + btb(i, j) * dd(j)
      Next j
      dd(i) = btl(i) - d
       d = 0
     Next i
    
             Picture1.Print                                     '求高程平差值
     For i = 1 To 9
       h1(i + 1) = h1(i + 1) + dd(i)
     Next i
     
      For j = 1 To 10                          '高差改正数v()
     d = 0
     For t = 1 To 9
       d = d + b(j, t) * dd(t)
     Next t
       
       
       v(j) = d - l(j)
  Next j
  Picture1.Print
  
   
    d = 0
    
For i = 1 To 10                               '单位权中误差m0'
       d = d + v(i) * v(i)
Next i
    
      Picture1.Print d
   m0 = Sqr(d)
                                                 '协因数阵bb()
For i = 1 To 9
            For j = 1 To 9
                E(i, j) = btb1(i, j)
             Next j
    Next i
    For i = 1 To 9
         For j = 10 To 18
             If i = j - 9 Then
                 E(i, j) = 1
            Else
                E(i, j) = 0
            End If
        Next j
    Next i

 For j = 1 To 9
            If E(j, j) = 0 Then
                 For i = 1 To 9
                         If E(i, j) <> 0 Then Exit For
                 Next i
                  For p = 1 To 18
                        ch = E(i, p)
                        E(i, p) = E(j, p)
                         E(j, p) = ch
                  Next p
            End If
                     z = E(j, j)
                For p = 1 To 18
                      E(j, p) = E(j, p) / z
                Next p
            For i = 1 To 9
                    If i <> j And E(i, j) <> 0 Then
                             zz = E(i, j)
                      For p = 1 To 18
                         E(i, p) = E(i, p) - E(j, p) * zz
                      Next p
                    End If
             Next i
    Next j
        For i = 1 To 9
                For j = 1 To 9
                      bb(i, j) = E(i, j + 9)
                Next j
        Next i
For i = 1 To 9
        For j = i To 9
           Picture1.Print Tab(6 * (j - 1)); bb(i, j);
           Next j
        Picture1.Print
 Next i
For i = 2 To 10
    m(i) = m0 * Sqr(bb(i - 1, i - 1))
Next i
    For i = 2 To 10
          Picture1.Print m(i)
    Next i
    



End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -