📄 main.cpp
字号:
//////////////////////////////////////////////////////////////
//完成逻辑“与”运算
///////////////////////////////////////////////////////////////
#include "BPNet.h"
#include <iostream.h>
#include <STDIO.H>
void main()
{
int i;
//////////////创建学习样本//////////////////////////////////////////////
double **StudyX;
double **TeachY;
StudyX=new double* [4];
TeachY=new double* [4];
for(i=0;i<4;i++)
{
StudyX[i]=new double [2];
TeachY[i]=new double [1];
}
StudyX[0][0]=0;StudyX[0][1]=0;
StudyX[1][0]=0;StudyX[1][1]=1;
StudyX[2][0]=1;StudyX[2][1]=0;
StudyX[3][0]=1;StudyX[3][1]=1;
TeachY[0][0]=0;
TeachY[1][0]=0;
TeachY[2][0]=0;
TeachY[3][0]=1;
////////////////////////////////////////////////////////////
////////////////学习/////////////////////////////////////////
CBPNet bpnet;
bpnet.CreateBPNet(NULL,2,5,1);//第一个参数为接收消息的窗口句柄,2为输入层神经元个数,5为隐层单元个数,1为输出层个数.
bpnet.SetBPParameter(0.0001,0.1,0.7,VOGL);//第一个参数为允许的最小误差,0.1为学习步长,0.7为动量项系数,最后一个参数表示所用算法,VOGL为快速算法,NORMAL为一般算法。
bpnet.SetStudySample(StudyX,TeachY,4);//StudyX为输入样本,TeachY为输出样本,它们都是2维指针。
bpnet.Study();//开始学习。
///////////////////////////////////////////////////////
/////测试///////////////////////////////////////////
double a[2],b;
while(1)
{
char tag;
cout<<"请输入测试数据:";
cin>>a[0]>>a[1];
bpnet.Test(a,&b);
cout<<"测试结果:"<<a[0]<<'\t'<<a[1]<<'\t'<<b<<endl;
cout<<"是否要继续测试(Y/N):";
cin>>tag;
if(tag=='N' || tag=='n')
break;
}
///////////////////////////////////////////////////////
delete[] StudyX;
delete[] TeachY;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -