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

📄 main.cpp

📁 很好用的BP神经网络类
💻 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 + -