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

📄 数组数据输入.frm

📁 用VB语言编的一个求任意矩阵行间相关系数的程序
💻 FRM
字号:
VERSION 5.00
Begin VB.Form 数组数据输入 
   BackColor       =   &H8000000A&
   Caption         =   "相关系数计算"
   ClientHeight    =   9195
   ClientLeft      =   120
   ClientTop       =   420
   ClientWidth     =   12270
   FillColor       =   &H000000FF&
   BeginProperty Font 
      Name            =   "宋体"
      Size            =   10.5
      Charset         =   134
      Weight          =   400
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   LinkTopic       =   "Form1"
   LockControls    =   -1  'True
   Picture         =   "数组数据输入.frx":0000
   ScaleHeight     =   11490
   ScaleMode       =   0  'User
   ScaleWidth      =   19080
   StartUpPosition =   3  '窗口缺省
   Begin VB.CommandButton Command1 
      BackColor       =   &H80000007&
      Caption         =   "清除所有数据"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   15.75
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   3960
      MaskColor       =   &H00FFFFFF&
      TabIndex        =   10
      Top             =   8160
      Width           =   3135
   End
   Begin VB.CommandButton 确定 
      Caption         =   "确定"
      Height          =   495
      Left            =   7680
      TabIndex        =   9
      Top             =   840
      Width           =   1215
   End
   Begin VB.TextBox Text4 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   5640
      TabIndex        =   6
      Top             =   840
      Width           =   975
   End
   Begin VB.TextBox Text3 
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   3240
      TabIndex        =   4
      Top             =   840
      Width           =   855
   End
   Begin VB.TextBox Text2 
      BackColor       =   &H0000FFFF&
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   4935
      Left            =   5760
      MultiLine       =   -1  'True
      ScrollBars      =   3  'Both
      TabIndex        =   3
      Top             =   2640
      Width           =   4935
   End
   Begin VB.TextBox Text1 
      BackColor       =   &H00C0C0FF&
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   4935
      Left            =   600
      MultiLine       =   -1  'True
      ScrollBars      =   3  'Both
      TabIndex        =   2
      Top             =   2640
      Width           =   4815
   End
   Begin VB.CommandButton 计算相关系数 
      Caption         =   "计算相关系数"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   7560
      TabIndex        =   1
      Top             =   2040
      Width           =   1215
   End
   Begin VB.CommandButton 查看输入数组 
      Caption         =   "查看输入数组"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   495
      Left            =   2400
      TabIndex        =   0
      Top             =   2040
      Width           =   1215
   End
   Begin VB.Label Label4 
      Alignment       =   1  'Right Justify
      BackStyle       =   0  'Transparent
      Caption         =   "n"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   21.75
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   4680
      TabIndex        =   8
      Top             =   840
      Width           =   735
   End
   Begin VB.Label Label3 
      Alignment       =   1  'Right Justify
      BackStyle       =   0  'Transparent
      Caption         =   "m"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   21.75
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Left            =   2400
      TabIndex        =   7
      Top             =   840
      Width           =   615
   End
   Begin VB.Label Label2 
      Alignment       =   2  'Center
      Appearance      =   0  'Flat
      BackColor       =   &H00E0E0E0&
      BackStyle       =   0  'Transparent
      Caption         =   "请输入数组行列数并单击确定"
      BeginProperty Font 
         Name            =   "微软雅黑"
         Size            =   18
         Charset         =   134
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000007&
      Height          =   495
      Left            =   3120
      TabIndex        =   5
      Top             =   120
      Width           =   5055
   End
End
Attribute VB_Name = "数组数据输入"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim Num() As Single
Dim Sumx() As Single
Dim Sumx2() As Single
Dim Sumxy() As Single
Dim r() As Single
Dim Sumx_y() As Single
Dim Dx() As Single
Dim Dx_y() As Single
Dim m As Integer, n As Integer
Dim i As Integer, j As Integer, k As Integer

Private Sub Command1_Click()  '清除所有数据
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub

Private Sub 查看输入数组_Click()    '查看输入数组
Dim a As String * 8
Text1.Text = ""
For i = 1 To m
  For j = 1 To n
    a = Str(Num(i, j))
    Text1.Text = Text1.Text & a & " "
  Next j
    Text1.Text = Text1.Text & Chr(13) & Chr(10) '换行
Next i
End Sub
Private Sub 计算相关系数_Click()           '输出相关系数
Dim a As String
Text2.Text = ""
For i = 1 To (m - 1)
  For j = 1 To (m - 1)
    a = Str(Abs(r(i, j)))
    
    If r(i, j) > 0 And r(i, j) < 1 Then
         Text2.Text = Text2.Text & "第" & i & "行与第" & (j + 1) & "行的相关系数为:0" & a & Chr(13) & Chr(10) '输出并换行
    Else
        If r(i, j) < 0 And r(i, j) > -1 Then
           Text2.Text = Text2.Text & "第" & i & "行与第" & (j + 1) & "行的相关系数为:-0" & a & Chr(13) & Chr(10) '输出并换行
        Else
            If r(i, j) = 1 Or r(i, j) = -1 Then
               Text2.Text = Text2.Text & "第" & i & "行与第" & (j + 1) & "行的相关系数为:" & r(i, j) & Chr(13) & Chr(10) '输出并换行
            Else
               If i <> j + 1 Then
                 Text2.Text = Text2.Text & "第" & i & "行与第" & (j + 1) & "行不相关" & Chr(13) & Chr(10) '输出并换行
               End If
            End If
        End If
   End If
  Next j
Next i
End Sub
Private Sub 确定_Click()    '确定后输入数组数据并计算
Dim p As String
m = Val(Text3.Text)
n = Val(Text4.Text)
ReDim Num(m, n)
ReDim Sumx(m)
ReDim Sumx2(m)
ReDim Sumxy(m - 1, m - 1)
ReDim Sumx_y(m - 1, m - 1)
ReDim Dx(m)
ReDim Dx_y(m - 1, m - 1)
ReDim r(m - 1, m - 1)
For i = 1 To m
  For j = 1 To n
  p = "请输入数组元素Num(" & i & "," & j & "):"
    Num(i, j) = Val(InputBox(p, "数据输入"))
  Next j
Next i

For i = 1 To m
  For j = 1 To n
    Sumx(i) = Sumx(i) + Num(i, j)   '计算EX
  Next j
Next i

For i = 1 To m
  For j = 1 To n
    Sumx2(i) = Sumx2(i) + Num(i, j) * Num(i, j)   '计算EX2
  Next j
Next i

For i = 1 To m - 1
  For j = i + 1 To m
    For k = 1 To n
    Sumxy(i, j - 1) = Sumxy(i, j - 1) + Num(i, k) * Num(j, k)  '计算EXY
    Next k
  Next j
Next i

For i = 1 To m - 1
  For j = i + 1 To m
    Sumx_y(i, j - 1) = Sumx(i) * Sumx(j)  '计算EX_Y
  Next j
Next i

For i = 1 To m
  Dx(i) = Sqr(n * Sumx2(i) - Sumx(i) * Sumx(i))
Next i
For i = 1 To m - 1
  For j = i + 1 To m
    Dx_y(i, j - 1) = Dx(i) * Dx(j)  '计算DX_Y
  Next j
Next i
  
For i = 1 To m - 1
  For j = 1 To m - 1
     If Dx_y(i, j) <> 0 Then
        r(i, j) = (n * Sumxy(i, j) - Sumx_y(i, j)) / Dx_y(i, j) '计算相关系数r
     Else: r(i, j) = 0
     End If
  Next j
Next i
  End Sub

Private Sub CmdExit_Click()
  Unload 数组数据输入
End Sub

Private Sub Form_Unload(Cancel As Integer)
a = MsgBox("请问真的要退出吗?", 256 + 4 + 32, "请确认")
If a = 6 Then
   Cancel = 0
Else
   Cancel = 1
End If
End Sub

⌨️ 快捷键说明

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