function H = histo2D(D,[Xlo Xhi],Xn,[Ylo Yhi],Yn,Xlab,Ylab,Title)
(size(H) == [Yn Xn])
Counts number of points in the bins defined by -
X = linspace(Xlo,Xhi,Xn) and
Y = linspace(Ylo,Yhi,Yn)
Dx = 5*rand(100,1) ;
Dy = 10*rand(50,1) ;
D = [Dx,Dy] ;
H = histo2D(D,[0 5],10,[0 10],5, 'Xlabel','Ylabel','2d Histogram') ;
worked well for me. As another user suggested, it does slow down quite a bit with larger data sets (or finer bin resolution).
Regarding the 'hist3' function, it requires the Statistics Toolbox, so this is a good option for users that don't have that toolbox.
MATLAB provides the function hist3 to generate bivariate histograms
it's very slow, and it becomes a nuisance for large matrices -- it's almost an order of magnitude slower than the other hist2d, the one that uses histc; however, that one has a bug;
also, there's something funny with the plot, it seems it omits 1 row and 1 column...
anyway, it's easier to write than to debug so I wrote my own :-)
Works very well and is easy to modify for your own needs. I had to transpose X and Y in the dsearchn calls to get it to work.
Exactly what I was looking for. Had to fix the code only a little.
An example does not work.
This is exactly what I was looking for. Thank you!