concatenate 3 dimensional matrix in a loop

1 次查看(过去 30 天)
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.

采纳的回答

Titus Edelhofer
Titus Edelhofer 2014-6-12
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by