annotate general/numerical/packvec.m @ 4:e44f49929e56

Adding reorganised general toolbox, now in several subdirectories.
author samer
date Sat, 12 Jan 2013 19:21:22 +0000
parents
children
rev   line source
samer@4 1 function X=packvec(varargin)
samer@4 2 % packvec - Pack coordinate values in separate arrays into one big array
samer@4 3 %
samer@4 4 % packvec :: {[K]->[[E]]} -> [[K,E]].
samer@4 5 %
samer@4 6 % There is also a variable argument list form:
samer@4 7 %
samer@4 8 % packvec :: [[E]], [[E]] -> [[2,E]].
samer@4 9 % packvec :: [[E]], [[E]], [[E]] -> [[3,E]].
samer@4 10 % etc..
samer@4 11
samer@4 12
samer@4 13 if nargin==1 && iscell(varargin{1})
samer@4 14 Y=varargin{1};
samer@4 15 else
samer@4 16 Y=varargin;
samer@4 17 end
samer@4 18 [Y{:}]=promote(Y{:});
samer@4 19 Y=cellmap(@(y)reshape(y,[1 size(y)]),Y);
samer@4 20 X=cat(1,Y{:});
samer@4 21
samer@4 22