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

📄 模糊聚类f1.frm

📁 模糊数学中模糊聚类算法的vb实现
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      Begin VB.OptionButton Option4 
         Appearance      =   0  'Flat
         BackColor       =   &H80000005&
         Caption         =   "指数相似"
         ForeColor       =   &H80000008&
         Height          =   375
         Left            =   120
         TabIndex        =   11
         Top             =   1440
         Width           =   1335
      End
   End
   Begin VB.TextBox txtFile 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      Height          =   270
      Left            =   120
      TabIndex        =   9
      Top             =   3000
      Width           =   6015
   End
   Begin VB.CommandButton cmdExit 
      Caption         =   "结束"
      Height          =   375
      Left            =   5520
      TabIndex        =   7
      ToolTipText     =   "结束程序运行"
      Top             =   6720
      Width           =   615
   End
   Begin VB.CommandButton cmdOK 
      Caption         =   "确定"
      Height          =   375
      Left            =   4800
      TabIndex        =   6
      ToolTipText     =   "选择好文件并给出行数和列数后单击"
      Top             =   6720
      Width           =   615
   End
   Begin VB.FileListBox File1 
      Appearance      =   0  'Flat
      Height          =   1470
      Left            =   480
      TabIndex        =   2
      Top             =   1080
      Width           =   2655
   End
   Begin VB.DirListBox Dir1 
      Appearance      =   0  'Flat
      Height          =   2190
      Left            =   3360
      TabIndex        =   1
      Top             =   360
      Width           =   2415
   End
   Begin VB.DriveListBox Drive1 
      Appearance      =   0  'Flat
      Height          =   300
      Left            =   480
      TabIndex        =   0
      Top             =   360
      Width           =   2655
   End
   Begin VB.Label Label4 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "聚类分析结果文件全名"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   1200
      TabIndex        =   28
      Top             =   3480
      Width           =   3735
   End
   Begin VB.Label lblMoC 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "M值或C值"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   10.5
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   4680
      TabIndex        =   21
      Top             =   4080
      Width           =   1335
   End
   Begin VB.Label Label5 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "数据文件全名"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   1560
      TabIndex        =   8
      Top             =   2760
      Width           =   3015
   End
   Begin VB.Label Label3 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "选择数据文件"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   480
      TabIndex        =   5
      Top             =   840
      Width           =   2655
   End
   Begin VB.Label Label2 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "选择目录"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   3000
      TabIndex        =   4
      Top             =   120
      Width           =   2415
   End
   Begin VB.Label Label1 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "选择驱动器"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   480
      TabIndex        =   3
      Top             =   120
      Width           =   2655
   End
End
Attribute VB_Name = "frmFile"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'模糊聚类分析
'文件窗体模块
Option Explicit
Dim intI As Integer, intJ As Integer, I As Integer, J As Integer
Dim intFileNumber As Integer                        '文件号
Dim strData As String                               '临时保存数据

Private Sub Form_Load()
    File1.Pattern = "*.dat"                         '只显示数据文件
'先不显示提供参数M或C的文本框
    lblMoC.Visible = False: txtMoC.Visible = False
'先不显示选择距离类型的框架
    Frame2.Visible = False
'求相似矩阵方法的缺省设置为相关系数法
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(3) = 1
End Sub

'选择目录
Private Sub Dir1_Change()
    File1.Path = Dir1.Path
End Sub

'选择驱动器
Private Sub Drive1_Change()
    Dir1.Path = Drive1.Drive
End Sub

'确定数据文件
Private Sub File1_Click()
    txtFile.Text = Dir1.Path & "\" & File1.FileName
    txtResultFile.Text = Dir1.Path & "\" & "聚类_" & File1.FileName
    strResultFile = txtResultFile.Text
End Sub

'选择数量积法
Private Sub Option1_Click()
    lblMoC.Visible = True: txtMoC.Visible = True
    lblMoC.Caption = "提供参数M"
    Frame2.Visible = False
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(1) = 1
End Sub

'选择夹角余弦法
Private Sub Option2_Click()
    lblMoC.Visible = False: txtMoC.Visible = False
    Frame2.Visible = False
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(2) = 1
End Sub

'选择相关系数法
Private Sub Option3_Click()
    lblMoC.Visible = False: txtMoC.Visible = False
    Frame2.Visible = False
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(3) = 1
End Sub

'选择指数相似系数法
Private Sub Option4_Click()
    lblMoC.Visible = False: txtMoC.Visible = False
    Frame2.Visible = False
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(4) = 1
End Sub

'选择最大最小法
Private Sub Option5_Click()
    lblMoC.Visible = False: txtMoC.Visible = False
    Frame2.Visible = False
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(5) = 1
End Sub

'选择算术平均最小法
Private Sub Option6_Click()
    lblMoC.Visible = False: txtMoC.Visible = False
    Frame2.Visible = False
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(6) = 1
End Sub

'选择几何平均最小法
Private Sub Option7_Click()
    lblMoC.Visible = False: txtMoC.Visible = False
    Frame2.Visible = False
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(7) = 1
End Sub

'选择绝对值倒数法
Private Sub Option8_Click()
    lblMoC.Visible = True: txtMoC.Visible = True
    lblMoC.Caption = "提供参数M"
    Frame2.Visible = False
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(8) = 1
End Sub

'选择绝对值指数法
Private Sub Option9_Click()
    lblMoC.Visible = False: txtMoC.Visible = False
    Frame2.Visible = False
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(9) = 1
End Sub

'选择直接距离法
Private Sub Option10_Click()
    lblMoC.Visible = True: txtMoC.Visible = True
    lblMoC.Caption = "提供参数C"
    Frame2.Visible = True
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(10) = 1
    Opt(11) = 1                                         '海明距离为缺省
End Sub

'选择海明距离
Private Sub Option11_Click()
    Opt(11) = 1: Opt(12) = 0: Opt(13) = 0: Opt(15) = 0
End Sub

'选择欧氏距离
Private Sub Option12_Click()
    Opt(11) = 0: Opt(12) = 1: Opt(13) = 0: Opt(15) = 0
End Sub

'选择切氏距离
Private Sub Option13_Click()
    Opt(11) = 0: Opt(12) = 0: Opt(13) = 1: Opt(15) = 0
End Sub

'选择海明加权
Private Sub Option15_Click()
    Opt(11) = 0: Opt(12) = 0: Opt(13) = 0: Opt(15) = 1
End Sub

'直接使用相似矩阵
Private Sub Option14_Click()
    lblMoC.Visible = False: txtMoC.Visible = False
    Frame2.Visible = False
    For intI = 1 To 15
        Opt(intI) = 0
    Next intI
    Opt(14) = 1
End Sub

'确定,给出文件名和行数、列数后单击
Private Sub cmdOK_Click()
    Dim intR As Integer
    If txtFile.Text = "" Then
        MsgBox "必须先选定数据文件!"
        Exit Sub
    End If
    Fa1 = Val(txtF1.Text): Fa2 = Val(txtF2.Text)
'如果Fa1或Fa2等于0,则不进行F检验
    If Fa1 <> 0 And Fa2 <> 0 And Fa1 <= Fa2 Then
        MsgBox "F1必须大于F2!", , "F检验显著性水平错"
        Exit Sub
    End If
    strFileName = txtFile.Text                          '文件名
    intFileNumber = FreeFile                            '取得文件号码
    Open strFileName For Input As intFileNumber         '打开文件
    Input #intFileNumber, intRow, intCol                '读行数、列数
    N = intRow: M = intCol
'重新定义自变量数组
    ReDim X(1 To N, 1 To M)
    ReDim R(1 To N, 1 To N), RR(1 To N, 1 To N)
    For intI = 1 To intRow
        For intJ = 1 To intCol
            Input #intFileNumber, strData               '读数据
            X(intI, intJ) = Val(strData)
        Next intJ
    Next intI
'直接使用相似矩阵
    If Opt(14) = 1 Then GoTo 100
    If Check1.Value Then Data_T1 X                      '标准差变换
    If Check2.Value Then Data_T2 X                      '极差变换
'建立相似矩阵时,选择数量积法或绝对值倒数法提供参数M
    If Opt(1) = 1 Or Opt(8) = 1 Then dbM = Val(txtMoC.Text)
'建立相似矩阵时,选择直接距离法提供参数C
    If Opt(11) = 1 Or Opt(12) = 1 Or Opt(13) = 1 Or Opt(15) = 1 _
        Then dbC = Val(txtMoC.Text)
100:
    Close
    frmCalc.Visible = True
End Sub

'结束运行
Private Sub cmdExit_Click()
    Unload Me
    End
End Sub

⌨️ 快捷键说明

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