📄 fun_computepotential.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&
%% 计算图中某一某一节点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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -