【发布时间】:2012-08-07 15:26:58
【问题描述】:
我有一个M x N 大小的结构数组,其中包含字段var 和val,它们是向量。
我想做的是得到一个M x N大小的矩阵A,其中每个元素A(i, j)包含结构数组中向量var(或val)的总和
例如:
myStructure(1,5)
ans =
var: 1
val: [0.0100 0.1800 0.8100]
sum(myStructure(1,5).val)
ans =
1
myStructure(7,8)
ans =
var: [1 3]
val: [1x9 double]
myStructure(7,8).val
ans =
Columns 1 through 6
0.1111 0.1111 0.1111 0.1111 0.1111 0.1111
Columns 7 through 9
0.1111 0.1111 0.1111
因此A(1,5) 应该为1,同样所有元素A(i,j) 应该等于sum(myStructure(i,j).val)。
有谁知道不使用 for 循环如何在 Matlab 中做到这一点?
我已尝试以多种方式使用 sum 函数(sum(messages.val) 和 sum(messages(:,:).val) ...),但无法获得所需的结果。
【问题讨论】:
-
val向量场的长度是否始终相同?例如,在您的示例中为 3?还是会有所不同? -
val 长度可以变化。