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?

 채택된 답변

Image Analyst
Image Analyst 2021년 6월 5일

0 개 추천

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

Nasser Alqurishi
Nasser Alqurishi 2021년 6월 5일
편집: Nasser Alqurishi 2021년 6월 5일
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

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

제품

릴리스

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by