Mathematica 9 is now available
Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2004
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2004

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

Search the Archive

RE: Reassembling Fourier Transforms

  • To: mathgroup at smc.vnet.net
  • Subject: [mg48864] RE: [mg48860] Reassembling Fourier Transforms
  • From: "Florian Jaccard" <florian.jaccard at eiaj.ch>
  • Date: Sun, 20 Jun 2004 02:39:16 -0400 (EDT)
  • Reply-to: <florian.jaccard at eiaj.ch>
  • Sender: owner-wri-mathgroup at wolfram.com

Hello !

Why don't you use Interpolation ?

For example :

points = Table[{x, Random[Real, {0, 1000}]},
    {x, 0, 1000}];

c = Interpolation[points];


This function "turns a set of random values into a function"...
And c[6] will always give the same answer !

In[10]=
c[6]

Out[10]=
883.9155403191598

In[11]:=
c[6]

Out[11]=
883.9155403191598

But I apologize if I didn't understand what you wanted...

Greetings

F.Jaccard

-----Message d'origine-----
De : Lee Fisher [mailto:lfis at helix.nih.gov]
Envoyé : sam., 19. juin 2004 10:31
À : mathgroup at smc.vnet.net
Objet : [mg48860] Reassembling Fourier Transforms


I am trying to turn a list of points into a function, and one of the
ways I thought to do this was to use Fourier to find the frequency
components of the list, and then to Create a sum of exponentials as
follows:

f[x_] := Random[NormalDistribution[0, 1]]
rawnoise = Table[f[x], {x, 1, 1000}];
frawnoise = Fourier[rawnoise];
magrawnoise = Abs[rawnoise];
phaserawnoise = Arg[frawnoise];
c[t] := \[Sum]\+\(n = 1\)\%1000\(( .005\ magrawnoise[\([n]\)]\ E^\((I\
n\ t\  + phaserawnoise[\([n]\)])\))\);\)\)
c[t] = Re[c[t]];

I have two questions concerning this.  First, is there an easier way to
turn a set of random values into a function so that NDSolve can move
through the function and always find the same value at a given point
(i.e. c[6] will always equal .6002)?  Second, if not, what sort of
factors are necessary in adjusting the phase and magnitude so that they
match the original numbers.

I've tried doing this with much simpler inputs, such as two sine waves
(Sin[t]+Sin[2 t]) and still the output does not properly match the
input.

Thanks for any help,
Lee




  • Prev by Date: RE: Overlay graphs
  • Next by Date: Binomial Distribution
  • Previous by thread: Reassembling Fourier Transforms
  • Next by thread: Re: Reassembling Fourier Transforms