Re: Approximating the function from its plot

• To: mathgroup at smc.vnet.net
• Subject: [mg56131] Re: Approximating the function from its plot
• From: Peter Pein <petsie at arcor.de>
• Date: Sat, 16 Apr 2005 03:52:20 -0400 (EDT)
• References: <d3o0dm\$bn5\$1@smc.vnet.net>
• Sender: owner-wri-mathgroup at wolfram.com

```Siddharth Jain wrote:
> Hello
>
> I want find an approximate function for a ListPlot. Is it possible to
> do this using mathematica ?
>
> Thanks
> Siddharth
>
The method to use depends on whether the plot has been generated with
PlotJoined->True or False:

In[1]:= (* a simple example *)
tb = Table[{x, Cos[x]}, {x, 0, Pi, Pi/5}];
pl = ListPlot[tb];

(*extract the coordinates of the points*)
data = Cases[pl[[1]], Point[{x_, y_}] -> {x, y}];

In[3]:= (* verify result *)
data == tb
Out[3]= True

If PlotJoined->True has been used, we need the coordinates that are used
by Line[]:

In[4]:= pl = ListPlot[tb, PlotJoined -> True, PlotStyle -> Red];
data = Cases[pl[[1]], Line[lst_] -> lst, {0, Infinity}][[1]];
In[6]:= (* verification again: *)
data == tb
Out[6]=  True

In[7]:= (* now build an interpolating function:*)
f = Interpolation[data];
In[8]:= (* and show the result *)
Show[Block[{\$DisplayFunction = #1 & },
Plot[f[x], {x, 0, Pi}]], pl];

--
Peter Pein
Berlin

```

• Prev by Date: Re: Maping and Complex Addition
• Next by Date: Re: Maping and Complex Addition
• Previous by thread: Re: Approximating the function from its plot
• Next by thread: Re: Approximating the function from its plot