calculating mean values of a 3D matrix

hi.
I have a 3D matrix. size 79x63x100
I want to calc the mean of each of the 79x63 values so to get a 2D matrix the size of 79x63x1
but when i do mean(mat) i get it in the size of 1x63x100
how should I write it?
Thanks, Noa

2 Kommentare

Deepak Singh
Deepak Singh am 15 Jul. 2015
You can mention the dimension you want to take mean across. Something like this will work: x=mean(mat,3);
ankit patel
ankit patel am 11 Apr. 2020
its not working if i change the value 3 with more than 3 in your equation.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 9 Okt. 2012

7 Stimmen

out = mean(yourarray3D,3)

5 Kommentare

Thumree Sarkar
Thumree Sarkar am 29 Mai 2017
What if I want to make a 2D matrix out of (mxnxp) 3D matrix, but the mean is to be done for the n th component instead of p th?
out = squeeze(mean(yourarray3D,2));
I try to calclulate standard deviation with the same method:
out = std(yourarray3d,3);
But its not working in the same way as with the mean. What can I do to make it work?
Akshay Bhardwaj
Akshay Bhardwaj am 24 Mai 2018
Bearbeitet: Akshay Bhardwaj am 24 Mai 2018
out = std(yourarray3d,[],3)
Hi,
I also have a similar question.
I have a 51x51 2D matrix that I need to take a mean off, but it has to give me back a 51x51 2D matrix as an output.
How can do this using the mean function. I need to put this in a loop as well. Please see code below for reference:
rand_image_stim = rand(10000,51,51);
kk = 1:length(rand_image_stim);
firing_rate_kk(kk) = 0;
gab_filt = z_cos.*z_gauss;
lp(kk) = 0;
for kk = 1:length(rand_image_stim)
output_kk = squeeze(rand_image_stim(kk,:,:)).*gab_filt;
firing_rate_kk(kk) = sum(output_kk,'all');
jk = squeeze(rand_image_stim(kk,:,:))*firing_rate_kk(kk);
lp = squeeze(mean(jk,2)); %Need help with this last bit!
end

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Zoe
Zoe am 28 Nov. 2017

0 Stimmen

shape2 = reshape(yourarray,[100 79*64]);
meanArray = mean(shape2,2);

Kategorien

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by