【发布时间】:2012-11-30 23:59:33
【问题描述】:
我有一个名为A 的cell(1, n) 单元格数组,每个单元格条目都包含一个mxn 矩阵。因此,实际上,我的元胞数组包含 n 大小为 mxn 的矩阵。
然后我有另一个名为 B 的元胞数组,其中存储有 n pxm 矩阵。
我需要做的是将两者相乘,例如:A[1] * B[1]、A[2] * B[2]、...、A[n] * B[n]。然后我需要将结果存储为它们自己的单个矩阵,并总结它们。
矩阵对于乘法是保形的,但是由于元胞数组 B 包含的行数少于元胞数组 A,所以当我使用 cellfun(@times A, B, 'UniformOutput', true) 时,我会收到 unequal matrices 错误。
这似乎表明cellfun 只能在矩阵的行数和列数相等时将单个单元格相乘。
现在,我可以通过使用各种循环或调用cell2mat 和mat2cell 等等来执行此操作。我也可以将所有内容存储为矩阵数组而不是使用单元格......但是 - 我更喜欢使用单元格。
所以 - 我的问题是:有没有只使用 cellfun 的好方法?我已经尝试过各种参数输入组合 - 但到目前为止没有运气。
【问题讨论】:
标签: matlab