kohonenmap1d.cpp

来自「可以用C++语言开发各种神经网络:BP」· C++ 代码 · 共 47 行

CPP
47
字号
#include "../include/KohonenMap1D.h"
#include <cmath>

using namespace std;

namespace annie
{

KohonenMap1D::KohonenMap1D(int neurons, int dimension) : KohonenMap(dimension,neurons)
{
	int nNeurons = _nNeurons;
	int i;
	_r = new real*[nNeurons];
	for (i=0;i<nNeurons;i++)
		_r[i]=new real[nNeurons];
	real alpha = 0.0;
	real PI = 3.14159265358979323;
	real x[100];
	real y[100];
	for (i=0;i<nNeurons;i++)
	{
		x[i] = 0.5+0.5*cos(alpha);
		y[i] = 0.5+0.5*sin(alpha);
		alpha += PI*2.0/nNeurons;
	}
	for (i=0;i<nNeurons;i++)
		for (int j=0;j<nNeurons;j++)
		{
			real dx = x[i]-x[j];
			real dy = y[i]-y[j];
			_r[i][j]=sqrt(dx*dx+dy*dy);
		}
}

real
KohonenMap1D::getR(int n1, int n2)
{
	real r = (real)(n2-n1);
	//r /= _nNeurons;
	if (r<0.0)
		r = -r;
	return _r[n1][n2];
	//return r;
}
}; //namespace annie

⌨️ 快捷键说明

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