?? som_bmucolor.m
字號:
function bmu_colors=som_bmucolor(bmus, m, colors);% SOM_BMUCOLOR Returns the colors of the bmus according to a map colorcode%% bmu_colors=som_bmucolor(bmus, msize, colors);%% INPUT ARGUMENTS ([]'s are optional)%% bmus (matrix) Nx1 vector of BMU indexes% msize (map struct, topol struct or 1x2 vector) % gives the map grid size % colors (matrix) colormap(s): munits x 3 x d matrix of RGB vectors%% OUTPUT ARGUMENTS %% bmu_colors (Nx3xd matrix) color of the data point according to its BMU's % color(s).%% Idea is to get a color for each data point that links it to its BMU. %% EXAMPLE%% We want to show how an time series is projected to a map. Instead of % a trajectory, we use 'color linking'%% map=som_make(multi_dim_signal); % bmus=som_bmu(map,multi_dim_signal);% Colors=som_bmucolor(bmus, map, som_colorcode(map,'rgb1'));% colorsignal(Colors, multi_dim_signal);%% See also SOM_COLORCODE.% Copyright (c) 1999-2000 by the SOM toolbox programming team.% http://www.cis.hut.fi/projects/somtoolbox/ % Version 2.0alpha Johan 170699%% Check arguments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%error(nargchk(3, 3, nargin)) % check no. of input args is correct% Check map grid sizeif vis_valuetype(m,{'1x2'}), msize=m; else [tmp,ok,tmp]=som_set(m); if isstruct(m) & all(ok) % check m type switch m.type case 'som_topol' msize=m.msize; lattice=m.lattice; case 'som_map' msize=m.topol.msize; lattice=m.topol.lattice; otherwise error('Invalid map or topol struct.'); end endend if length(msize)>2 error('Only 2D maps allowed!');endn=prod(msize)% Check colorcode sizeif ~vis_valuetype(colors,{'nx3xdimrgb','nx3rgb'}) error('Colorcode matrix not valid!');end% Check bmu vectorif ~vis_valuetype(bmus,{'nx1'}), error('Need a column vector of BMU indexes!');else bmus=round(bmus); if max(bmus) > n | min(bmus) < 1 error('BMU indexes exeed the map size!') endend%% Action %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%bmu_c=colors(bmus,:,:);%% Build output %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%bmu_colors=squeeze(bmu_c);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -