blob: cdb457b0f5b3fcf67f3bdd8d987f66f946f9b0f0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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;
|