annotate _FullBNT/KPMtools/mk_multi_index.m @ 9:4ea6619cb3f5 tip

removed log files
author matthiasm
date Fri, 11 Apr 2014 15:55:11 +0100
parents b5b38998ef3b
children
rev   line source
matthiasm@8 1 function index = mk_multi_index(n, dims, vals)
matthiasm@8 2 % MK_MULTI_INDEX Compute the indices of the submatrix where dims(i)=vals(i).
matthiasm@8 3 % index = mk_multi_index(n, dims, vals)
matthiasm@8 4 %
matthiasm@8 5 % Example:
matthiasm@8 6 % index = mk_multi_index(3, [1 3], [3 2])
matthiasm@8 7 % gives index = {3, ':', 2}, which will select out dim 1 = 3 and dim 3 = 2
matthiasm@8 8 % So if A(:,:,1)=[1 2;3 4; 5 6]; A(:,:,2)=[7 8; 9 10; 11 12]
matthiasm@8 9 % then A(index{:}) = [11 12]:
matthiasm@8 10
matthiasm@8 11 if n==0
matthiasm@8 12 index = { 1 };
matthiasm@8 13 return;
matthiasm@8 14 end
matthiasm@8 15
matthiasm@8 16 index = cell(1,n);
matthiasm@8 17 for i=1:n
matthiasm@8 18 index{i} = ':';
matthiasm@8 19 end
matthiasm@8 20 for i=1:length(dims)
matthiasm@8 21 index{dims(i)} = vals(i);
matthiasm@8 22 end
matthiasm@8 23