Mercurial > hg > ishara
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 |