wolffd@0
|
1 function ind = som_cod2ind(msize,cind)
|
wolffd@0
|
2
|
wolffd@0
|
3 %SOM_COD2IND Matlab linear index from SOM_PAK style linear indeces.
|
wolffd@0
|
4 %
|
wolffd@0
|
5 % ind = som_cod2ind(msize,cind)
|
wolffd@0
|
6 %
|
wolffd@0
|
7 % ind = som_cod2ind([10 15],44);
|
wolffd@0
|
8 % ind = som_cod2ind(sMap,44);
|
wolffd@0
|
9 % ind = som_cod2ind(sMap.msize,44);
|
wolffd@0
|
10 % ind = som_cod2ind([10 15],[44 13 91]');
|
wolffd@0
|
11 %
|
wolffd@0
|
12 % Input and output arguments:
|
wolffd@0
|
13 % msize (struct) map or topology struct
|
wolffd@0
|
14 % (vector) size 1 x m, specifies the map grid size
|
wolffd@0
|
15 % cind (vector) size n x 1, SOM_PAK style linear indeces for n map units
|
wolffd@0
|
16 % (row first, then column)
|
wolffd@0
|
17 %
|
wolffd@0
|
18 % ind (vector) size n x 1, Matlab linear indeces
|
wolffd@0
|
19 %
|
wolffd@0
|
20 % See also SOM_IND2COD.
|
wolffd@0
|
21
|
wolffd@0
|
22 % Contributed to SOM Toolbox vs2, January 14th, 2002 by Juha Vesanto
|
wolffd@0
|
23 % http://www.cis.hut.fi/projects/somtoolbox/
|
wolffd@0
|
24
|
wolffd@0
|
25 % Version 2.0beta juuso 140102
|
wolffd@0
|
26
|
wolffd@0
|
27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
wolffd@0
|
28
|
wolffd@0
|
29 if isstruct(msize),
|
wolffd@0
|
30 if strcmp(msize.type,'som_map'), msize = msize.topol.msize;
|
wolffd@0
|
31 elseif strcmp(msize.type,'som_topol'), msize = msize.msize;
|
wolffd@0
|
32 else error('Invalid first argument.'); end
|
wolffd@0
|
33 end
|
wolffd@0
|
34
|
wolffd@0
|
35 if nargin<2, cind = 1:prod(msize); end
|
wolffd@0
|
36
|
wolffd@0
|
37 I2C = som_ind2cod(msize,[1:prod(msize)]);
|
wolffd@0
|
38 [dummy,C2I] = sort(I2C);
|
wolffd@0
|
39 ind = C2I(cind);
|
wolffd@0
|
40
|
wolffd@0
|
41 return;
|
wolffd@0
|
42
|
wolffd@0
|
43 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|