MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Get Distribution from Interpolated Function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg128282] Re: Get Distribution from Interpolated Function
  • From: Bob Hanlon <hanlonr357 at gmail.com>
  • Date: Wed, 3 Oct 2012 23:40:15 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • Delivered-to: l-mathgroup@wolfram.com
  • Delivered-to: mathgroup-newout@smc.vnet.net
  • Delivered-to: mathgroup-newsend@smc.vnet.net
  • References: <20121003070909.A52016881@smc.vnet.net>

ff = Interpolation[
   Table[{i, 1 + RandomReal[]},
    {i, 0, 10}]];

Using the option Method->"Spline" is incompatible with the functions below.

The first argument to ProbabilityDistribution should be a PDF, i.e.,
it must be normalized.

dist = ProbabilityDistribution[ff[x]/Integrate[ff[x], {x, 0, 10}],
   {x, 0, 10}];

randomData = RandomVariate[dist, 100000];

Show[
 Histogram[randomData, {0.1}, "PDF",
  ChartBaseStyle -> EdgeForm[None]],
 Plot[PDF[dist, x], {x, 0, 10},
  PlotStyle -> {Red, AbsoluteThickness[2]}]]


Bob Hanlon


On Wed, Oct 3, 2012 at 3:09 AM, Murta <rodrigomurtax at gmail.com> wrote:
> Hi All
>
>     I'm trying to get a distribution from an interpolated function but with no success.
>
> (*Creating Dist from interpolation*)
> ff = Interpolation[Table[{i, 1 + RandomReal[1]}, {i, 0, 10, 1}], Method -> "Spline"];
> dist = ProbabilityDistribution[ff[x], {x, 0, 10}];
>
>  (*Plot Interpolation ok!*)
> Plot[ff[x], {x, 0, 10}]
>
> (*Plot Dist ok!*)
> Plot[Evaluate@PDF[dist, x], {x, 0, 10}]
>
> (*do not work as spected, the histogram don't have the curve format*)
> randonData = RandomVariate[dist, 100000];
> Histogram[randonData, {0.1}, "Probability",  PlotRange -> {{0, 10}, All}]
>
> tks in advance
> Murta
>



  • Prev by Date: How to solve a vector integral within a solid angle ?
  • Next by Date: Re: issues with expression manipulation functions
  • Previous by thread: Get Distribution from Interpolated Function
  • Next by thread: Re: Get Distribution from Interpolated Function