hexagon.m
来自「有监督自组织映射-偏最小二乘算法(A supervised self-organ」· M 代码 · 共 35 行
M
35 行
function [Neighbours, WeightValues] = Hexagon(Radius,Winner,MLKP);
if (Radius == 0)
Neighbours = Winner;
WeightValues = 1;
return;
end
nrow=MLKP.Nrow;
ncol=MLKP.Ncol;
crow=floor((Winner-1)/ncol)+1;
ind=0;
for i=-Radius:Radius
ncells=2*Radius+1-abs(i);
for j=Winner+i*ncol-floor(ncells/2):Winner+i*ncol+floor((ncells-1)/2)
irow=floor((j-1)/ncol)+1;
if (irow>=1 & irow<=nrow)
if (j>=(crow+i-1)*ncol+1 & j<=(crow+i)*ncol)
if ((crow-2*floor(crow/2))==1)
ind=ind+1;
Neighbours(ind)=j;
else
k=j+irow-2*floor(irow/2);
if(k>=(crow+i-1)*ncol+1 & k<=(crow+i)*ncol)
ind=ind+1;
Neighbours(ind)=k;
end
end
end
end
end
end
WeightValues(1:ind) = 1;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?