How to sum up a member of a 3D struct for all elements?

2 views (last 30 days)
Dear Community,
I have a 3D struct, with several members. I would like to sum up a certain member (oipsc) of the struct for all elements. How I could do it? I've tried several methosds, but frankly I don't know the right command i.e. syntax. I'm relatively new to Matlab. I've attached a simple SumTest.m code to higlight my problem.
Tx for the kind help in advance,
best regards,
Andras

Answers (1)

Askic V
Askic V on 12 Feb 2023
Edited: Askic V on 12 Feb 2023
Do you really need this (implemented with loops):
[d1,d2,d3] = size(gridblock);
sum_oipsc = 0;
for i = 1:d1
for j = 1:d2
for k = 1:d3
sum_oipsc = sum_oipsc + gridblock(i,j,k).oipsc;
end
end
end
If that is the case, then the solution would be as simple as:
sum_oipsc2 = sum([gridblock(:).oipsc])
  2 Comments
sim_sup
sim_sup on 12 Feb 2023
Dear Askic,
This was exactly the answer I was looking for :-)
Tx very much,
best regards
Andras
Askic V
Askic V on 12 Feb 2023
Edited: Askic V on 12 Feb 2023
@sim_sup, In that case, please consider accepting this as an asnwer, so it can benefit others in the future.

Sign in to comment.

Categories

Find more on Structures in Help Center and File Exchange

Tags

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!