File Exchange

image thumbnail

BIN2MAT

version 1.2 (2.28 KB) by

Create a matrix from scattered data without interpolation

2 Downloads

Updated

View License

BIN2MAT can be used to create a grid from scattered 2D data using grid-cell averaging (no interpolation). BIN2MAT also accepts function handles so you can evaluate many different functions over each grid cell. If the specified function returns non-scalar output, BIN2MAT will return a cell array.

EXAMPLE (generates screen-shot)

 %generate some scattered data
     [x,y,z]=peaks(150);
     ind=(rand(size(x))>0.9);
     xs=x(ind); ys=y(ind); zs=z(ind);
 
%create a grid
     xi=min(xs):0.25:max(xs);
     yi=min(ys):0.25:max(ys);
     [XI,YI]=meshgrid(xi,yi);
 
%calculate the mean and standard deviation
%for each grid-cell using bin2mat
     Zm=bin2mat(xs,ys,zs,XI,YI); %mean
     Zs=bin2mat(xs,ys,zs,XI,YI,@std); %std
   
%plot the results
     figure
     subplot(1,3,1);
     scatter(xs,ys,10,zs,'filled')
     axis image
     title('Scatter Data')
 
     subplot(1,3,2);
     pcolor(XI,YI,Zm)
     shading flat
     axis image
     title('Grid-cell Average')
 
     subplot(1,3,3);
     pcolor(XI,YI,Zs)
     shading flat
     axis image
     title('Grid-cell Std. Dev.')

Comments and Ratings (1)

Guillaume MAZE

Guillaume MAZE (view profile)

Updates

1.2

modified error-checking, also add a check to make sure x,y,z inputs are column (m x 1) vectors.

MATLAB Release
MATLAB 7.8 (R2009a)
Acknowledgements

Inspired: CURVVEC

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video