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

MathGroup Archive 2007

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

Search the Archive

Re: FWHM, InterpolationFunction & Solve

  • To: mathgroup at smc.vnet.net
  • Subject: [mg80530] Re: FWHM, InterpolationFunction & Solve
  • From: "Kevin J. McCann" <Kevin.McCann at umbc.edu>
  • Date: Fri, 24 Aug 2007 02:04:05 -0400 (EDT)
  • Organization: University of Maryland, Baltimore County
  • References: <fagstu$8du$1@smc.vnet.net>

If your data are noisy, I would recommend the use of a Savitzky-Golay 
filter. The gist of this is that a polynomial of some degree d is fit 
(LSQ) to 2N+1 data points, both d and N are user determined. Then the 
middle data point of the 2N+1 is replaced with the curve fit value. The 
process proceeds by sliding one point to the right. All of these 
operations happen on the original data.

This is a smoothing filter that removes some of the "higher frequency" 
stuff on the assumption that it is due to "noise".

I have a NB with some details. If you would like, I could send it to you.

Kevin
Mathieu G wrote:
> Hello,
> I have a set of discrete data, representing a peak.
> I would like to compute the Full Width at Half Maximum (FWHM) of this peak.
> For that I would like to know which points correspond to half the peak value.
> SO far I was considering using an interpolating function, but this does 
> not seem to work:
> 
> 
> DataFile = Import["FFT.dat"];
> CleanDataFile = Part[DataFile, 2 ;; Length[DataFile]];
> WorkingData = CleanDataFile[[All, {1, 3}]];
> 
> ListLinePlot[WorkingData, PlotRange -> All]
> 
> MaximumFFTY = Max[WorkingData[[All, 2]]];
> MaximumFFTPosition = Position[WorkingData, MaximumFFTY][[1, 1]];
> MaximumFFTX = WorkingData[[MaximumFFTPosition, 1]];
> 
> DataInterpolation = Interpolation[WorkingData];
> 
> Solve[DataInterpolation[x] == MaximumFFTValue/2, x]
> 
> 
> Can you help me please? How would you do that?
> I then want to compute the area under the peak:
> 
> Integrate[DataInterpolation[x], {x, BegFWHM, EndFWHM}]
> 
> Which works fine with the interpolating function.
> 
> Thank you for your help!
> Mathieu
> 


  • Prev by Date: Re: Strange interpolation pb
  • Next by Date: Re: recording singularities of NDSolve
  • Previous by thread: Re: FWHM, InterpolationFunction & Solve
  • Next by thread: Newbie question on FindRoot and NIntergrate