我有一个名为1x24
的{{1}}单元格数组,其每个单元格都包含一个chaining
矩阵:
我想找到所有单元格的每个对应元素的总和,并将它们存储在名为119x119
的矩阵中。也就是说,result
的{{1}}元素应包含单元格数组(j,k)
中所有矩阵的result
个元素的总和。
我写的代码是:
(j,k)
但这会产生错误,因为显然MATLAB由于某种原因(即chaining
部分)无法聚合单元数组。
有人可以告诉我该怎么做吗?
答案 0 :(得分:3)
怎么样
result = sum( cat(3, chaining{:}), 3 );
刚刚发生了什么事?
首先,我们通过"堆叠"将单元阵列转换为3D阵列。第三维上的2D单元格元素:
cat(3, chaining{:})
一旦我们得到size
119-by-119-by-24的3D数组,我们就可以在第三维上求和并获得result
的{{1}} 119-by-119:
size
顺便说一句,
如果您坚持sum( ..., 3 );
类型的解决方案(不推荐),您可能会发现subsref
command有用。