我有一个单元阵列cell(1, n)
叫A
,每个单元格项包含mxn
矩阵。所以,实际上,我的单元阵列包含大小为mxn
的n
矩阵。在单元阵列Matlab中乘以矩阵?
然后我有另一个单元格阵列称为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
?我已经尝试过各种参数输入的组合 - 但目前为止没有运气。
不幸的是我不能在矩阵删除多余的列。单元格中的矩阵不均匀,即没有相同的维数,但是适合于乘法,两个单元阵列都具有节省数量的元素,只是矩阵不同,并且cellfun(@times ,,,,)不允许乘法运算地点。非常感谢答复,无论:) – James