How to calculate the binned average at the center of each X and Y grid points?

I have a grid like the below and a 3-column data: x, y, z.
[X Y] = ndgrid([-179.5:179.5], [-89.5:89.5]);
How do I calculate the average within each bins? The average needs to be with latitude/longitude at the center of each lat/lon grid box (e.g. lat/lon 0.5/0.5 for the mean of all values within the box 0.0 to 1.0 latitude including the southernmost point 0.0 but not the northernmost point 1.0"

 Accepted Answer

[N,~,~,binX,binY] = histcounts2(x,y,([-179.5:179.5], [-89.5:89.5]);
zBinned = accumarray([binX,binY],z(:))./N;

More Answers (0)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Products

Release

R2021a

Tags

Asked:

on 29 Sep 2021

Commented:

on 29 Sep 2021

Community Treasure Hunt

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

Start Hunting!