get_fi.m

来自「基于MATLAB蚁群算法LF解决聚类问题源程序代码」· M 代码 · 共 37 行

M
37
字号
%{
?	设计函数计算群体相似度计算
a)	输入参数:
?	Oi点(需要计算的点)、
?	S(S*S区域内)、
?	Alpha、
?	Item_Window(结点的窗格矩阵)
?	Z(Z*Z区域)
?	item_space(结点的空间矩阵)
b)	输出参数:
?	Oi点的相似度

程序流程:
1、计算Oi的所有邻居
2、所有邻居的距离相应的和
3、判断和值和0的关系
4、最后决定值的大小
%}
function fi=get_Fi(Oi,S,Alpha,item_window,Z,item_space)
%1、计算Oi的所有邻居
allneighbours=get_allneighbours(Oi,S,item_window,Z);

%2、所有邻居的距离相应的和
len=length(allneighbours);

fi=0;
for i=1:len
    distance=get_distance(Oi,allneighbours(i),item_space);
    fi=fi+(1-distance)/Alpha;
end

if(fi>0)
    fi=fi/(S^2);
else
    fi=0;
end

⌨️ 快捷键说明

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