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

📄 +ʢk

📁 模糊数学基础及实用算法 (源码) 科学出版社 www.sciencep.com
💻
📖 第 1 页 / 共 2 页
字号:
      Left            =   0
      TabIndex        =   29
      Top             =   120
      Width           =   2655
   End
   Begin VB.Label lblC 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "选择文件夹"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   120
      TabIndex        =   28
      Top             =   720
      Width           =   2535
   End
   Begin VB.Label lblF 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "选择数据文件"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   2880
      TabIndex        =   27
      Top             =   480
      Width           =   2055
   End
   Begin VB.Label lblFile 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "评判矩阵数据文件全名"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   1200
      TabIndex        =   26
      Top             =   4200
      Width           =   3015
   End
   Begin VB.Label lblA 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "加权向量备择集数据文件全名"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   840
      TabIndex        =   25
      Top             =   4920
      Width           =   3735
   End
   Begin VB.Label lblR 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "评判矩阵(R)"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   3360
      TabIndex        =   24
      Top             =   840
      Width           =   1095
   End
   Begin VB.Label lblQ 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "加权向量备择集(A)"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   2880
      TabIndex        =   23
      Top             =   1920
      Width           =   2055
   End
   Begin VB.Label lblVF 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "结果向量(B)"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   2880
      TabIndex        =   22
      Top             =   3000
      Width           =   2175
   End
   Begin VB.Label lblB 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H80000005&
      Caption         =   "结果向量数据文件全名"
      ForeColor       =   &H80000008&
      Height          =   255
      Left            =   240
      TabIndex        =   21
      Top             =   5640
      Width           =   4815
   End
End
Attribute VB_Name = "frmFile2"
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
Dim intFileNumber As Integer                        '文件号
Dim strData As String                               '临时保存数据

Private Sub Form_Load()
    File1.Pattern = "*.dat"                         '只显示数据文件
    File2.Pattern = "*.dat"                         '只显示数据文件
    File3.Pattern = "*.dat"                         '只显示数据文件
'综合判别方法的缺省设置为模糊变换
    For intI = 1 To 4
        intOptA(intI) = 0
    Next intI
    intOptA(1) = 1
    For intI = 1 To 5
        intOptB(intI) = 0
    Next intI
    intOptB(4) = 1
End Sub

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

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

'提供R数据文件
Private Sub File1_Click()
    txtR.Text = Dir1.Path & "\" & File1.FileName
End Sub

'提供A数据文件
Private Sub File2_Click()
    txtA.Text = Dir1.Path & "\" & File2.FileName
End Sub

'提供B数据文件
Private Sub File3_Click()
    txtB.Text = Dir1.Path & "\" & File3.FileName
End Sub

'确定,给出文件名和行数、列数后单击
Private Sub cmdOK_Click()
    If txtR.Text = "" Then
        MsgBox "必须先选定R数据文件!", , "数据文件错误"
        Exit Sub
    End If
    If txtA.Text = "" Then
        MsgBox "必须先选定A数据文件!", , "数据文件错误"
        Exit Sub
    End If
    If txtB.Text = "" Then
        MsgBox "必须先选定B数据文件!", , "数据文件错误"
        Exit Sub
    End If
    strR = txtR.Text                                    'R文件名
    intFileNumber = FreeFile                            '取得文件号码
    Open strR For Input As intFileNumber                '打开R文件
    Input #intFileNumber, intRow, intCol                '读R文件的行数、列数
    N = intRow: M = intCol
    ReDim R(1 To N, 1 To M)                             '定义矩阵R
    ReDim RR(1 To N, 1 To M)                            '定义矩阵RR作恢复R之用
    For intI = 1 To N
        For intJ = 1 To M
            Input #intFileNumber, strData               '读R数据
            R(intI, intJ) = Val(strData)
            RR(intI, intJ) = R(intI, intJ)
        Next intJ
    Next intI
    strA = txtA.Text                                    'A文件名
    intFileNumber = FreeFile                            '取得文件号码
    Open strA For Input As intFileNumber                '打开A文件
    Input #intFileNumber, intRow, intCol                '读A文件的行数、列数
    ReDim AA(1 To intRow, 1 To intCol)                  '定义AA矩阵
    ReDim A(1 To intCol)                                '在计算时使用的权向量数组
    For intI = 1 To intRow
        For intJ = 1 To intCol
            Input #intFileNumber, strData               '读A数据
            AA(intI, intJ) = Val(strData)
        Next intJ
    Next intI
    S = intRow
    ReDim sngC(1 To S)                                  '每个权向量都有一个贴近度
    strB = txtB.Text                                    'B文件名
    intFileNumber = FreeFile                            '取得文件号码
    Open strB For Input As intFileNumber                '打开B文件
    Input #intFileNumber, intRow, intCol                '读B文件的行数、列数
    ReDim B(1 To intCol)                                '定义B向量
    ReDim B1(1 To intCol)                               '定义计算的结果向量
    ReDim BB(1 To S, 1 To intCol)                       '保存不同加权向量的综合评判结果
    For intI = 1 To intCol
            Input #intFileNumber, strData               '读B数据
            B(intI) = Val(strData)                      '原始的结果向量
    Next intI
    Close
    frmResu.Visible = True
End Sub

'选择综合判别方法
Private Sub OptA_Click(Index As Integer)
    For intI = 1 To 4
        intOptA(intI) = 0
    Next intI
    intOptA(Index) = 1
End Sub

'选择格贴近度
Private Sub Option1_Click()
    For intI = 1 To 5
        intOptB(intI) = 0
    Next intI
    intOptB(1) = 1
End Sub

'选择海明贴近度
Private Sub Option2_Click()
    For intI = 1 To 5
        intOptB(intI) = 0
    Next intI
    intOptB(2) = 1
End Sub

'选择欧氏贴近度
Private Sub Option3_Click()
    For intI = 1 To 5
        intOptB(intI) = 0
    Next intI
    intOptB(3) = 1
End Sub

'选择最大最小贴近度
Private Sub Option4_Click()
    For intI = 1 To 5
        intOptB(intI) = 0
    Next intI
    intOptB(4) = 1
End Sub

'选择算术平均最小贴近度
Private Sub Option5_Click()
    For intI = 1 To 5
        intOptB(intI) = 0
    Next intI
    intOptB(5) = 1
End Sub

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

⌨️ 快捷键说明

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