how to bin data
    4 次查看(过去 30 天)
  
       显示 更早的评论
    
i have (attahed)  dataset of 3 cols : (1st for lat. ,2nd for long., and the 3rd for datavalues). 
i need to bin these data in a grid of  lat(2.5) x long(5) degrees.
then plot the results with surf function over the coressponding map location  ? 
5 个评论
  Matt J
      
      
 2023-10-9
				
      编辑:Matt J
      
      
 2023-10-9
  
			it seems that the two figures are not similar.
Which two figures? The figures in my 2 answers are different because they use different regridding algorithms. Both of them can be implemented using a for-loop, but how would that help you decide between them? It won't change the surfaces.
采纳的回答
更多回答(1 个)
  Matt J
      
      
 2023-10-6
        Or perhaps,
[lat,lon,vals]=readvars('dataset.txt');
LAT=min(lat):2.5:max(lat);
LON=min(lon):5:max(lon);
G=findgroups(discretize(lat,LAT), discretize(lon,LON));
VALS=splitapply(@sum,vals,G)./splitapply(@numel,vals,G);
VALS=reshape(VALS, numel(LAT)-1,[]);
LAT=conv(LAT,[1,1]/2,'valid');
LON=conv(LON,[1,1]/2,'valid');
surf(LAT,LON,VALS);
0 个评论
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




