📄 hexagon.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -