MathGroup Archive 1998

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

Search the Archive

Re: Want a smooth function from Arg[ ]

Hi Ryan,
try this:

data1 = Arg[data];
data2 = FoldList[Round[(#1-#2)/(2Pi)] 2Pi+
#2&,First[data1],Rest[data1]]; ListPlot[data2]


-----Original Message-----
From: Ryan Scott <> To:
Subject: [mg12251] [mg12213] Want a smooth function from Arg[ ]

>I need to be able to fit an nth degree polynomial to the phase function
>for  a list of data.  However, the Arg[x] function wraps the phase at
>+/- Pi  creating discontinuities in what would be a smooth function.
>To clearify, let me give the following example:
>Create a list of data with a  gaussian profile and quadratic phase:
>a=0.005; b=0.003;
>data=Table[N[Exp[-a*(t-nn/2)^2+I*b*(t-nn/2)^2]], {t,nn}];
>Plot the magnitude and phase:
>  PlotLabel->FontForm[
>      "Absolute value of waveform",{"Helvetica-Bold",10}]]
>ListPlot[Arg[data], PlotJoined->True, PlotRange->All,
>   PlotLabel->FontForm[ "Phase of time waveform",
>I would like to now fit a curve to this phase (which should be 0.003*x^2
> However, the wrapping of the phase would seem to make this difficult to
>do  directly.  Any ideas on how to manipulate the results of Arg to
>give a  continuous function of data?
>  Ryan P. Scott
>  Laser and Electro-Optics Research Group
>  UC Davis - Department of Applied Science
>  Tel: (530)754-4358  Fax: (530)752-1652
>  Email:

  • Prev by Date: Re: Re: Solving for coefficients...
  • Next by Date: Re: Numerical Solution to a System of Differential Equations...
  • Prev by thread: Re: Want a smooth function from Arg[ ]
  • Next by thread: Re: Want a smooth function from Arg[ ]