How to define edges in hist3 function

Hi, so I have some 2D data and I would like to make a histogram, I've seen that I can do that with hist3 function, but I would like to define edges for the bins, not just divide the data range into n bins of the same size. So I've made this code:
dD=(0:0.01:0.25);
diam=[1 2 3 4 5 10 15 20 30 40 50];
z=hist3([krateri_br(:,3) krateri_br(:,4)],'Edges',[diam dD]');
But every time I get an error:
??? Error using ==> hist3 at 132 Bin edges must be specified with a cell array containing two numeric vectors.__
Now, I've tried different combinations of parenthesis for edges vector, but nothing seems to work. I have a feeling that I'm making some elementary mistake, but cannot find it, so if someone knows how to solve this, please help.
Thank you in advance!

5 Comments

help says that edges is a two-element cell array of numeric vectors with monotonically non-decreasing values,
In your code you wrote it as a vector, try {diam dD}'
Oh, yes, that solves it. Thank you.
I wasn't sure about the difference between an array and vector. So if I understood it correctly an array is defined by {}, while a vector is defined by []. Is that the only difference?
Oleg Komarov
Oleg Komarov on 9 Jul 2012
Edited: Oleg Komarov on 9 Jul 2012
A cell array is accessed with {}.
The [] are the horizontal concatenation operator.
Oh, ok, that makes things a bit clearer. Thank you!
Thank you!

Sign in to comment.

Answers (0)

Asked:

on 7 Jul 2012

Commented:

on 31 Jan 2015

Community Treasure Hunt

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

Start Hunting!