MathGroup Archive 2005

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

Search the Archive

Re: Extract Coefficients of Fourier Series

  • To: mathgroup at smc.vnet.net
  • Subject: [mg58822] Re: Extract Coefficients of Fourier Series
  • From: Peter Pein <petsie at dordos.net>
  • Date: Wed, 20 Jul 2005 00:29:21 -0400 (EDT)
  • References: <dbie2e$brj$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

mchangun at gmail.com schrieb:
> Hi All,
> 
> I have a set of points which have I fitted to a fourier serires with
> the TrigFit function.  This gives me a fourier series.  What I want is
> to extract all the coefficients of the series, square them, then sum
> them.  How do I this (more specifically, the extraction step?
> 
> Thanks in advanced.
> 

In[1]:=
data = Table[4*x*(1 - x), {x, 0, 1, 1/1000}];
tf = TrigFit[data, 3, {x, 0, 1}]
Out[2]=
0.666 - 0.40609304265918433*Cos[2*Pi*x] -
0.10152126067464604*Cos[4*Pi*x] - 0.04511907883733167*Cos[6*Pi*x] +
0.0012745085996715144*Sin[2*Pi*x] + 0.0006372480229067737*Sin[4*Pi*x] +
0.0004248250408689751*Sin[6*Pi*x]

In[3]:= Cases[tf, a_?NumberQ | a_.(_Cos | _Sin) :> a, 1]

Out[3]=
{0.666, -0.40609304265918433,
  -0.10152126067464604,
  -0.04511907883733167,
  0.0012745085996715144,
  0.0006372480229067737,
  0.0004248250408689751}

In[4]:= %.%
Out[4]= 0.6208120678738216

I splitted the instructions for easy verifying, the whole thing would be
written in one function:

coeffSqSum[tf_]:=
   Plus@@Cases[tf, a_?NumberQ | a_.(_Cos | _Sin) :> a^2, 1];

Leave the altenative a_?NumberQ out if you don't want the contant term
squared & added.

-- 
Peter Pein
Berlin
http://people.freenet.de/Peter_Berlin/


  • Prev by Date: Getting crude approximation to a function
  • Next by Date: Re: Diagonalizing a non-Hermitian Matrix
  • Previous by thread: Re: Extract Coefficients of Fourier Series
  • Next by thread: Re: Extract Coefficients of Fourier Series