blob: dd50360d06ad349f2312798bc6d03ba306f9e1c9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
function index = subv2ind(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.
%index = subv2indTest(siz,sub);
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;
|