How to sum field elements inside a large structure array.

I have mat. data file with the follwoing spes:
data=load('load_models.mat', 'models')
data =
struct with fields:
models: {1000×1 cell}
>> models
models =
1000×1 cell array
0 {1440×3 double}
1 {1440×3 double}
: :
999 {1440×3 double}
Each cell of the 1000 rows contais (1440×3) matrix.
What I want to get is a new array of size (1440×3), where the elemnts of the new array is the summation of corresponding individal feild elements of the whole 1000×1 struct.
Any fuction of example approch can help me achive my opjective?

 Risposta accettata

Try mean() and cell2mat(). If that does not work, can you attach your .mat file with the paperclip icon (if it's less than 5 MB in size).

3 Commenti

Mean() and sum() didn't work. The cell2mat reshape the aray to size (1440000 x 3). the new array size I want is (1440×3) where the 1440 represnet the # of minites in a day and 3 columns values are the cofficents of the some models.
Does this work for you:
fileName = 'active_power_load_models.mat'
s = load(fileName)
ca = s.p_zip_models;
theSums = zeros(1440, 3);
for k = 1 : length(ca)
thisArray = ca{k};
theSums = theSums + thisArray;
end
It worked perfeclty!. Many thanks

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Prodotti

Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by