gpt4 book ai didi

matlab - 总结Matlab中的特定字段

转载 作者:行者123 更新时间:2023-12-04 12:52:44 25 4
gpt4 key购买 nike

如何对不同的字段求和?我想总结 Material (1) 的所有信息...所以我想添加 5+4+6+300 但我不确定如何添加。除了做 material(1).May + material(1).June 等还有其他方法吗....

 material(1).May= 5;
material(1).June=4;
material(1).July=6;
material(1).price=300;
material(2).May=10;
material(2).price=550;
material(3).May=90;

最佳答案

您可以为此使用 structfun:

result = sum(    structfun(@(x)x, material(1))    );

内部部分 (structfun(@(x)x, material(1))) 对结构中的每个单独字段运行一个函数,并在数组中返回结果。通过使用恒等函数 (@(x)x),我们只需获取值。 sum 当然做了显而易见的事情。

一种稍长的方法是循环访问每个字段。例如:

fNames = fieldnames(material(1));
accumulatedValue = 0;
for ix = 1:length(fNames)
accumulatedValue = accumulatedValue + material(1).(fNames{ix});
end
result = accumulatedValue

对于一些用户来说,这会更容易阅读,但对于专家用户来说,第一个会更容易阅读。结果和(近似)性能相同。

关于matlab - 总结Matlab中的特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19460540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com