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

📄 level worknet.cls

📁 采用vb程序语言编写
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "levelnet"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
Dim xishuB() As Double  '系数矩阵
Dim L() As Double  '常数矩阵

Private Type ShuizhunNode   '定义水准点的结构
 ID As String    '定义水准点号
 'a() As Integer   '定义与之相连的点数
' B() As String    '定义与之相连的点号
 'ceduanH() As ceduanH    '定义测段的高差
 IDH As Double '存储高程
End Type

Private Type ceduanH   '定义测段结构,存储大小和方向
 H As Double        '测段高差大小
 'Obool As Boolean  '用来表明测段高差方向性
 ID1 As ShuizhunNode 'ID1用来存储测段两边点号,高程大的为ID1
 ID2 As ShuizhunNode   'ID2用来存储测段两边点号,高程小的为ID1
End Type

Public Sub xshuB()   '构造系数矩阵B以及l''''
  
  Dim i As Integer
  Dim k0 As Integer, k1 As Integer, k2 As Integer  'k0,k1,k2为for循环计数器
  ReDim xishuB(1 To i1, 1 To i2)  'i2 为所选必要观测参数个数,还没定义
  ReDim L(1 To i1)
  
  For i = 1 To i1
  If Mid(a1(i).ID1, 1, 4) = "Para" And Mid(a1(i).ID2, 1, 4) = "Para" Then
    xishuB(i, Val(Right(a1(i).ID1, 2))) = 1
    xishuB(i, Val(Right(a1(i).ID2, 2))) = -1
  For k0 = 1 To i2
      If Val(Right(a1(i).ID1, 2)) <> i0 Or Val(Right(a1(i).ID2, 2)) <> i0 Then
        xishuB(i, k0) = 0
      End If
        
    Next i2
    L(i) = (-1) * (a1(i).ID1.IDH - a1(i).ID2.IDH - a1(i).H) '构建常量矩阵L
    i = 1 + 1
 Else
  
  Select Case Mid(a1(i).ID1, 1, 4)
  Case Mid(a1.ID1, 1, 4) = "Para"
  'If Mid(a1.ID1, 1, 4) = "Para" Then
    xishuB(i, Val(Right(a1(i).ID1, 2))) = 1
    For k1 = 1 To i1
      If k1 <> Val(Right(a1(i).ID1, 2)) Then
      xishuB(i, k1) = 0
     End If
    Next k1
    L(i) = (-1) * (a1(i).ID1.IDH - a1(i).ID2.IDH - a1(i).H) '构建常量矩阵L
    i = i + 1
   Case Mid(a1(i).ID2, 1, 4) = "Para"
    xishuB(i, Val(Right(a1(i).ID2, 2))) = -1
    For k2 = 1 To i1
      If k2 <> Val(Right(a1(i).ID2, 2)) Then
      xishuB(i, k2) = 0
     End If
    Next k2
    L(i) = (-1) * (a1(i).ID1.IDH - a1(i).ID2.IDH - a1(i).H) '构建常量矩阵L
    i = i + 1
   End Select
 End If
   
    
   ' L(i) = (-1) * (a1(i).ID1.IDH - a1(i).ID2.IDH - a1(i).H) '构建常量矩阵L
    
    
  Next i
  
End Sub

⌨️ 快捷键说明

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