我发现了这个相关的问题: Multiply columns of a matrix with 2d matrix slices of a 3d matrix in MatLab
我有同样的问题但在我的情况下m
可能会因每个切片而异。有没有办法用mtimesx做到这一点?因为m
变化,我的3d张量存储为单元格列表,每个单元格包含一个矩阵。另外,我的2d矩阵是一个包含向量的单元格列表。
有没有一种方法可以在没有for循环的情况下进行这种乘法运算?
答案 0 :(得分:1)
由于您的数据已存储在cellarray中,因此您可以使用cellfun
res = cellfun( @(x,y) x*y, mnkCell, nkCell, 'UniformOutput', false );