wolffd@0: function index = subv2indMinka(siz,sub) wolffd@0: %SUBV2IND Linear index from subscript vector. wolffd@0: % SUBV2IND(SIZ,SUB) returns an equivalent single index corresponding to a wolffd@0: % subscript vector for an array of size SIZ. wolffd@0: % If SUB is a matrix, with subscript vectors as rows, then the result is a wolffd@0: % column vector. wolffd@0: % wolffd@0: % This is the opposite of IND2SUBV, so that wolffd@0: % SUBV2IND(SIZ,IND2SUBV(SIZ,IND)) == IND. wolffd@0: % wolffd@0: % See also IND2SUBV, SUB2IND. wolffd@0: wolffd@0: % Written by Tom Minka wolffd@0: wolffd@0: prev_cum_size = [1 cumprod(siz(1:end-1))]; wolffd@0: %index = (sub-1)*prev_cum_size' + 1; wolffd@0: index = sub*prev_cum_size' - sum(prev_cum_size) + 1;