Calculate distance resulting from an histogram and a specific point
3 次查看(过去 30 天)
显示 更早的评论
Dear all,
I have two matrices that represent longitude and latitude.
With those matrices I calculated an histogram and now I want to calculate the distance between each non zero bin and a specific point
I have the following code so far:
[N,C]=hist3([longitude, latitude],[50 50]);
figure; surf(C{1,1}',C{1,2}',N'); view(2);
However now I don't know how to proceed.
Thank you in advance
0 个评论
采纳的回答
Voss
2022-12-26
load matrix
[N,C]=hist3([longitude, latitude],[50 50]);
figure
hist3([longitude, latitude],[50 50],'CDataMode','auto')
view(2)
% the distance between this point and the centers
% of the non-zero bins will be calculated:
P = [-17 34];
[x,y] = ndgrid(C{:});
idx = N > 0;
d = sqrt((x(idx)-P(1)).^2 + (y(idx)-P(2)).^2)
Note that that's Euclidean distance (in degrees lat/lon); the actual distance along the surface of the earth will be different (since the earth is not in fact flat), and if you need that you can use the Haversine formula, code for which can be found on the File Exchange.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Histograms 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!