我发现了以下相关问题: 乘法列MatLab中具有3d矩阵的2d矩阵切片的矩阵的计算
I have found this relevant question: Multiply columns of a matrix with 2d matrix slices of a 3d matrix in MatLab
我有同样的问题,但在我的情况下,每个切片的m可能有所不同.有没有一种方法可以使用 mtimesx ?因为m变化,所以我的3d张量存储为单元格列表,每个单元格都包含一个矩阵.而且我的2d矩阵是一个包含每个向量的单元格列表.
I have the same problem but in my case m can vary for each slice. Is there a way to do that with mtimesx ? Because m varies, my 3d tensor is stored as a list of cells, each containing a matrix. Also my 2d matrix is rather a list of cells each containing a vector.
有没有一种方法可以在没有for循环的情况下进行乘法运算?
Is there a way I can do this multiplication without a for loop?
推荐答案由于您的数据已经存储在单元阵列中,因此您可以使用 cellfun
Since your data is already stored in cellarrays, you can use cellfun
res = cellfun( @(x,y) x*y, mnkCell, nkCell, 'UniformOutput', false );更多推荐
在Matlab中如何做(m,n,k)*(n,k)=(m,k)?
发布评论