📄 fastupdatemapx.m
字号:
function [NewXMap] = FastUpdateMapX(Xtr,XMap,MLKP);
[NvarX,Nunit]=size(XMap);
[Nobjects,Dummy] = size(Xtr);
Tstart=cputime;
disp('Entering fast map update mode');
ContinueUpdate='Y';
Iteration=0;
while (ContinueUpdate == 'Y')
Iteration=Iteration+1;
OldXMap=XMap;
NewXMap=zeros(NvarX,Nunit);
Count=zeros(Nunit,1);
for iobj=1:Nobjects
X=Xtr(iobj,:);
[Value, Winner] = DetermineWinner(X,XMap,MLKP.DistTypeX,MLKP);
NewXMap(:,Winner)= NewXMap(:,Winner)+X';
Count(Winner) = Count(Winner)+1;
end
for iunit=1:Nunit
if (Count(iunit) > 0)
NewXMap(:,iunit)=NewXMap(:,iunit)/Count(iunit);
else
NewXMap(:,iunit)=XMap(:,iunit);
end
end
if (sum(sum(NewXMap-OldXMap)) == 0)
Message=sprintf('Fast map update converged after %d iterations in %g seconds',...
Iteration,cputime-Tstart);
disp(Message);
ContinueUpdate ='N';
else
XMap=NewXMap;
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -