如何在单元格的相应索引中总结值?

时间:2017-02-19 15:17:19

标签: matlab cell-array

我有一个名为1x24的{​​{1}}单元格数组,其每个单元格都包含一个chaining矩阵:

enter image description here

我想找到所有单元格的每个对应元素的总和,并将它们存储在名为119x119的矩阵中。也就是说,result的{​​{1}}元素应包含单元格数组(j,k)中所有矩阵的result个元素的总和。

我写的代码是:

(j,k)

但这会产生错误,因为显然MATLAB由于某种原因(即chaining部分)无法聚合单元数组。

有人可以告诉我该怎么做吗?

1 个答案:

答案 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

有关详细信息,请参阅catsum帮助页。

顺便说一句,
如果您坚持sum( ..., 3 ); 类型的解决方案(不推荐),您可能会发现subsref command有用。