som_fillnans.m

来自「SOM算法,matlab程序,是经典的教科书的例子程序」· M 代码 · 共 57 行

M
57
字号
function sD = som_fillnans(sD,sM,bmus)% SOM_FILLNANS Replaces NaNs in the data matrix with values from%              SOM prototypes. %%   sD = som_fillnans(sD,sM, [bmus])%%      sD      (struct) data struct%              (matrix) size dlen x dim%      sM      (struct) data struct, with .data of size dlen x dim%              (matrix) size dlen x dim, a matrix from which %                       the values are taken from directly%              (struct) map struct: replacement values are taken from %                       sM.codebook(bmus,:)%      [bmus]  (vector) BMU for each data vector (calculated if not specified)%% See also  SOM_MAKE.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if isstruct(sD),   [dlen dim] = size(sD.data);   nans = find(isnan(sD.data)); else  [dlen dim] = size(sD);   nans = find(isnan(sD)); endif nargin<3,   bmus = som_bmus(sM,sD);   endif isstruct(sM) & strcmp(sM.type,'som_map'),  sM = sM.codebook(bmus,:); elseif isstruct(sM),   sM = sM.data(bmus,:);   else  sM = sM(bmus,:);endme = mean(sM); if any(size(sM) ~= [dlen dim]),   error('Invalid input arguments.')endif isstruct(sD),   sD.data(nans) = sM(nans); else  sD(nans) = sM(nans); end  return; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?