?? form2.frm
字號:
VERSION 5.00
Begin VB.Form Form2
Caption = "Hopfield網絡運行機制——能量變化"
ClientHeight = 7080
ClientLeft = 1845
ClientTop = 1035
ClientWidth = 8295
BeginProperty Font
Name = "宋體"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
LinkTopic = "Form2"
ScaleHeight = 7080
ScaleWidth = 8295
Begin VB.CommandButton Command3
Caption = " 改變初始權值 設定網絡初始狀態"
BeginProperty Font
Name = "宋體"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 2040
TabIndex = 10
Top = 5280
Width = 3015
End
Begin VB.TextBox Text3
BeginProperty Font
Name = "宋體"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 3
Left = 4440
TabIndex = 9
Top = 6120
Visible = 0 'False
Width = 735
End
Begin VB.TextBox Text3
BeginProperty Font
Name = "宋體"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 2
Left = 3600
TabIndex = 8
Top = 6120
Visible = 0 'False
Width = 735
End
Begin VB.TextBox Text3
BeginProperty Font
Name = "宋體"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 1
Left = 2760
TabIndex = 7
Top = 6120
Visible = 0 'False
Width = 735
End
Begin VB.TextBox Text3
BeginProperty Font
Name = "宋體"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Index = 0
Left = 1920
TabIndex = 6
Top = 6120
Visible = 0 'False
Width = 735
End
Begin VB.CommandButton Command2
Caption = "結束"
BeginProperty Font
Name = "宋體"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 6000
TabIndex = 5
Top = 6240
Width = 1455
End
Begin VB.CommandButton Command1
Caption = "計算能量"
BeginProperty Font
Name = "宋體"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 5760
TabIndex = 4
Top = 5280
Width = 1695
End
Begin VB.TextBox Text2
BeginProperty Font
Name = "宋體"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 360
TabIndex = 3
Top = 6360
Width = 855
End
Begin VB.TextBox Text1
BeginProperty Font
Name = "宋體"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 360
TabIndex = 1
Top = 5400
Width = 975
End
Begin VB.Label Label2
Caption = "運行次數"
BeginProperty Font
Name = "宋體"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 240
TabIndex = 2
Top = 6000
Width = 1455
End
Begin VB.Label Label1
Caption = "神經元個數"
BeginProperty Font
Name = "宋體"
Size = 15.75
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 120
TabIndex = 0
Top = 5040
Width = 1575
End
End
Attribute VB_Name = "Form2"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Dim i, j, k, h As Integer
Dim Energy, Energy1, Energy2 As Double
Cls
N = Val(Text2.Text)
'設定網絡初始狀態
For i = 1 To NN
b(i) = Val(Text3(i - 1).Text)
Next i
'計算網絡能量
Energy1 = 0
Energy2 = 0
For i = 1 To NN
For j = 1 To NN
Energy1 = Energy1 + W(i, j) * b(i) * b(j)
Next j
Energy2 = Energy2 + Q(i) * b(i)
Next i
Energy = -0.5 * Energy1 + Energy2
Print Energy, b(1), b(2), b(3), b(4)
'運行網絡
For k = 1 To N
i = Int((NN * Rnd) + 1)
'Change(i) = Change(i) + 1
h = 0
For j = 1 To NN
h = h + W(i, j) * b(j)
Next j
y(i) = Sg(h - Q(i))
For j = 1 To NN
If j <> i Then
y(j) = b(j)
End If
Next j
For i = 1 To NN
b(i) = y(i)
Next i
Energy1 = 0
Energy2 = 0
For i = 1 To NN
For j = 1 To NN
Energy1 = Energy1 + W(i, j) * b(i) * b(j)
Next j
Energy2 = Energy2 + Q(i) * b(i)
Next i
Energy = -0.5 * Energy1 + Energy2
Print Energy, b(1), b(2), b(3), b(4)
Next k
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Command3_Click()
Dim i, j As Integer
NN = Val(Text1.Text)
ReDim W(NN, NN)
ReDim Q(NN)
ReDim b(4)
ReDim Change(NN)
ReDim y(NN)
'輸入初始狀態
For i = 1 To NN
Text3(i - 1).Visible = True
Next i
'設定或改變網絡權值之初始值
Randomize
For i = 1 To NN
Q(i) = Rnd
Next i
Randomize
For i = 1 To NN - 1
For j = i + 1 To NN
W(i, j) = Rnd
W(j, i) = W(i, j)
Next j
Next i
For i = 1 To NN
W(i, i) = 0
Next i
End Sub
Private Sub Text1_Change()
Dim i As Integer
For i = 1 To NN
Text3(i - 1).Visible = False
Next i
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -