Problem in finding PDF of a set of samples

may (view profile)

on 30 Sep 2013
Latest activity Commented on by Image Analyst

Image Analyst (view profile)

on 1 Oct 2013

I want to get PDF of a set of samples, A, from its histogram:

```[n,x] =hist(A,Number_bins);
```

when I use the following code:

```pdf=n/sum(n(:));
```

with different number of bins I get different results, to fix it I use this code

```pdf=n/sum(n(:))/diff(x(1:2));
```

but some of numbers in pdf would be greater than one! (the probability should not be greater than one)

I really don't understand where the problem is. I would appreciate if you you could help me. Thank you.

Products

Image Analyst (view profile)

on 30 Sep 2013

Of course the PDF is different if you have different bin sizes. But most important is how you plan on using the PDF. What do you plan on doing with it? I think n/sum(n) is fine - you just have to know what you're dealing with when it comes time to use it. It tells you the probability of a sample falling into that bin.

may

may (view profile)

on 30 Sep 2013

I want to get probability density function of a set of samples, to do so I want to use histogram and then convert it to PDF. So I need to find the PDF representing the PDF of the sample, this should be independent of number of bins.

may

may (view profile)

on 30 Sep 2013

I edited the question, thanks.

Image Analyst

Image Analyst (view profile)

on 1 Oct 2013

Don't divide by the diff. And of course the PDF will vary according to the number of bins. Computers are digital - you can't have an infinite number of bins. It can't be continuous. It must be quantized and since the number of counts in the quantized pdf must equal the number of elements in your array, the value per bin must be different. My other question, about what you plan on doing with it, remains unanswered.

Join the 15-year community celebration.

Play games and win prizes!

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Discover what MATLAB® can do for your career.

Apply Today

New to MATLAB?

Learn MATLAB today!