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