view general/numerical/matrix/mouter.m @ 54:9bcf5e133bf0

Added from old stats library.
author samer
date Mon, 23 Feb 2015 16:08:09 +0000
parents db7f4afd27c5
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)));