亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? adjust.bas

?? 本程序是計算三角網閉合差的程序,包括建表,數據庫數據輸入等完整過程
?? BAS
字號:
Attribute VB_Name = "Caculation"
Dim Zt As Integer
Dim Zt1 As Integer
Dim a As Integer
Dim I As Integer
Dim J As Integer
Dim K As Integer
Dim L As Integer
Dim Ic As Integer
Dim Aij As Integer
Dim Aik As Double
Dim Aji As Double
Dim Ajk As Double
Dim Aki As Double
Dim Akj As Double
Dim Aijk As Double
Dim Ajik As Double
Dim Akij As Double
Dim arecord As Recordset
Dim t As Double
Dim c(g_MaxPotNum * (g_MaxPotNum + 1) / 2) As Double
Dim w(g_MaxPotNum) As Double
Dim b4(g_MaxPotNum, 2) As Integer
Dim a4(g_MaxPotNum, 2) As Double
Dim l4(g_MaxPotNum) As Double
Dim v4(g_MaxPotNum) As Double
Dim ph(g_MaxPotNum) As Double
Dim pdh(g_MaxPotNum) As Double
Dim Mz(g_MaxPotNum) As Double
Dim t2(g_MaxPotNum) As Double
Dim T3(g_MaxPotNum) As Double
Dim Wa(g_MaxPotNum) As Double
Dim uw As Double
Dim mh As Double
Dim red As Integer
Dim pvv As Double
Dim pll As Double
Dim ka As Double
Dim di As Integer
Dim dj As Integer
Dim dk As Integer
Dim llll As Integer
Dim n As Integer
Dim ed As Integer
Dim dd As Integer
Dim np As Integer
Dim m5 As Integer
 
Sub CaculateTrangleClosureError()
Call TakeValue
For a = 1 To g_ObsNum
    Call GW(g_Dir(a))
Next a
Zt = 0
For I = 1 To g_PotNum - 2
    For J = I + 1 To g_PotNum - 1
        For K = J + 1 To g_PotNum
        Zt1 = 0
            For L = 1 To g_ObsNum
                If g_PotName(I) = g_StaPotName(L) And g_PotName(J) = g_EndPotName(L) Then
                Zt1 = Zt1 + 1
                Aij = g_Dir(L)
                End If
                If g_PotName(I) = g_StaPotName(L) And g_PotName(K) = g_EndPotName(L) Then
                Zt1 = Zt1 + 1
                Aik = g_Dir(L)
                End If
                If g_PotName(J) = g_StaPotName(L) And g_PotName(I) = g_EndPotName(L) Then
                Zt1 = Zt1 + 1
                Aji = g_Dir(L)
                End If
                If g_PotName(J) = g_StaPotName(L) And g_PotName(K) = g_EndPotName(L) Then
                Zt1 = Zt1 + 1
                Ajk = g_Dir(L)
                End If
                If g_PotName(K) = g_StaPotName(L) And g_PotName(I) = g_EndPotName(L) Then
                Zt1 = Zt1 + 1
                Aki = g_Dir(L)
                End If
                If g_PotName(K) = g_StaPotName(L) And g_PotName(J) = g_EndPotName(L) Then
                Zt1 = Zt1 + 1
                Akj = g_Dir(L)
                End If
            Next L
            If Zt1 = 6 Then
                 Zt = Zt + 1
                 g_PotName1(Zt) = g_PotName(I)
                 g_PotName2(Zt) = g_PotName(J)
                 g_PotName3(Zt) = g_PotName(K)
                 Aijk = Aik - Aij
                 If Aijk < 0.000000000000001 Then Aijk = Abs(Aijk)
                 If Aijk > g_Pi Then Aijk = 2 * g_Pi - Aijk
                 Ajik = Ajk - Aji
                 If Ajik < 0.000000000000001 Then Ajik = Abs(Ajik)
                 If Ajik > g_Pi Then Ajik = 2 * g_Pi - Ajik
                 Akij = Akj - Aki
                 If Akij < 0.000000000000001 Then Akij = Abs(Akij)
                 If Akij > g_Pi Then Akij = 2 * g_Pi - Akij
                 g_W(Zt) = (Aijk + Ajik + Akij - g_Pi) * g_P
                 End If
                 
        Next K
    Next J
Next I
t = 0
For I = 1 To Zt
    t = t + g_W(I) * g_W(I)
 
Next I
g_MD = Sqr(t / Zt / 6)

    
 Set arecord = g_d_Base.OpenRecordset("基本信息表", dbOpenTable)
    With arecord
      
        .MoveFirst
        .Edit
        .Fields(10) = g_MD
        .Update
        .Close
        
      
    End With
Set arecord = g_d_Base.OpenRecordset("三角形閉合差表", dbOpenTable)
        With arecord
            Ic = .RecordCount
            If .RecordCount > 0 Then
              .MoveFirst
              For I = 1 To Ic
                   .Delete
                   If I < Ic Then
                      .MoveFirst
                  End If
              Next I
            End If
            For I = 1 To Zt
                .AddNew
                .Fields(0) = I
                .Fields(1) = g_PotName1(I)
                .Fields(2) = g_PotName2(I)
                .Fields(3) = g_PotName3(I)
                .Fields(4) = g_W(I)
                .Update
               Next I
            .Close
        End With
End Sub
 
 Public Sub Lev_Adjust()
    ed = g_Ed
    dd = g_Dd
    g_PotNum = g_Ed + g_Dd
    np = 1
    n = ed + dd
    m5 = g_ObsNum
    ka = 3#
    mh = g_Mh
    pvv = 0#
    For I = 1 To m5
      pdh(I) = g_StaNum(I)
    Next I
    For I = 1 To n * (n + 1) / 2
       c(I) = 0#
    Next I
    For I = 1 To n
        w(I) = 0#
    Next I
    Call InvsObs
    Call COHZ
    Call obnorh
    Zt = ed
    For I = 1 To n - Zt
         w(I) = w(Zt + I)
    Next I
    For I = 1 To (n - Zt) * (n - Zt + 1) / 2
        c(I) = c(Zt * n - (Zt - 1) * Zt / 2 + I)
    Next
    n = n - Zt
    Call INVSQR1
    Zt = ed
    red = m5 - n
    If g_Net = 0 Then
      uw = mh
    End If
    n = n + Zt
    MM = Zt * n - Zt * (Zt - 1) / 2
    For I = n * (n + 1) / 2 To MM + 1 Step -1
      c(I) = c(I - MM)
    Next I
    For I = 1 To MM
      c(I) = 0#
    Next I
    For I = n To ed + 1 Step -1
      w(I) = w(I - ed)
    Next I
    For I = 1 To ed
      w(I) = 0#
    Next I
    Call ADJXYZ
    Call BARDSNO
    
End Sub

Sub InvsObs()
    Dim Inf As Integer
    Dim Zt As Integer
    Dim strTemp As String
    Inf = 0
    Zt = 0
    For I = 1 To g_ObsNum
      For J = 1 To g_PotNum
        If (Trim(g_StaPotName(I)) = Trim(g_PotName(J))) Then
           g_H1(I) = J
           Zt = Zt + 1
        End If
        If (Trim(g_EndPotName(I)) = Trim(g_PotName(J))) Then
           g_H2(I) = J
           Zt = Zt + 1
        End If
      Next J
      If (Zt = 2) Then
        Zt = 0
      Else
        strTemp = "第" & I & "個觀測值的起點名:" & g_StaPotName(I) & "或終點名:" & g_EndPotName(I) & "輸入有誤!"
        MsgBox strTemp, , "提示信息!"
        Inf = 1
        Exit Sub
      End If
    Next I
    If (g_Ih = 1) Then
       For I = 1 To g_ObsNum
        g_H(I) = g_H(I) / 2#
       Next I
    End If
    
End Sub
Sub COHZ()
   Zt = 0
   For I = 1 To dd
       g_Z0(ed + I) = 20000#
   Next I
LL:
   For K = 1 To m5
     I = g_H1(K)
     J = g_H2(K)
    If (g_Z0(I) < 10000# And g_Z0(J) > 10000#) Then
        g_Z0(J) = g_Z0(I) + g_H(K)
        Zt = Zt + 1
    End If
    If (g_Z0(I) > 10000# And g_Z0(J) < 10000#) Then
        g_Z0(I) = g_Z0(J) - g_H(K)
        Zt = Zt + 1
    End If
  Next K
  If Zt < dd Then GoTo LL
 End Sub

Sub obnorh()
    Dim jj(2) As Integer
    Dim z(g_MaxPotNum) As Double
    Dim t As Double
    Zt = 2
    For I = 1 To m5
      z(n + 1) = (g_Z0(g_H2(I)) - g_Z0(g_H1(I)) - g_H(I)) * 1000#
      l4(I) = z(n + 1)
      jj(1) = g_H1(I)
      jj(2) = g_H2(I)
      z(jj(1)) = -1
      z(jj(2)) = 1
      If (g_H1(I) > g_H2(I)) Then
        K = jj(1)
        jj(1) = jj(2)
        jj(2) = K
      End If
      For J = 1 To Zt
        a4(I, J) = z(jj(J))
        b4(I, J) = jj(J)
      Next J
      ph(I) = 1 / pdh(I)
      For J = 1 To Zt
        di = (jj(J) - 1) * (n - jj(J) / 2#)
        For K = J To Zt
          t = ph(I) * z(jj(J)) * z(jj(K))
          c(di + jj(K)) = c(di + jj(K)) + t
        Next K
        w(jj(J)) = w(jj(J)) + ph(I) * z(jj(J)) * z(n + 1)
      Next J
      pll = pll + ph(I) * z(n + 1) ^ 2
    Next I
End Sub


Sub INVSQR1()
    Dim ss As Double
    For I = 1 To n
      di = (I - 1) * (n - I / 2#)
      For J = I To n
        ss = c(di + J)
        For K = 1 To I - 1
          dk = (K - 1) * (n - K / 2#)
          ss = ss - c(dk + I) * c(dk + J) / c(dk + K)
        Next K
        If (J = I) Then
          c(di + J) = 1 / ss
        Else
          c(di + J) = ss * c(di + I)
        End If
      Next J
    Next I
    For I = 1 To n - 1
      di = (I - 1) * (n - I / 2#)
      For J = I + 1 To n
        ss = -c(di + J)
        For K = I + 1 To J - 1
          dk = (K - 1) * (n - K / 2#)
          ss = ss - c(di + K) * c(dk + J)
        Next K
        c(di + J) = ss
      Next J
    Next I
    For I = 1 To n - 1
      di = (I - 1) * (n - I / 2#)
      For J = I To n
        dj = (J - 1) * (n - J / 2#)
        If (I = J) Then
          ss = c(di + J)
        Else
         ss = c(di + J) * c(dj + J)
        End If
        For K = J + 1 To n
          dk = (K - 1) * (n - K / 2#)
          ss = ss + c(di + K) * c(dj + K) * c(dk + K)
        Next K
        c(di + J) = ss
      Next J
    Next I
End Sub


Sub ADJXYZ()

       Dim llll As Integer
       Dim I As Integer
       Zt = 2
       For I = 1 To n
          g_DZ(I) = 0#
          di = (I - 1) * (n - I / 2#)
          For J = 1 To n
            dj = (J - 1) * (n - J / 2#)
            If (J < I) Then
              g_DZ(I) = g_DZ(I) - c(dj + I) * w(J)
            Else
              g_DZ(I) = g_DZ(I) - c(di + J) * w(J)
            End If
          Next J
        Next I
        For I = 1 To m5
          v4(I) = l4(I)
          For J = 1 To Zt
            v4(I) = v4(I) + a4(I, J) * g_DZ(b4(I, J))
          Next J
          pvv = pvv + v4(I) ^ 2 * ph(I)
       Next I
       If g_Net = 1 Then
          If red > 0 Then
             uw = Sqr(Abs(pvv) / red)
          Else
             uw = mh
          End If
        End If
        For I = 1 To g_PotNum
            J = (I - 1) * (n - I / 2#)
            Mz(I) = 0#
            If (I > ed) Then
              MZ1 = Sqr(Abs(c(I + J)))
              Mz(I) = uw * MZ1
            End If
            g_Z(I) = g_Z0(I) + g_DZ(I) / 1000#
        Next I
        Set arecord = g_d_Base.OpenRecordset("高程成果表", dbOpenTable)
        With arecord
            Ic = .RecordCount
            If .RecordCount > 0 Then
              .MoveFirst
              For I = 1 To Ic
                   .Delete
                   If I < Ic Then
                      .MoveFirst
                  End If
              Next I
            End If
            For I = 1 To g_PotNum
                .AddNew
                .Fields(0) = I
                .Fields(1) = g_PotName(I)
                .Fields(2) = Format(g_Z(I), "#0.0000")
                .Fields(3) = Format(Mz(I), "#0.00")
                .Update
              Next I
            .Close
        End With
        Set arecord = g_d_Base.OpenRecordset("基本信息表", dbOpenTable)
        With arecord
                .Edit
                .Fields(15) = uw
                .Update
                .Close
        End With
        End Sub


        Sub BARDSNO()
        Dim z(g_MaxPotNum) As Double
        Dim t As Double
        Zt = 2
        For I = 1 To m5
          z(I) = 0#
          For J = 1 To Zt
            t = 0#
            dj = (b4(I, J) - 1) * (n - b4(I, J) / 2#)
            For K = 1 To Zt
              dk = (b4(I, K) - 1) * (n - b4(I, K) / 2#)
              If (b4(I, K) >= b4(I, J)) Then
                t = t + a4(I, K) * c(dj + b4(I, K))
              Else
                t = t + a4(I, K) * c(dk + b4(I, J))
              End If
            Next K
            z(I) = z(I) + t * a4(I, J)
          Next J
        Next I
        For I = 1 To m5
          pdh(I) = ph(I) * (1# / ph(I) - z(I))
          pq = pdh(I) + pq
        Next I
        For I = 1 To m5
           If (pdh(I) < 0.00000001) Then
            Wa(I) = 0
          Else
            t = Sqr(pdh(I) / ph(I)) * uw
            Wa(I) = v4(I) / t
          End If
          t2(I) = g_H(I) + v4(I) / 1000#
          T3(I) = uw * Sqr(z(I))
         Next I
        Set arecord = g_d_Base.OpenRecordset("觀測成果表", dbOpenTable)
        With arecord
            Ic = .RecordCount
            If .RecordCount > 0 Then
              .MoveFirst
              For I = 1 To Ic
                   .Delete
                   If I < Ic Then
                      .MoveFirst
                  End If
              Next I
            End If
            For I = 1 To g_ObsNum
                .AddNew
                .Fields(0) = I
                .Fields(1) = g_StaPotName(I)
                .Fields(2) = g_EndPotName(I)
                .Fields(3) = Format(g_H(I), "#0.0000")
                .Fields(4) = Format(v4(I), "#0.00")
                .Fields(5) = Format(t2(I), "#0.0000")
                .Fields(6) = Format(T3(I), "#0.00")
                .Fields(7) = Format(pdh(I), "#0.00")
                .Fields(8) = Format(Wa(I), "#0.00")
                .Update
               Next I
            .Close
        End With
End Sub

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人精品3d动漫h| 欧美午夜一区二区三区免费大片| 久久精品一区二区三区av| 不卡视频一二三| 风间由美一区二区三区在线观看 | 青青青爽久久午夜综合久久午夜| √…a在线天堂一区| 欧美国产成人精品| 国产精品久久免费看| 亚洲欧洲日韩综合一区二区| 轻轻草成人在线| 91精品福利视频| 欧美日韩精品一区二区三区四区| 欧美丝袜第三区| 国产精品理伦片| 国产精品亚洲人在线观看| 国产乱一区二区| 欧美一区二区三区播放老司机| 欧美一区二区视频在线观看2020| 亚洲欧美色一区| 三级亚洲高清视频| 精品系列免费在线观看| 国产不卡视频在线播放| 欧美精品一区二区三区很污很色的| 久久精品一区二区三区不卡牛牛 | 日韩一区日韩二区| 国产一区二区女| 91影院在线观看| 欧美狂野另类xxxxoooo| 久久久九九九九| 一区二区三区视频在线观看 | 久久免费午夜影院| 精品中文字幕一区二区小辣椒| 欧美日韩另类一区| 亚洲va韩国va欧美va| 狠狠久久亚洲欧美| 色综合欧美在线视频区| 日韩视频在线观看一区二区| 亚洲三级电影全部在线观看高清| 奇米一区二区三区av| 欧美美女网站色| 免费国产亚洲视频| 日韩欧美第一区| 亚洲一区二区三区四区中文字幕 | 成人激情综合网站| 自拍偷拍国产亚洲| 欧美综合久久久| 中文字幕欧美三区| yourporn久久国产精品| 欧美一区二区三区爱爱| 精品伊人久久久久7777人| 久久影院视频免费| 免费成人美女在线观看| 亚洲精品一线二线三线无人区| 国产麻豆精品在线| 国产精品久久久久久一区二区三区| 99久久精品久久久久久清纯| 日韩欧美一区电影| 国产成人精品aa毛片| 欧美成va人片在线观看| 国产成人在线观看免费网站| 亚洲视频一区二区在线| 88在线观看91蜜桃国自产| 夜色激情一区二区| 日韩三级高清在线| 99精品黄色片免费大全| 日韩电影在线观看电影| 欧美日本高清视频在线观看| 精品亚洲免费视频| 亚洲天堂2014| 精品免费一区二区三区| 91在线观看下载| 日韩av在线免费观看不卡| 久久精品人人做人人爽人人| 91国产福利在线| 国产69精品久久久久777| 亚洲国产成人av好男人在线观看| 在线观看日韩一区| 国产一区二区三区日韩| 一区二区在线观看免费| 大美女一区二区三区| 国产成人亚洲精品青草天美| 国产精品午夜免费| 国产91露脸合集magnet| 亚洲午夜电影网| 国产欧美日韩综合精品一区二区| 国产在线播放一区二区三区| 一区二区三区免费网站| 久久久影院官网| 欧美精品1区2区3区| 91在线观看视频| 懂色av中文字幕一区二区三区| 婷婷综合五月天| 日韩一级成人av| 欧美影院一区二区| 成人app软件下载大全免费| 极品少妇一区二区三区精品视频| 亚洲国产综合91精品麻豆| 国产精品久久久久久久久免费樱桃| 欧美xxxx在线观看| 色偷偷久久一区二区三区| 美女网站视频久久| 欧美精品在线一区二区三区| 成人精品一区二区三区四区 | 亚洲欧美日韩在线播放| 国产无一区二区| 日韩美女一区二区三区四区| 欧美猛男男办公室激情| 欧美亚洲精品一区| 欧美私模裸体表演在线观看| 在线看国产日韩| 99久久99久久久精品齐齐| 国产传媒欧美日韩成人| 国产精品影视网| 国产91清纯白嫩初高中在线观看| 国产精品911| 成人av中文字幕| 91亚洲资源网| 欧美性xxxxxx少妇| 欧美日韩黄色影视| 欧美一二三区精品| 日韩精品在线一区| 久久色成人在线| 国产欧美1区2区3区| 《视频一区视频二区| 亚洲另类春色国产| 午夜私人影院久久久久| 青青青伊人色综合久久| 国内一区二区在线| 成人精品高清在线| 在线观看国产精品网站| 69av一区二区三区| 精品国产露脸精彩对白| 国产精品美女久久久久久久网站| 最新久久zyz资源站| 亚洲国产wwwccc36天堂| 麻豆一区二区在线| youjizz国产精品| 91成人国产精品| 欧美一区二区三区在线电影| 久久久久久久av麻豆果冻| 最好看的中文字幕久久| 无码av中文一区二区三区桃花岛| 九色综合狠狠综合久久| 白白色亚洲国产精品| 91精品国产麻豆国产自产在线| 精品欧美久久久| 一区二区视频在线看| 麻豆精品一区二区| 91久色porny | 北岛玲一区二区三区四区| 欧美在线高清视频| 久久精品人人做人人爽人人| 一区二区三区四区高清精品免费观看 | 亚洲天堂2016| 一区二区三区色| 久久se精品一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲已满18点击进入久久| 精久久久久久久久久久| 91亚洲精品乱码久久久久久蜜桃| 51精品视频一区二区三区| 日本一二三不卡| 看电影不卡的网站| 色综合久久88色综合天天| 精品福利视频一区二区三区| 亚洲激情自拍偷拍| 国产成人一区二区精品非洲| 欧美午夜免费电影| 一区精品在线播放| 国产综合一区二区| 欧美精品久久一区| 亚洲美女在线国产| 懂色av一区二区三区蜜臀 | 精品无人区卡一卡二卡三乱码免费卡 | 欧美成人伊人久久综合网| 一区二区三区 在线观看视频| 国产福利精品一区二区| 91精品国产综合久久精品| 亚洲激情欧美激情| 成人午夜av在线| 久久久久久影视| 麻豆91在线观看| 91麻豆精品国产综合久久久久久| 亚洲人成7777| 97久久超碰精品国产| 欧美国产精品久久| 国产黑丝在线一区二区三区| 日韩午夜电影av| 日本成人在线视频网站| 欧美自拍偷拍一区| 亚洲欧美日韩电影| 91蜜桃免费观看视频| 国产精品免费久久| 成人av动漫在线| 国产精品久久久久aaaa樱花| 成人免费av资源| 亚洲欧美综合网| 在线免费亚洲电影| 亚洲欧美日韩成人高清在线一区|