2013-03-06 95 views
0

我發現這個相關的問題: Multiply columns of a matrix with 2d matrix slices of a 3d matrix in MatLab在matlab中如何做(m,n,k)*(n,k)=(m,k)?

我有同樣的問題,但對我來說m可以爲每個切片改變。有沒有辦法做到這一點mtimesx?由於m不同,我的3d張量存儲爲單元格列表,每個單元格包含一個矩陣。另外我的2D矩陣是一個單元列表,每個單元都包含一個矢量。

有沒有辦法可以做這個乘法沒有for循環?

+0

我很困惑,這封信代表了什麼。因此,您有一個包含各種大小矩陣的「k」元素單元陣列和一個長度與第二維上相應矩陣大小相匹配的向量長度相等的單元陣列? – 2013-03-06 13:31:58

回答

1

由於數據已經存儲在cellarrays,您可以使用cellfun

res = cellfun(@(x,y) x*y, mnkCell, nkCell, 'UniformOutput', false); 
相關問題