📄 数组数据输入.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 + -