[Date Index]
[Thread Index]
[Author Index]
Re: Re: Interpolation and plot doing strange things with
*To*: mathgroup at smc.vnet.net
*Subject*: [mg89030] Re: [mg88999] Re: Interpolation and plot doing strange things with
*From*: Daniel Lichtblau <danl at wolfram.com>
*Date*: Sat, 24 May 2008 03:53:07 -0400 (EDT)
*References*: <g134je$m3l$1@smc.vnet.net> <g13h8u$qo6$1@smc.vnet.net> <200805230708.DAA25822@smc.vnet.net>
ratullochjk2 at gmail.com wrote:
> On May 22, 12:18 am, Jens-Peer Kuska <ku... at informatik.uni-leipzig.de>
> wrote:
>
>>Hi,
>>
>>if you make a approximation based on a Fourier series
>>it converges "in the middle" and never point wise
>>The most famous example is the Gibbs phenomenon.http://en.wikipedia.org/wiki/Gibbs_phenomenon
>>
>>Regards
>> Jens
>>
>>ratulloch... at gmail.com wrote:
>>
>>>Greetings All
>>
>>>I run these commands that I've had plenty of help getting to
>>>work...but the plot doesn't follow the points, as you can see in the
>>>plot. At the end it just goes crazy and when I test the points with
>>
>>>input s[0]
>>>output is -3.73293
>>>why are the numbers so out of sync... at s[0] it should be -2 not
>>>-3.73293
>>
>>>I try increasing the number in the line
>>>N[FourierTrigSeries[f[x], x, 25, FourierParameters -> {-1, 1/138}]]
>>>(I've changed the number 25 to over 100 and the problem seems to get
>>>worse)
>>
>>>See code below:
>>
>>>In[89]:= data3 = {{0, -2}, {7, 1}, {10, 6}, {12, -2}, {18, -6}, {27,
>>>6}, {34,
>>> 4}, {42, -6}, {49, -5}, {56, 4}, {62, 3}, {67, -5}, {70, -3}, {79,
>>> 3}, {83, 7}, {88, -3}, {89, -8}, {96, 7}, {105,
>>> 9}, {113, -8}, {122, -9}, {131, 9}, {132,
>>> 1}, {134, -9}, {138, -2}};
>>>f = Interpolation[data3, PeriodicInterpolation -> True];
>>
>>><< "FourierSeries`"
>>
>>>s[x_] = N[
>>> FourierTrigSeries[f[x], x, 25, FourierParameters -> {-1, 1/138}]]
>>
>>>discr = Interpolation[data3 /. {x_, y_} -> {x, y},
>>> InterpolationOrder -> 1];
>>
>>>g[x_] = Piecewise[{{discr[x], 0 < x < 138}, {0, True}}];
>>
>>>Show[Plot[s[x], {x, 0, 138}, PlotStyle -> Red,
>>> PlotRange -> {-15, 15}], Plot[g[x], {x, 0, 138}, Filling -> Axis],
>>> ListPlot[data3, Filling -> Axis, PlotRange -> {0, 138}]]
>>
>>>tia sal2
>
>
> can anyone recommend a work around while still keeping the output in
> the format as sin and cos or is this not possible?
> tia sal2
This may be a bit better behaved, numerically. Use a different
integration dummy variable for your Fourier series
<< "FourierSeries`"
s1[x_] = FourierTrigSeries[f[x], y, 25,
FourierParameters -> {-1, 1/138}];
s[x_Real] := Block[{y}, (s1[y] /. Integrate -> NIntegrate) /. y -> x]
Now s[0.] and s[138.] give 2.0, as desired.
In[124]:= s[0.]
Out[124]= -2.
In[125]:= s[138.]
Out[125]= -2.
Daniel Lichtblau
Wolfram Research
Prev by Date:
**Re: Interpolation and plot doing strange things with mathematica**
Next by Date:
**Re: "Reduce" wierdness (or too slow?)**
Previous by thread:
**Re: Interpolation and plot doing strange things with mathematica**
Next by thread:
**Re: Interpolation and plot doing strange things with mathematica**
| |