array of mean from array
1 view (last 30 days)
Show older comments
Rodrigo Araya
on 11 Oct 2019
Edited: KALYAN ACHARJYA
on 11 Oct 2019
hi
I have a 400x400 array, and I need a new array for example a 10:10 in which the first value is the average of the first (0:40,0:40) values of the original array ... the 2:1 value is an average of the values from (41: 80,0:40) and so on until the las 10:10 values that will be the average (360:400,360:400)
I hope is clear
I can do one by one but i try to put this in a for
any sugestion please
0 Comments
Accepted Answer
Fangjun Jiang
on 11 Oct 2019
a=rand(400);
b=mat2cell(a,40*ones(10,1),40*ones(1,10));
c=cellfun(@mean,b,'uni',false);
d=cellfun(@mean,c,'uni',false);
e=cell2mat(d)
0 Comments
More Answers (1)
KALYAN ACHARJYA
on 11 Oct 2019
Edited: KALYAN ACHARJYA
on 11 Oct 2019
One line with blockproc
data=magic(400);
result_mean=blockproc(data, [40 40], @(x) mean(x.data(:)));
0 Comments
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!