2016-06-14 292 views
6

我搜索了一种方法来执行序列矩阵乘法 ,类似于sum(A,dim)或prod(A,dim)操作对总和或元素方式乘法所做的操作。矩阵序列的矩阵乘法

例如:

A = arrayfun(@(x) rand(5), 1:n, 'UniformOutput', false); 
P = A{1} * A{2} * ... * A{n}; % <-- search for an elegant way to do this 

我会用它来繁殖大量转移矩阵。

+1

如果您正在寻找性能,请使用基于初始化的loopy解决方案。 – Divakar

+0

所有'A'都有相同的尺寸吗?然后你可以[试试这个](http://www.mathworks.com/matlabcentral/fileexchange/8773-multiple-matrix-multiplications--with-array-expansion-enabled)。 – thewaywewalk

回答

1

对此使用for循环。这是一个'优雅'的方法最终会做什么。

P = A{1}; 
for i=2:length(A), P = P * A{i}, end