Mercurial > hg > camir-aes2014
comparison toolboxes/FullBNT-1.0.7/KPMtools/ind2subv.m @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:e9a9cd732c1e |
---|---|
1 function sub = ind2subv(siz,index) | |
2 %IND2SUBV Subscript vector from linear index. | |
3 % IND2SUBV(SIZ,IND) returns a vector of the equivalent subscript values | |
4 % corresponding to a single index into an array of size SIZ. | |
5 % If IND is a vector, then the result is a matrix, with subscript vectors | |
6 % as rows. | |
7 | |
8 %sub = ind2subvTest(siz, index); | |
9 n = length(siz); | |
10 if n==0, sub = index; return; end % added by KPM 17 Nov 07 | |
11 cum_size = cumprod(siz(:)'); | |
12 prev_cum_size = [1 cum_size(1:end-1)]; | |
13 index = index(:) - 1; | |
14 sub = rem(repmat(index,1,n),repmat(cum_size,length(index),1)); | |
15 sub = floor(sub ./ repmat(prev_cum_size,length(index),1))+1; | |
16 | |
17 % slow way | |
18 %for dim = n:-1:1 | |
19 % sub(:,dim) = floor(index/cum_size(dim))+1; | |
20 % index = rem(index,cum_size(dim)); | |
21 %end | |
22 |