?? som_data_struct.m
字號:
function sData = som_data_struct(D, varargin)%SOM_DATA_STRUCT Create a data struct.%% sData = som_data_struct(D, [argID, value, ...])%% sData = som_data_struct(D); % sData = som_data_struct(D,'name','my_data','labels',labs);%% Input and output arguments ([]'s are optional): % D (matrix) data matrix, size dlen x dim% [argID, (string) See below. These are given as argID, value pairs.% value] (varies) %% sData (struct) created data struct%% Here are the argument IDs and corresponding values: % 'labels' (string array / cellstr) labels for each data vector,% length=dlen% 'name' (string) data name% 'comp_names' (string array / cellstr) component names, size dim x 1% 'comp_norm' (cell array) normalization operations for each% component, size dim x 1. Each cell is either empty, % or a cell array of normalization structs.%% For more help, try 'type som_data_struct' or check out online documentation.% See also SOM_SET, SOM_INFO, SOM_MAP_STRUCT.%%%%%%%%%%%%% DETAILED DESCRIPTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% som_data_struct %% PURPOSE%% Creates a data structure. %% SYNTAX%% sD = som_data_struct(D);% sD = som_data_struct(...,'argID',value,...);%% DESCRIPTION%% Creates a data struct. The struct contains, in addition to the data% matrix, component names, normalization operations for the components,% labels for each vector, and a name for the whole data set. All of these% can be given in the optional arguments of the function. If left% unspecified, they are given default values. %% Field Type Size / default value % ------------------------------------------------------------------------% .type (string) 'som_data' % .data (matrix) size dlen x dim % .name (string) 'unnamed'% .labels (cellstr) size dlen x m, {''; ''; ... ''}% .comp_names (cellstr) size dim x 1, {'Variable1', 'Variable2', ...}% .comp_norm (cell array) size dim x 1, {[], [], ... []}% .label_names (cellstr) size m x 1, []% % '.type' field is the struct identifier. Do not change it.% '.data' field is the data matrix, each row is one data vector% '.name' field is the identifier for the whole data struct% '.labels' field contains the labels for each of the vectors. The ith% of '.labels' contains the labels for ith data vector. Note that % if some vectors have more labels than others, the others are% are given empty labels ('') to pad the '.labels' array up.% '.comp_names' field contains the names of the vector components% '.comp_norm' field contains normalization information for each% component. Each cell of '.comp_norm' is itself a cell array of% normalization structs. If no normalizations are performed for % the particular component, the cell is empty ([]).% '.label_names' is similar to .comp_names field holding the names for% each data label column%% REQUIRED INPUT ARGUMENTS%% D (matrix) The data matrix, size dlen x dim. The data matrix may % contain unknown values, indicated by NaNs. % % OPTIONAL INPUT ARGUMENTS %% argID (string) Argument identifier string (see below).% value (varies) Value for the argument (see below).%% The optional arguments can be given as 'argID',value -pairs as% listed below. If an argument is given value multiple times, the% last one is used.%% 'labels' (string array / cellstr) labels for each data vector,% size dlen x m% 'name' (string) data name% 'comp_names' (string array / cellstr) component names, size dim x 1% 'comp_norm' (cell array) normalization operations for each% component, size dim x 1. Each cell is either empty, % or a cell array of normalization structs.% 'label_names'(string array / cellstr) label names, size m x 1%% OUTPUT ARGUMENTS% % sD (struct) the data struct%% EXAMPLES%% Simplest case:% D = rand(8, 3); % 8 3-dimensional vectors% sD = som_data_struct(D);% % With optional arguments, the other fields can be given values:% labs = cell(8, 1); labs{1, 1} = 'first_label';% cnames = {'first'; 'second'; 'third'};% % sD = som_data_struct(D,'labels',labs,'name','a data struct');% sD = som_data_struct(D,'comp_names',cnames);%% SEE ALSO% % som_set Set values and create SOM Toolbox structs.% som_map_struct Create a map struct.% Copyright (c) 1997-2000 by the SOM toolbox programming team.% http://www.cis.hut.fi/projects/somtoolbox/% Version 1.0beta ecco 071197% Version 2.0beta juuso 101199%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% data[dlen dim] = size(D);% default valuesif ~isempty(inputname(1)), name = inputname(1); else name = 'unnamed'; endlabels = cell(dlen,1);labels(1:dlen) = {''};%for i=1:dlen, labels{i} = ''; endcomp_names = cell(dim,1);for i = 1:dim, comp_names{i} = sprintf('Variable%d', i); endcomp_norm = cell(dim,1);label_names = []; % varargini=1; while i<=length(varargin), argok = 1; if ischar(varargin{i}), switch varargin{i}, % argument IDs case 'comp_names', i=i+1; comp_names = varargin{i}; case 'labels', i=i+1; labels = varargin{i}; case 'name', i=i+1; name = varargin{i}; case 'comp_norm', i=i+1; comp_norm = varargin{i}; case 'label_names',i=i+1; label_names = varargin{i}; otherwise argok=0; end else argok = 0; end if ~argok, disp(['(som_data_struct) Ignoring invalid argument #' num2str(i+1)]); end i = i+1; end% create structsData = som_set('som_data','data',D,'labels',labels,... 'name',name,'comp_names',comp_names,... 'comp_norm',comp_norm,'label_names',label_names);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -