MATLAB: I have 366 matrices of size 72×144. How to create a 367th matrix, also size 72×144, which represents the average by element of the original

averageby elementMATLABmatrices

I asked a similar question last night, but didn't get an answer I understood. To be more specific, I have 366 matrices, each size 72×144, and each representing a day's worth of data, for a total of one year worth of daily data. The file names for the individual matrices are in the format "20040101.txt", "20040102.txt", … "20040131.txt", "20040201.txt", etc. I would like to create a new 72×144 matrix which represents the average by element of the original 366 matrices. What is the easiest way for me to do that, keeping in mind I know very little about MATLAB.
Last night, I successfully made an average matrix for two separate months, but it took me nearly an hour to do so, because I did it the only way I understood: add all matrices manually and divide by 31, such that:
newMatrix=('20040101.txt'+'20040102.txt'…'20040131.txt')./31
How can I make this simpler? I know there is a better way, but can someone please also explain in detail what the simpler function does (how it operates) rather than just giving me the code?
Thanks,
Patrick

Best Answer

As you create read the K'th file, store the data into DailyData(:,:,K) . Then to calculate the average of each element over the 366 matrices, use mean(DailyData,3)