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

📄 cnetpara.bas

📁 VISUAL BASIC与MATLAB实现混合编程源代码
💻 BAS
字号:
Attribute VB_Name = "CNetPara"

'节点数
Public Nodes(0 To 2) As Double
'传递函数
Public TransFunc(0 To 1) As String
'网络训练参数
Public TrainPara(0 To 7) As String
'训练样本组数
Public TrainSampleNum As Integer
'仿真数据组数
Public SimuSampleNum As Integer
'文件路径
Public FilePath As String
'模型编号
Public ModelNo As Integer

'加载现有网络模型
Public Function NetModel_Load() As Boolean
  NetModel_Load = True
  On Error GoTo Handle_Error
  For i = 0 To 1
    frmNetwork.combFunc(i) = TransFunc(i)
  Next
  
  For i = 0 To 2
    frmNetwork.txtNode(i) = Nodes(i)
  Next
  
  For i = 0 To 7
    frmNetwork.txtTrainPara(i) = TrainPara(i)
  Next
  
  frmNetwork.txtTrain(0) = InTrainFile
  frmNetwork.txtTrain(1) = OutTrainFile
  frmNetwork.txtTrain(2) = TrainSampleNum
  
  frmNetwork.txtSimu(0) = InSimuFile
  frmNetwork.txtSimu(1) = OutSimuFile
  
  Exit Function
Handle_Error:
  NetModel_Load = False
End Function


'显示当前操作状态
Public Function OperStatus_Show(info As String)
  'frmNetwork.lblStatus = info
  frmNetwork.statusShow.SimpleText = "当前操作:" + info
End Function
'网络模型初始化
Public Function NetModel_Init()
  Nodes(0) = 7
  Nodes(1) = 28
  Nodes(2) = 1
  
  TrainPara(0) = "25"  '         显示间隔次数 25"
  TrainPara(1) = "1000"  '       最大循环次数 1000"
  TrainPara(2) = "0.001"  '      目标误差 0.02"
  TrainPara(3) = "0.001"   '     学习速率 0.001"
  TrainPara(4) = "0.001"  '      动量常数 0.001"
  TrainPara(5) = "10"     '      学习速率增加比率 10"
  TrainPara(6) = "0.1"  '       '学习速率减少比率 0.1"
  TrainPara(7) = "10000000000"  '最大误差比率
  
  TransFunc(0) = "tansig"
  TransFunc(1) = "purelin"
End Function

Public Function File_Show(FName As String, FInfo As String)
  On Error GoTo Handle_Error
  frmNetwork.rtxtShowResult.Text = ""
  frmNetwork.rtxtShowResult.FileName = FName
  OperStatus_Show ("文件" + FName + "进入编辑状态,修改后请注意保存!")
  Exit Function
Handle_Error:
  info = "无法打开" + FInfo + FName + ",请确认是否存在!"
  MsgBox (info)
End Function

'生成网络模型文件
Public Function NetFile_Create(FileName As String)
  Dim fso As New FileSystemObject, fil As File, ts As TextStream
  fso.CreateTextFile BpnFileName
  Set fil = fso.GetFile(BpnFileName)
  Set ts = fil.OpenAsTextStream(ForWriting)

  ts.WriteLine ("[NetPara]")
  ts.WriteLine ("InputNum")
  ts.WriteLine ("MidNum")
  ts.WriteLine ("OutputNum")
  ts.WriteLine ("")
  ts.WriteLine ("[TrainPara]")
  ts.WriteLine ("df")
  ts.WriteLine ("Me")
  ts.WriteLine ("eg")
  ts.WriteLine ("lr")
  ts.WriteLine ("lrInc")
  ts.WriteLine ("lrIdec")
  ts.WriteLine ("momConst")
  ts.WriteLine ("errRatio")
  ts.WriteLine ("inputFunc")
  ts.WriteLine ("outputFunc")
  ts.WriteLine ("")
  ts.WriteLine ("[OtherPara]")
  ts.WriteLine ("FileDir")
  ts.WriteLine ("TrainSampleNum")
  ts.WriteLine ("SimuSampleNum")
  ts.Close
End Function
'保存新建的网络模型数据
Public Function NetPara_Save()
  If WriteString("NetPara", "InputNum", frmNetwork.txtNode(0)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("NetPara", "MidNum", frmNetwork.txtNode(1)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("NetPara", "OutputNum", frmNetwork.txtNode(2)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("OtherPara", "TrainSampleNum", frmNetwork.txtTrain(2)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("OtherPara", "SimuSampleNum", frmNetwork.txtSimu(1)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("TrainPara", "inputFunc", frmNetwork.combFunc(0)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("TrainPara", "outputFunc", frmNetwork.combFunc(1)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("TrainPara", "df", frmNetwork.txtTrainPara(0)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("TrainPara", "me", frmNetwork.txtTrainPara(1)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("TrainPara", "eg", frmNetwork.txtTrainPara(2)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("TrainPara", "lr", frmNetwork.txtTrainPara(3)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("TrainPara", "lrInc", frmNetwork.txtTrainPara(4)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("TrainPara", "lrIdec", frmNetwork.txtTrainPara(5)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("TrainPara", "momConst", frmNetwork.txtTrainPara(6)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
  If WriteString("TrainPara", "errRatio", frmNetwork.txtTrainPara(7)) <> True Then
    MsgBox (ErrorMsg)
    Exit Function
  End If
  
End Function

⌨️ 快捷键说明

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