📄 count.m
字号:
function Gcs = count(Gcs,train)
% Make node frequency count
for cindex = 1:Gcs.NoClasses
eval(['Gcs.z' int2str(cindex) ' =zeros(size(Gcs.wvis,1),1);']);
end
% train contains all the data setsafter equalisation of priors
% Can therefore just stepthrough each row of train in turn
for itc=1:size(train,1)
Ip = train(rem(itc-1,size(train,1))+1,1:Gcs.n+1);
ActClass = Ip(Gcs.n+1) ; % extract class label
Ip = Ip(1:Gcs.n); % remove class label from ip
% Find winning node
d=[];
for i=1:size(Gcs.w,1)
d(i) = norm( (Ip-Gcs.w(i,:)),Gcs.metric)^2;
end
[minval,s] = min(d);
eval(['Gcs.z' int2str(ActClass) '(s) = Gcs.z' int2str(ActClass) '(s) +1;']);
end
Gcs.ztotal=zeros(size(Gcs.z1));
for cindex=1:Gcs.NoClasses
eval(['Gcs.ztotal = Gcs.ztotal + Gcs.z' int2str(cindex) ';']);
end
% Determine SD values from mean link length - NB Using ND link lengths
Gcs.sigmav=[];
for i=1:size(Gcs.wvis,1)
Nt=0;
wttotal=0;
for k=1:size(Gcs.wvis,1)
if Gcs.C(i,k) == 1
Nt = Nt+1; % Update count of neighbours
wttotal = wttotal + norm((Gcs.w(i,:)-Gcs.w(k,:)),Gcs.metric);
end
end
Gcs.sigmav(i) = Gcs.smooth*wttotal./Nt;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -