MATLAB: Concatenate 3 dimensional matrix in a loop

concatenate multiple matrices in loop

I have 128 matrices( n*32) stored in a dataStructure. I want to concatenate these matrices in 3 dimensional so its possible for me to calculate the mean in the third dimension.
for fileNr =1:nrOfFiles outputFileName = outputFileNames(fileNr); outputFileName = outputFileName{1}; outputFileName = strcat(outputFolder, filesep, outputFileName);
FileName=(outputFileName);
data=load(FileName)
data=data2.dataStruct.data
end
i wrote a code like this to get the data from the data structure. how do i concatenate the matrices(in data) after every loop using cat function.

Best Answer

Hi,
you can concatenate like follows in the loop
allData(:,:,fileNr) = data;
but if you "only" want to compute the mean, there is no need to blow up the memory like this, simply do: in the loop
if fileNr == 1
meanData = data;
else
meanData = meanData + data;
end
and after the loop
meanData = meanData / nrOfFiles;
Titus