In article <email@example.com>, Ed Stein7997 <EdStein7997@hushmail.com> wrote:
> I have a question about how to efficiently form multi-dimensional arrays. > > Lets say I have two 2-d arrays (i.e. matrices) a and b; a(i,j) sized > i=1..M,j=1..N; and b(i,j) sized i=1..K,j=1..L. > > How can I form the 4-d array w(m,n,k,l)=a(m,n)*b(k,l) which has a unique > entry for every m,n,k,l; i.e. there are M*N*K*L unique entries? > > I want to form w in a 'vectorized' way without use of loops. A > conventional matrix product like a*b doesn't work of course since the > inner dimensions of a and b aren't the same. This isn't the same as a > Kronecker product since that remains two-dimensional. > > Thanks for any assistance. > > Ed Stein > firstname.lastname@example.org
w = bsxfun(@times,a,shiftdim(b,-2));
-- Doug Schwarz dmschwarz&ieee,org Make obvious changes to get real email address.