How to sum the values of a fieldname of struct

16 visualizaciones (últimos 30 días)
Chao Zhang
Chao Zhang el 18 de Jul. de 2021
Comentada: Image Analyst el 19 de Jul. de 2021
Hello! I have a struct 'STC_ORE', and I want to calculate the values of fieldname' ORE_TON', so I want a code, but there are some errors. Therefore, could you please give me some solutions to deal with it, thanks!
for ii = 1:size(rock_code,1)
if ~isempty(STC_ORE(ii).ORE_TON)
A=sum([STC_ORE(:).ORE_TON]);
end
end

Respuesta aceptada

Image Analyst
Image Analyst el 18 de Jul. de 2021
You need to add the sum onto the prior value of the sum:
theSum = 0; % Initialize
for ii = 1:size(rock_code,1)
if ~isempty(STC_ORE(ii).ORE_TON)
theSum = theSum + sum([STC_ORE(:).ORE_TON]); % Add onto running total.
end
end
If you need more help, or that doesn't work, attach STC_ORE in a .mat file.
  2 comentarios
Chao Zhang
Chao Zhang el 18 de Jul. de 2021
theSum = theSum + sum([STC_ORE(ii).ORE_TON]) might works well
Image Analyst
Image Analyst el 19 de Jul. de 2021
Yeah, but it's not a bad idea to check like you did. Sometimes doing math on null/empty or NaN values will throw an error or make the whole thing be NaN.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Structures en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by