2016-06-14 325 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