How to do multiple gaussian profiles summation, peak detection and fwhm analysis?

5 次查看(过去 30 天)
I have 10 gaussians profiles f1...f10(see the text file)and "f" is sum of all. QUE_1)I wanted to find fwhm and plot fwhm lines for each 10 curves. QUE_2) I have used findpeaks function to detect the peaks of all curves,but problem i am facing now is ,it can detect the peak but peak does not move when i change the mean values of one or more curves. QUE_3) How to calculate the fwhm and plot it, when I see two or more curves as a final output (f) QUE_4) how I can change the x and y axis values to some wavelength(x) and reflectivity(y) values. I tried to change X= -1550:0.1:-1545(to see x axis as a nano meter values)but it changes the curves,is there any way to relate x axis as wavelength values without affecting bell curves? QUE_5) How to calculate the peak shift in "f"(in x and y direction) when mean values are changed?

采纳的回答

Akira Agata
Akira Agata 2018-9-19
Regarding QUE_1 and QUE_3, please try the following:
findpeaks(f1,'WidthReference','halfheight','Annotate','extents')
Without setting output variables, findpeaks function generates graph with peaks and some additional information if you set 'Annotate' option to 'extents'.
  4 个评论
Akira Agata
Akira Agata 2018-10-11
Hi Tusharkumar-san,
I regret to say that I'm not so familiar with OCTAVE. Looking at the following help page, it seems that OCTAVE's findpeaks function does not have exactly the same option used in my above post. But, using "parabol", "height" and "baseline" values stored in the 3rd output argument, maybe you can calculate approximate FWHM value for each pulse.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by