diff options
Diffstat (limited to 'sourcecodes/bnt-master/KPMtools/subv2indMinka.m')
| -rw-r--r-- | sourcecodes/bnt-master/KPMtools/subv2indMinka.m | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/KPMtools/subv2indMinka.m b/sourcecodes/bnt-master/KPMtools/subv2indMinka.m new file mode 100644 index 00000000..cdb457b0 --- /dev/null +++ b/sourcecodes/bnt-master/KPMtools/subv2indMinka.m @@ -0,0 +1,17 @@ +function index = subv2indMinka(siz,sub) +%SUBV2IND Linear index from subscript vector. +% SUBV2IND(SIZ,SUB) returns an equivalent single index corresponding to a +% subscript vector for an array of size SIZ. +% If SUB is a matrix, with subscript vectors as rows, then the result is a +% column vector. +% +% This is the opposite of IND2SUBV, so that +% SUBV2IND(SIZ,IND2SUBV(SIZ,IND)) == IND. +% +% See also IND2SUBV, SUB2IND. + +% Written by Tom Minka + +prev_cum_size = [1 cumprod(siz(1:end-1))]; +%index = (sub-1)*prev_cum_size' + 1; +index = sub*prev_cum_size' - sum(prev_cum_size) + 1; |
