📄 atn_bp.frm
字号:
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.Form ATN_BP
Caption = "BP神经网络实验平台-输出幅值可调ATN激励函数"
ClientHeight = 8310
ClientLeft = 60
ClientTop = 630
ClientWidth = 11880
LinkTopic = "Form1"
ScaleHeight = 9000
ScaleMode = 0 'User
ScaleWidth = 11880
StartUpPosition = 2 '屏幕中心
Begin VB.CommandButton Command1
Caption = "开始训练"
Height = 375
Left = 10560
TabIndex = 8
Top = 5760
Width = 855
End
Begin VB.CommandButton Command2
Caption = "刷新屏幕"
Height = 375
Left = 10560
TabIndex = 7
Top = 6360
Width = 855
End
Begin VB.CommandButton Command3
Caption = "返 回"
Height = 375
Left = 10560
TabIndex = 6
Top = 6960
Width = 855
End
Begin MSComDlg.CommonDialog CommonDialog1
Left = 1680
Top = 2880
_ExtentX = 847
_ExtentY = 847
_Version = 393216
End
Begin VB.TextBox Text1
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 3255
Left = 2040
MultiLine = -1 'True
ScrollBars = 3 'Both
TabIndex = 0
Text = "ATN_BP.frx":0000
Top = 5040
Width = 8295
End
Begin VB.Label Label1
Alignment = 1 'Right Justify
Caption = " 输入样本维数:"
Height = 255
Left = 600
TabIndex = 19
Top = 5160
Width = 1455
End
Begin VB.Label Label2
Alignment = 1 'Right Justify
Caption = "神经元个数:"
Height = 255
Left = 240
TabIndex = 18
Top = 5400
Width = 1815
End
Begin VB.Label Label3
Caption = " 输出样本维数:"
Height = 255
Left = 600
TabIndex = 17
Top = 5640
Width = 1455
End
Begin VB.Label Label4
Alignment = 1 'Right Justify
Caption = "输出幅值:"
Height = 255
Left = 600
TabIndex = 16
Top = 6360
Width = 1455
End
Begin VB.Label Label5
Alignment = 1 'Right Justify
Caption = " 迭代次数N:"
Height = 255
Left = 600
TabIndex = 15
Top = 5880
Width = 1455
End
Begin VB.Label Label6
Alignment = 1 'Right Justify
Caption = " 要求精度δ:"
Height = 255
Left = 600
TabIndex = 14
Top = 6120
Width = 1455
End
Begin VB.Label Label7
Alignment = 1 'Right Justify
Caption = " 输入 输出样本1:"
Height = 255
Left = 240
TabIndex = 13
Top = 7080
Width = 1815
End
Begin VB.Label Label8
Alignment = 1 'Right Justify
Caption = ":::"
Height = 615
Left = 1200
TabIndex = 12
Top = 7560
Width = 255
End
Begin VB.Label Label9
Alignment = 1 'Right Justify
Caption = " 输入 输出样本2:"
Height = 255
Left = 240
TabIndex = 11
Top = 7320
Width = 1815
End
Begin VB.Label Label10
Alignment = 1 'Right Justify
Caption = "PID控制参数:"
Height = 255
Left = 600
TabIndex = 10
Top = 6840
Width = 1455
End
Begin VB.Label Label13
Alignment = 1 'Right Justify
Caption = "输入样本取值范围:"
Height = 255
Left = 360
TabIndex = 9
Top = 6600
Width = 1695
End
Begin VB.Label Label18
Caption = "0"
Height = 255
Left = 360
TabIndex = 5
Top = 4800
Width = 135
End
Begin VB.Line Line11
X1 = 11400
X2 = 600
Y1 = 5328.52
Y2 = 5328.52
End
Begin VB.Line Line6
X1 = 11160
X2 = 11400
Y1 = 5198.556
Y2 = 5328.52
End
Begin VB.Line Line7
X1 = 11160
X2 = 11400
Y1 = 5458.484
Y2 = 5328.52
End
Begin VB.Label Label16
Caption = "N"
Height = 255
Left = 11280
TabIndex = 4
Top = 4560
Width = 135
End
Begin VB.Line Line1
X1 = 600
X2 = 480
Y1 = 2989.17
Y2 = 2989.17
End
Begin VB.Line Line2
X1 = 600
X2 = 600
Y1 = 649.819
Y2 = 5328.52
End
Begin VB.Label Label14
Caption = "1"
Height = 255
Left = 360
TabIndex = 3
Top = 2640
Width = 135
End
Begin VB.Line Line4
X1 = 600
X2 = 480
Y1 = 649.819
Y2 = 909.747
End
Begin VB.Line Line5
X1 = 720
X2 = 600
Y1 = 909.747
Y2 = 649.819
End
Begin VB.Label Label12
Caption = "∑(t-y)^2"
Height = 255
Left = 120
TabIndex = 2
Top = 240
Width = 975
End
Begin VB.Label Label11
Caption = "误 差 曲 线"
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 255
Left = 5280
TabIndex = 1
Top = 0
Width = 1215
End
Begin VB.Menu 目录
Caption = "目录"
Begin VB.Menu 返回主页
Caption = "返回主页"
End
Begin VB.Menu SISO系统
Caption = "单变量系统"
End
Begin VB.Menu 多变量系统
Caption = "多变量系统"
End
Begin VB.Menu 最优控制
Caption = "最优控制"
End
Begin VB.Menu 人工智能
Caption = "人工智能"
End
Begin VB.Menu 数学2工具
Caption = "数学工具"
End
End
Begin VB.Menu 文件
Caption = "文件"
Begin VB.Menu 新建样本
Caption = "新建样本"
End
Begin VB.Menu 打开样本
Caption = "打开样本"
End
Begin VB.Menu 保存样本
Caption = "保存样本"
End
Begin VB.Menu 另存为
Caption = "显示样本"
End
Begin VB.Menu 保存权值
Caption = "保存权值"
End
End
Begin VB.Menu 算法
Caption = "算法"
Begin VB.Menu 基础BP
Caption = "ATN:Pβ_BP"
End
Begin VB.Menu BBC
Caption = "ATN:变步长"
End
Begin VB.Menu PID
Caption = "ATN:跳变"
End
End
Begin VB.Menu 操作
Caption = "操作"
Begin VB.Menu 刷新屏幕
Caption = "刷新屏幕"
End
Begin VB.Menu 测试网络
Caption = "测试网络"
End
Begin VB.Menu ht
Caption = "绘 图"
End
Begin VB.Menu 测试绘图
Caption = "绘等高线"
End
Begin VB.Menu 退出
Caption = "退出"
End
End
End
Attribute VB_Name = "ATN_BP"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim Xws '输入层维数
Dim Zws '隐层维数
Dim Yws '输出层维数
Dim Kzs '样本组数
Dim Ez, EM '总误差
Dim Ata, Bta '学习步长η
Dim Jd, Kp, Ki, Kd, Kpo '精度
Dim Ncs, ZNPID '迭代次数
Dim Wxz() '输入层→隐层连接权
Dim Wzy() '隐层层→输出层连接权
Dim Qz() '隐层阈值
Dim Qy() '输出层阈值
Dim Zsc() '隐层输出
Dim Ysc() '输出层输出
Dim Ey() '输出层误差
Dim Eyd() '输出层训练误差δy
Dim Ezd() '隐层训练误差δz
Dim Xyb() '输入样本
Dim Tyb() '输出样本,期望值
Dim Ybz(), Ei() '
Dim FC() '蜂巢信息
Dim KK() '巢中样本号
'J作为
Dim Hff '蜂房高度
Dim Gs '蜂房行、列数
Dim FFs '蜂房个数
Dim Mim, Max, BSht '输入样本区间
Dim ZJBL, K, W, U, G, D, I, J, N, M, Y, Z, X, A, B, C, E, F, L '中间变量
Dim tttt As String
Private Sub BBC_Click()
ZNPID = 3: Call BP_Paint
End Sub
Private Sub Command1_Click()
Call BP_Paint
End Sub
Private Sub Command2_Click()
ATN_BP.Hide
ATN_BP.Show
End Sub
Private Sub Command3_Click()
ATN_BP.Hide
主界面.Show
End Sub
Private Sub ht_Click()
BSht = 1: Call 测试绘图_Click
End Sub
Private Sub 保存权值_Click()
Text1 = "隐层:" + Chr(13) + Chr(10)
'设置初始权值、阈值。。隐层
For J = 1 To Zws '隐层单元个数Zws
Text1 = Text1 + " Q" + CStr(Qz(J)) '取阈值为随机值
For I = 1 To Xws '输入层单元个数Xws
Text1 = Text1 + " W" + CStr(Wxz(J, I)) '取权值为随机值
Next I
Text1 = Text1 + Chr(13) + Chr(10)
Next J
Text1 = Text1 + "输出层:" + Chr(13) + Chr(10)
For J = 1 To Yws '隐层单元个数Zws
Text1 = Text1 + " Q" + CStr(Qy(J)) '取阈值为随机值
For I = 1 To Zws '输入层单元个数Xws
Text1 = Text1 + " W" + CStr(Wzy(J, I)) '取权值为随机值
Next I
Text1 = Text1 + Chr(13) + Chr(10)
Next J
Text1 = Text1 + Chr(13) + Chr(10)
CommonDialog1.Filter = "文档文件(*.txt)|*.TXT|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
Open CommonDialog1.FileName For Output As #1
Print #1, Text1 '保存文件
Close #1
End Sub
Private Sub 保存样本_Click()
CommonDialog1.Filter = "文档文件(*.txt)|*.TXT|所有文件(*.*)|*.*"
CommonDialog1.ShowSave
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -