som_lininit 
 Purpose 
 Initializes a SOM linearly along its greatest eigenvectors.
 Syntax 
  sMap = som_lininit(D);
  sMap = som_lininit(D,sMap);
  sMap = som_lininit(D,'munits',100,'hexa');
 Description 
 Initializes a SOM linearly. If necessary, a map struct is created
 first. The initialization is made by first calculating the eigenvalues
 and eigenvectors of the training data. Then, the map is initialized
 along the mdim greatest eigenvectors of the training data, where
 mdim is the dimension of the map grid.
 References 
 Kohonen, T., "Self-Organizing Map", 2nd ed., Springer-Verlag, 
    Berlin, 1995, pp. 106-107.
 Required input arguments 
  D                 The training data.
           (struct) Data struct. If this is given, its '.comp_names' and 
                    '.comp_norm' fields are copied to the map struct.
           (matrix) data matrix, size dlen x dim
 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. If an
  argument is given value multiple times, the last one is used. 
  Here are the valid argument IDs and corresponding values. The values 
  which are unambiguous (marked with '*') can be given without the 
  preceeding argID.
  'dlen'         (scalar) length of the training data
  'data'         (matrix) the training data
                *(struct) the training data
  'munits'       (scalar) number of map units
  'msize'        (vector) map size
  'lattice'     *(string) map lattice: 'hexa' or 'rect'
  'shape'       *(string) map shape: 'sheet', 'cyl' or 'toroid'
  'topol'       *(struct) topology struct
  'som_topol','sTopol'    = 'topol'
  'map'         *(struct) map struct
  'som_map','sMap'        = 'map'
 Output arguments 
  sMap     (struct) The initialized map struct.
 Examples 
  sMap = som_lininit(D);
  sMap = som_lininit(D,sMap);
  sMap = som_lininit(D,'msize',[10 10]);
  sMap = som_lininit(D,'munits',100,'rect');
 See also