如何总结单元格相应索引中的值?
问题描述:
我有一个名为chaining
1x24
单元阵列,其每个单元包含一个119x119
矩阵:如何总结单元格相应索引中的值?
我想找到的所有细胞的每个对应元素的总和,并将其存储在一个名为矩阵result
。也就是说,result
的(j,k)
th元素应该包含单元阵列chaining
中所有矩阵的(j,k)
个元素的总和。
我写了这样做的代码是:
for j=1:size(chaining,2)
for k=1:size(chaining,2)
result(j,k) = sum(chaining{1,:}(j,k));
end
end
但是这给了错误,因为显然MATLAB不能出于某种原因(即chaining{1,:}
部分)合计电池阵列。
任何人都可以请告诉我如何去做这件事?
答
怎么样
result = sum(cat(3, chaining{:}), 3);
刚才发生了什么吗?
cat(3, chaining{:})
一旦我们有了的3D阵列size
119逐119逐:
首先,我们通过“堆积”在第三维度上的2D细胞元素转换单元阵列成3D阵列24,我们可以沿着第三维度总结,并得到result
的size
119按119:
sum(..., 3);
BTW,
如果硬要chaining{1,:}(jj,kk)
类型的解决方案(不推荐),你可能会发现subsref
command有用。
在Matlab中使用'j'作为变量名[不推荐](http://*.com/q/14790740/1714410)。 – Shai
@Shai哦,解决复杂的数字,明白了。谢谢 :) – Kristada673