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

3 views (last 30 days)
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

Matt J
Matt J on 29 Sep 2021
[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 Resizing and Reshaping Matrices in Help Center and File Exchange

Tags

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!