I have a 1x12 cell in Matlab and each element of this cell has a 3d matrix. I want to make the mean of these 3d matrices, so that I obtain a 3d matrix that has the same dimensions of each one of the 3d matrices of the cell and that is the mean of the 12 3d matrices. How can I do this operation ?
I tried to extract each cell and create a 4d matrix so that I could do mean(fourdmatrix,4)
. However, it seems not possible to create a 4d matrix.
Ideed, a code like this:
cell={threedmatrixA, threedmatrixB, ...} fourdmatrix=[]; for i=1:12 fourdmatrix(i)=cell{i}; end
does not work. How can I do it ?
NOTE:-
Matlabsolutions.com provide latest MatLab Homework Help,MatLab Assignment Help , Finance Assignment Help for students, engineers and researchers in Multiple Branches like ECE, EEE, CSE, Mechanical, Civil with 100% output.Matlab Code for B.E, B.Tech,M.E,M.Tech, Ph.D. Scholars with 100% privacy guaranteed. Get MATLAB projects with source code for your learning and research.
One you have the data in a 4d array it's simple enough, just use mean
and supply the dimension to work over as you suggest. As @Cris notes you might run out of memory forming the 4d array (since it will copy all the data) in which case you'll want to loop over the existing arrays. But if you have enough memory this should work:
% make 12 random 3d arrays in cell array `c` for i=1:12 c{i} = rand(10, 10, 10); end % Make a 4d array: array4d = cat(4, c{:}); % Same as writing cat(4, c{1}, c{2}, c{3}, etc)
SEE COMPLETE ANSWER CLICK THE LINK
Comments
Post a Comment