Checking if 2D coordinates are within 2D bins then sum Z values

조회 수: 2 (최근 30일)
Hi All,
I'm having some difficulty/confusion with using accumarray. I have some polar coordinate data with a 3rd column of intensity, like so.. (polar azimuth intensity)
37.9181 213.8268 0
39.1213 62.7845 0
39.1213 62.7845 7.5725
I also have my binning set up such that each coordinate is binned to 5degrees, like so.. (polar(0:90) azimuth(0:360), binned by 5deg)
0 0 0
0 5 0
0 10 0
...
5 0 0
5 5 0
5 10 0
I'm having trouble with how to check if my coordinate data is within those bins and summing the intensities.
My hope is to have a matrix with the binned coordinates and summed intensities (from raw data) in the 3rd column.
Any guidance will be much appreciated!
(Currently have R2018b)

채택된 답변

Matt J
Matt J 2018년 10월 30일
편집: Matt J 2018년 10월 30일
pedges=0:5:90;
aedges=0:5:360;
[P,A]=ndgrid(pedges(1:end-1),aedges(1:end-1));
pbin=discretize(data(:,1),pedges);
abin=discretize(data(:,2),aedges);
Ibin = accumarray([pbin,abin],data(:,3),size(P)) ;
result=[P(:),A(:), Ibin(:)]
  댓글 수: 1
Benjamin Schuessler
Benjamin Schuessler 2018년 10월 30일
This is perfect! I didn't even think about using the discretize function... Your help is much appreciated!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Cell Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by