【发布时间】:2018-07-01 18:29:50
【问题描述】:
我有一个 221 x 24 元胞数组 S。在每个数组中都有另一个数组,由几个不同的字段(比如说 A、B、C 和 D)组成,其中每个字段(A、B、C、D ) 是一个 50 x 50 的数组。我只想对数组 S 的每一列中的 A、B、C 和 D 求和。例如:
S{1,1}.A + S{2,1}.A + ... + S{23,1}.A ...
S{1,2}.B + S{2,2}.B + ... + S{153,2}.B ...
S{111,3}.C + S{117,3}.C + ... + S{230,3}.C ...
最简单的方法是什么?我知道如果结构中没有字段(例如 sum([S{:}]) ),则有一个求和函数,但我只想要每个求和中的特定字段。有什么想法吗?
【问题讨论】:
-
你能提供你所拥有的样品吗?每个单元格是否只有一个字段?
-
请举个例子。
-
S{3,1} 可能包含:S{3,1}.A, S{3,1}.B, S{3,1}.C, ..., S{ 3,1}.L 其中 A、B、C、D ... L 都是 50 x 50 数组。我想将 S{3,1}.A 与 S{4,1}.A, S{5,1}.A, ..., S{n,1}.A 相加,然后将 S{3 相加, 1}.B with S{4,1}.B, S{5,1}.B, ..., S{n,1}.B A, B, C, D, ...的数组, L 是一个简单的 50x50 数字数组。我可以做到:对于 m = 50 对于 n = 50 S{3,1}.A(m,n) + S{4,1}.A(m,n) + ... 但这很长,我想尝试用更好的代码自动化它。
标签: arrays matlab structure cell