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

📄 get_allneighbours.m

📁 基于MATLAB蚁群算法LF解决聚类问题源程序代码
💻 M
字号:
%{
?	求Oi点在平面窗格内S*S区域内的邻接点的下标矩阵
a)	输入参数:
?	Oi点
?	S局部查找范围
?	Item_Window(结点的窗格矩阵)
?	Z平面窗格总区域
b)	输出参数
?	所有在S*S区域内的结点的下标

具体算法:
1、S区域的上界
2、S区域的下界
3、比较一下点在哪些区域内
%}
function allneighbours=get_allneighbours(Oi,S,item_window,Z)
%1、获得Oi点坐标
%[x,y]=item_window(Oi,:);
one_item=item_window(Oi,:);
x=one_item(1);
y=one_item(2);

%2、获得上下界限
x_low=x-S/2;
x_high=x+S/2;
if(x_low<0)
    x_low=0;
end
if(x_high>Z)
    x_high=Z;
end

y_low=y-S/2;
y_high=y+S/2;
if(y_low<0)
    y_low=0;
end
if(y_high>Z)
    y_high=Z;
end

%获得所有邻接结点下标数组
allneighbours=[];
[row,col]=size(item_window);
for i=1:row
    if i~=Oi
%        [x,y]=item_window(i,:);
        one_item=item_window(i,:);
        x=one_item(1);
        y=one_item(2);
        if x>=x_low && x<=x_high && y>=y_low && y<=y_high 
            allneighbours=[allneighbours i];
        end
    end
    
end

⌨️ 快捷键说明

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