📄 kohonenmap3d.cpp
字号:
#include "../include/KohonenMap3D.h"
#include <cmath>
namespace annie
{
KohonenMap3D::KohonenMap3D(int X, int Y, int Z, int dimension) : KohonenMap(dimension,X*Y*Z)
{
_X = X;
_Y = Y;
_Z = Z;
}
real
KohonenMap3D::getR(int n1, int n2)
{
int N1[3];
int N2[3];
getXYZ(n1,N1[0],N1[1],N1[2]);
getXYZ(n2,N2[0],N2[1],N2[2]);
real r = 0.0;
for (int i=0; i<3; i++)
{
real temp = N1[i] - N2[i];
r += temp*temp;
}
r = sqrt(r);
return r;
}
void
KohonenMap3D::getXYZ(int i, int &x, int &y, int &z)
{
// i = (x*_X+y)*_Y + z
x = i / (_Y * _Z);
y = (i - x * (_Y * _Z)) / _Z;
z = i % _Z;
}
int
KohonenMap3D::getNeuronIndex(int x, int y, int z)
{ return x*(_Y*_Z)+y*_Z+z; }
int
KohonenMap3D::getWinner()
{
return KohonenMap::getWinner();
}
void
KohonenMap3D::getWinner(int &x, int &y, int &z)
{
int w = KohonenMap::getWinner();
getXYZ(w,x,y,z);
}
}; //namespace annie
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -