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

📄 atn_bp.frm

📁 vb 写的bp网络代码
💻 FRM
📖 第 1 页 / 共 2 页
字号:
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 + -