Daniel@0: function sub = block(blocks, block_sizes) Daniel@0: % BLOCK Return a vector of subscripts corresponding to the specified blocks. Daniel@0: % sub = block(blocks, block_sizes) Daniel@0: % Daniel@0: % e.g., block([2 5], [2 1 2 1 2]) = [3 7 8]. Daniel@0: Daniel@0: blocks = blocks(:)'; Daniel@0: block_sizes = block_sizes(:)'; Daniel@0: skip = [0 cumsum(block_sizes)]; Daniel@0: start = skip(blocks)+1; Daniel@0: fin = start + block_sizes(blocks) - 1; Daniel@0: sub = []; Daniel@0: for j=1:length(blocks) Daniel@0: sub = [sub start(j):fin(j)]; Daniel@0: end