fun_computepotential.m

来自「无标度网络的生成模型」· M 代码 · 共 32 行

M
32
字号
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&
%% 计算图中某一某一节点i的势函数
%%输入:距离矩阵的第i行Mat_DistanceLine, 节点总数Net, 需要计算的节点i——Num_ObjectNode,
%%影响因子Num_Sigma,质量矩阵Mat_Mass, 有效值范围 Num_EffectRange;
%%输出:图中节点i的势值;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [Num_ObjectNodePotential]= Fun_ComputePotential (Mat_DistanceLine, Num_ObjectNode, Num_Sigma, Lin_Mass,Num_EffectRange)

%%对变量进行初始化;
Num_Node = size( Mat_DistanceLine, 2);
Num_ObjectNodePotential = 0;
Num_line = Num_Node;
Lin_ObjectNodePotentail = zeros(1,Num_line);


    %%%%%%%%%%%%%%%%% 计算单个节点对目标节点产生的势值,并将其存入临时矩阵中
for i = 1:Num_Node
    
    %% 若节点与目标节点之间的距离大于制定影响范围,则对该节点产生的势值为0,否则计算对该节点的势值
    if Mat_DistanceLine(i)> Num_EffectRange
       Lin_ObjectNodePotential(i) = 0;
    else
        Num_AMidValue = Mat_DistanceLine(i)  / Num_Sigma; 
        Lin_ObjectNodePotential(i) = Lin_Mass(i)* exp( (-1) * Num_AMidValue * Num_AMidValue);
    end
end 

for i = 1 : Num_Node
    Num_ObjectNodePotential = Num_ObjectNodePotential + Lin_ObjectNodePotential( i);
end                    
    

⌨️ 快捷键说明

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