📄 determinewinner.m
字号:
function [Value, Pos] = DetermineWinner(X,Map,DistType,MLKP);
DistType=upper(DistType);
if DistType == 'EUC'
% calculates minimum of Euclidean distances
Distance = dist(X,Map);
[Value, Pos] = min(Distance);
elseif DistType == 'ABS'
% calculates minimum of sum of absolute values
Distance=sum(abs(Map-(ones(MLKP.Nunits,1)*X)'));
[Value, Pos] = min(Distance);
elseif DistType == 'TAN'
% calculates maximum of Tanimoto distances
% tricky: usually, many Tanimoto distances are at minimum
Distance = TanimotoDistance(X,Map,MLKP);
[Value, Pos] = min(Distance);
elseif DistType == 'WCC'
CorrValues=WccValues(X,Map,MLKP);
[Value, Pos] = max(CorrValues);
Distance = ones(1,MLKP.Nunits) - CorrValues;
elseif DistType == 'WDD'
Distance=WddValues(X,Map,MLKP);
[Value, Pos] = min(Distance);
else
% calculates maximum of correlations
CorrValues = CalcCorrValues(X,Map);
[Value, Pos] = max(CorrValues);
Distance = ones(1,MLKP.Nunits) - CorrValues;
end
Distance = Distance/max(Distance);
%
% if necessary, calculate normalised inner-product for weighting
if (upper(MLKP.AdaptLearn) == 'Y' | upper(MLKP.BoltzmannMode) ~= 'NOT')
Value = 2 - min(Distance);
else
Value = 1;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -