?? 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 + -