Asked by BBB
on 13 Nov 2019 at 13:21

Hi,

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.

Please see the sample code below:

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 = mean(jk,2); %this is where I need help

end

Answer by Luna
on 13 Nov 2019 at 13:37

Edited by Luna
on 13 Nov 2019 at 13:46

your for loop is length(rand_image_stim). So your mean value calculated 10000 times. You should store it and later get the mean all.

Try this:

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,51) = 0; % 10000 x 51 matrix

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(kk,:) = mean(jk,2); %this is where I need help

end

your_mean_value = mean(lp,'all');

BBB
on 13 Nov 2019 at 13:41

Hi Luna,

Thanks for your response.

I tried this before, but it did not give me back what I wanted.

The z_cos and z_gauss are outputs of two other cos and gaussian functions. The only thing I want (which is the final step) to find the average of the jk data set which is a 51x51 dim in a 51x51 dim and then plot it with imagesc.

Luna
on 13 Nov 2019 at 13:46

BBB
on 13 Nov 2019 at 14:04

This is my original question:

First generate 10,000 random images (i.e. where the brightness of each pixel is chosen randomly) of the same size as used in ex: 2.9(which is 51x51). For each of these stimuli, determine the firing rate (which is done by first getting the output in which you need to squeeze the rand_image_stim from 3D to 2D and then multiply with another 51x51 matrix which in this case is the gab_filt) of the cortical neuron. Then, multiply each of the stimuli with the respective firing rate (which is the jk variable here), and average the result (this is where I am getting stuck) and then plot with imagesc.

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 8 Comments

## Rik (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490863-mean-of-a-matrix#comment_766828

## BBB (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490863-mean-of-a-matrix#comment_766834

## Adam (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490863-mean-of-a-matrix#comment_766835

## Steven Lord (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490863-mean-of-a-matrix#comment_766846

## BBB (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490863-mean-of-a-matrix#comment_766856

## Adam (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490863-mean-of-a-matrix#comment_766861

## BBB (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490863-mean-of-a-matrix#comment_766867

## Adam (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/490863-mean-of-a-matrix#comment_766903

Sign in to comment.