我有一个结构让我们说ABC
尺寸" 1 * 100" struct,它有一个名为EFG
的字段,每个字段的值为1.6
。
我需要使用MATLAB获得1.6+1.6+1.6+.......+1.6
100次。
我尝试使用sum
,但它并不适合这种情况。怎么办呢?
Sum(ABC(:).EFG)
sum(ABC(:).EFG,2)
这些不起作用
答案 0 :(得分:3)
你需要括号:
for ii = 1:100 % Just creating the struct
ABC(ii).EFG = 1.6; % 1x100 struct with the field EFG
end
sum([ABC(:).EFG])
ans =
160.0000
请注意[ABC(:).EFG]
周围的括号。
原因是,如果没有它,您将获得ABC(:).EFG
中无法在sum
中使用的输出:
ABC(:).EFG
ans =
1.6000
ans =
1.6000
ans =
1.6000
ans =
1.6000
ans =
1.6000
连接它,你将得到一些你可以使用的东西:
[ABC(:).EFG]
ans =
1.6000 1.6000 1.6000 1.6000 1.6000