view 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 source
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)));