Mean of a Matrix
3 ビュー (過去 30 日間)
古いコメントを表示
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
8 件のコメント
Adam
2019 年 11 月 13 日
I don't really have the time to look in depth at the code and give a full syntactically correct answer, but from what I can see you just want to store jk in the loop as e.g.
jk( kk, :, : ) = squeeze(rand_image_stim(kk,:,:))*firing_rate_kk(kk);
and remove the last line from the loop, then after the end of the for loop simply:
result = mean( jk );
should give what you want.
回答 (1 件)
Luna
2019 年 11 月 13 日
編集済み: Luna
2019 年 11 月 13 日
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');
3 件のコメント
Luna
2019 年 11 月 13 日
編集済み: Luna
2019 年 11 月 13 日
I have made a small edit to my answer please check again. You will have 10000 mean values for each loop. It is not possible to get 51x51 mean values. Or did I misunderstand? if you want to get 51x51 mean values in the end you should have kk = 51 but it is 10000. Also in the beginning you initialize lp 1x10000 vector filled with zeros already.
参考
カテゴリ
Help Center および File Exchange で Descriptive Statistics and Visualization についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!