samer@4: % mzip - Apply array to multiple index arrays samer@4: % samer@4: % mzip :: [[N,M]->D], [[L]->[N]], [[L]->[M]] -> [[L]->D]. samer@4: % samer@4: % The name mzip is meant to suggest Matrix or Multiple Zip, samer@4: % with zip referring to the functional programming sort of samer@4: % zip where you can apply a function of N arguments to N samer@4: % lists of arguments and get a list of return values. samer@4: % eg, mzip(x,[2 4 1],[3 2 2]) = [x(2,3) x(4,2) x(1,2)]. samer@4: samer@4: function B=mzip(A,varargin), B=A(sub2ind(size(A),varargin{:})); samer@4: samer@4: