Mercurial > hg > ishara
diff general/numerical/mouter.m @ 4:e44f49929e56
Adding reorganised general toolbox, now in several subdirectories.
author | samer |
---|---|
date | Sat, 12 Jan 2013 19:21:22 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/general/numerical/mouter.m Sat Jan 12 19:21:22 2013 +0000 @@ -0,0 +1,14 @@ +function B=mouter(varargin) +% mouter - Multidimensional outer product of multiple arrays +% Index domain of result is the concatenation of the index domains +% of the arguments, (with trailing 1s removed). +% +% mouter :: [Size1->A], [Size2->A] -> [[Size1,Size2]->A]. +% mouter :: [Size1->A], [Size2->A], [Size3->A] -> [[Size1,Size2,Size3]->A]. +% etc. +B=1; +for i=1:length(varargin) + B=kron(varargin{i},B); +end +B=reshape(B,cell2mat(cellmap(@size1,varargin))); +