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 >
- References:
- Get Distribution from Interpolated Function
- From: Murta <rodrigomurtax@gmail.com>
- Get Distribution from Interpolated Function