MathGroup Archive 2010

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

Search the Archive

Re: Plot function at specific points

  • To: mathgroup at smc.vnet.net
  • Subject: [mg114124] Re: Plot function at specific points
  • From: Bob Hanlon <hanlonr at cox.net>
  • Date: Wed, 24 Nov 2010 06:59:54 -0500 (EST)

data == {{0, 1}, {1, 2}, {2, 3}, {3, 5}, {4, 8},
   {5, 5}, {6, 2}, {7, 1}, {8, 1}, {9, 2}, {10, 4}};

f == Interpolation[data];

Plot[f[x], {x, 0, 10}, PlotRange -> {{0, 10}, {0, 9}},
 PlotPoints -> 6, MaxRecursion -> 0]

lowRes == Range[0, 10, 2];

ListLinePlot[{#, f@#} & /@ lowRes]


Bob Hanlon

---- "Istv=C3=A1n Zachar" <replicatorzed at gmail.com> wrote:

==========================
Dear Bob,

sadly, the variable 'data' is not available for me, only the
InterpolationFunction, that was initially created for a multitude of
coordinates.
That's why I cannot extract data directly, but has to specify a tricky
"method to use for refining curves" inside Plot, i.e. the Method option.
Even more sad is that NOTHING can be found about the possible values of
Method in the documentation for either Plot or ParametericPlot. As it is
the case usually with Method...

Istvan

On 2010.11.23. 13:51, Bob Hanlon wrote:
> You can use InterpolationOrder to control the resolution.
>
> data == {{0, 1}, {1, 2}, {2, 3}, {3, 5},
>     {4, 8}, {5, 5}, {6, 2}, {7, 1},
>     {8, 1}, {9, 2}, {10, 4}};
>
> Partition[
>    Table[
>     Plot[
>      Interpolation[data, InterpolationOrder ->  n][x],
>      {x, 0, 10},
>      PlotRange ->  {{0, 10}, {0, 9}},
>      ImageSize ->  288],
>     {n, 0, 3}],
>    2] // Grid
>
> lowRes == Range[0, 10, 2];
>
> Show[
>   ListLinePlot[{#, f@#}&  /@ lowRes,
>    PlotStyle ->  Blue],
>   Plot[
>    Interpolation[data, InterpolationOrder ->  1][x],
>    {x, 0, 10},
>    PlotStyle ->  Red],
>   PlotRange ->  {{0, 10}, {0, 9}},
>   ImageSize ->  500,
>   Epilog ->  {AbsolutePointSize[6], Green,
>     Point[data]}]
>
>
> Bob Hanlon
>
> ---- "Istv=C3=A1n Zachar"<zac at freemail.hu>  wrote:
>
> ==========================
> Dear Group,
>
> is there a method to plot an InterpolatingFunction at specific pointr
> WITHIN Plot? I am of course aware that I can use ListPlot at any time,
> though for certain reasons I have to stick with Plot. The main reason
> is that I have a large amount of InterpolatingFunctions which I plot
> with Plot as default, though at request I have to plot the same
> InterpolatingFunctions at different resolutions. PlotPoints and
> MaxRecursion is no good here, since lower resolution has to use a
> certain set of x-values, defined prior to plotting. Obviously I want
> to use the same Plot setup for both high and low-resolution cases.
> Below is a toy modell of the problem:
>
> f == Interpolation[{{0, 1}, {1, 2}, {2, 3}, {3, 5}, {4, 8}, {5, 5}, {6,
> 2}, {7, 1}, {8, 1}, {9, 2}, {10, 4}}];
> lowRes == Range[0, 10, 2];
> Plot[f[x], {x, 0, 10}, PlotRange ->  {{0, 10}, {0, 9}}]
> ListLinePlot[{#, f@#}&  /@ lowRes, PlotRange ->  {{0, 10}, {0, 9}}]
>
> Again, what I want is to have a specific Plot call instead of the
> ListLinePlot, but with same result as ListLinePlot.
> Note that values of 'lowRes' may not correspond the exact x-
> coordinates supplied to f.
>
> Is there a way to tell Plot explicitly the steps to use? Any idea?
>
> Istvan


  • Prev by Date: Re: Strange Nest behaviour with functions
  • Next by Date: Re: Plot function at specific points
  • Previous by thread: Re: Plot function at specific points
  • Next by thread: Re: Plot function at specific points