📄 dlginit.cpp
字号:
// DlgInit.cpp : implementation file
//
#include "stdafx.h"
#include "NN_ES.h"
#include "DlgInit.h"
#include <afxdlgs.h>
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDlgInit dialog
//global.h
extern int gi_SN;
extern int gi_IN;
extern int YGXH;
//The sjwl header file...
//.......................................
//Global variables ...
extern int const MaxNumber=20;
extern double I[MaxNumber][300];
extern double H[MaxNumber][300];
extern double O[MaxNumber][300];
//...............................
extern double W_S_I[MaxNumber][MaxNumber];
extern double W_I_H[MaxNumber][MaxNumber];
extern double W_H_O[MaxNumber][MaxNumber];
//................................
extern double Thita_I[MaxNumber];//输入神经元阀值
extern double Thita_H[MaxNumber];//隐层神经元阀值
extern double Thita_O[MaxNumber];//输出层神经元阀值
//......................................
extern double Dlta_I[MaxNumber][300];//输入神经元在第PN个样本学习后DLTA值
extern double Dlta_H[MaxNumber][300];//隐层神经元在第PN个样本学习后DLTA值
extern double Dlta_O[MaxNumber][300];//输出层神经元在第PN个样本学习后DLTA值
//......................................
extern double Yita_S_I[MaxNumber][MaxNumber];
extern double Yita_I_H[MaxNumber][MaxNumber];
extern double Yita_H_O[MaxNumber][MaxNumber];
///////////////////////////////////
extern double TD0_I[MaxNumber][MaxNumber];
extern double TD0_H[MaxNumber][MaxNumber];
extern double TD0_O[MaxNumber][MaxNumber];
extern double TD1_I[MaxNumber][MaxNumber];
extern double TD1_H[MaxNumber][MaxNumber];
extern double TD1_O[MaxNumber][MaxNumber];
//////////////////////////////////////
extern double in_val[MaxNumber][300];//训练输入样本空间
extern double out_val[MaxNumber][300];//训练输出样本空间
extern double testin[300][MaxNumber];//测试输入样本空间
extern double testout[300][MaxNumber];//测试输出样本空间
extern double learnin[300][MaxNumber];//训练输入样本空间
extern double learnout[300][MaxNumber];//训练输出样本空间
///////////////////////////////////////
extern double lym_max[MaxNumber];
extern double lym_min[MaxNumber];
extern double Alpha;
extern int Count;
extern int recordnumber;
extern double E;
extern double error[300];
extern double s[300][MaxNumber];
extern double learnerror;
extern double testerror;
extern double getData[300][MaxNumber];
extern double errora,errorb;
extern int testnum;
extern int learnnum;
extern int number;
extern double learnxl;
extern int BPNN_SN;
extern int BPNN_IN;
extern int BPNN_HN;
extern int BPNN_ON;
extern int BPNN_PN; //最大样本记录数
extern int BPNN_GDZ;
extern int BPNN_SUM;
extern bool mxxz;
extern int CLQD;
extern char strInputFileName[100];
extern char strOutputFileName[100];
CDlgInit::CDlgInit(CWnd* pParent /*=NULL*/)
: CDialog(CDlgInit::IDD, pParent)
{
//{{AFX_DATA_INIT(CDlgInit)
m_Error = 0.01;
m_HideLayer = 9;
m_InputLayer = 7;
m_LearnNum = 5000;
m_FileName = _T("d:\\Nn_es5-13\\wang.txt");
m_OutputLayer = 1;
m_SampleNum =12;
m_SampleLayer = 3;
m_OutputFileName = _T("d:\\Nn_es5-13\\abc.txt");
m_pisample = 15;
m_learncd = 0.15f;
m_xuhao = 2;
m_CeLiangcs = 6;
m_CeLiangqd = 6;
//}}AFX_DATA_INIT
}
void CDlgInit::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDlgInit)
DDX_Text(pDX, IDC_txtError, m_Error);
DDX_Text(pDX, IDC_txtHideLayer, m_HideLayer);
DDX_Text(pDX, IDC_txtInputLayer, m_InputLayer);
DDX_Text(pDX, IDC_txtLearnNum, m_LearnNum);
DDX_Text(pDX, IDC_txtOpenFileName, m_FileName);
DDX_Text(pDX, IDC_txtOutputLayer, m_OutputLayer);
DDV_MinMaxInt(pDX, m_OutputLayer, 1, 10);
DDX_Text(pDX, IDC_txtSampleNum, m_SampleNum);
DDX_Text(pDX, IDC_txtSampleLayer, m_SampleLayer);
DDX_Text(pDX, IDC_txtOutputFileName, m_OutputFileName);
DDX_Text(pDX, IDC_txtsamplepi, m_pisample);
DDX_Text(pDX, IDC_txtlearncd, m_learncd);
DDX_Text(pDX, IDC_txtxuhao, m_xuhao);
DDV_MinMaxInt(pDX, m_xuhao, 0, 12);
DDX_Text(pDX, IDC_CeLiangcs, m_CeLiangcs);
DDX_Text(pDX, IDC_CeLiangQiDian, m_CeLiangqd);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDlgInit, CDialog)
//{{AFX_MSG_MAP(CDlgInit)
ON_BN_CLICKED(IDC_OpenFile, OnOpenFile)
ON_BN_CLICKED(IDC_SaveFile, OnSaveFile)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDlgInit message handlers
void CDlgInit::OnOpenFile()
{
// TODO: Add your control notification handler code here
CFileDialog dl(TRUE);
if(dl.DoModal()==IDOK)
{
m_FileName=dl.GetPathName();
UpdateData(FALSE);
}
}
void CDlgInit::OnOK()
{
// TODO: Add extra validation here
UpdateData();
E=m_Error;
BPNN_HN=m_HideLayer;
BPNN_IN=m_InputLayer;
BPNN_GDZ=m_LearnNum;
BPNN_ON=m_OutputLayer;
BPNN_PN=m_SampleNum;
if(mxxz)
BPNN_SN=m_SampleLayer;
else
BPNN_SN=m_CeLiangcs;
BPNN_SUM=m_pisample;
learnxl=m_learncd;
YGXH=m_xuhao;
CLQD=m_CeLiangqd;
strcpy(strInputFileName,m_FileName);
strcpy(strOutputFileName,m_OutputFileName);
extern void Init();
extern void Read();
extern void Sample();
extern void data();
// extern void CeLiangSample();
// extern void CeLiangdata();
CDialog::OnOK();
Count =0;
Init();
Read();
// if(mxxz)
//{
Sample();
data();
// }
// else
//{
// CeLiangSample();
//CeLiangdata();
//}
}
void CDlgInit::OnSaveFile()
{
// TODO: Add your control notification handler code here
CFileDialog dl(FALSE);
if(dl.DoModal()==IDOK)
{
m_OutputFileName=dl.GetPathName();
UpdateData(FALSE);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -