how to superimpose peak intensities

1 visualización (últimos 30 días)
Kun Yan
Kun Yan el 18 de Mzo. de 2021
Editada: Drishan Poovaya el 23 de Mzo. de 2021
How to superimpose the peak intensities of multiple peaks in the spectrum to obtain an envelope?

Respuestas (1)

Drishan Poovaya
Drishan Poovaya el 23 de Mzo. de 2021
Editada: Drishan Poovaya el 23 de Mzo. de 2021
I understand that you want to find an envelope for all the peak values of different curves. Looking at the image you shared, I assume each curve only has one peak value.
First, you can obtain the location and height of all your peaks and store them in an array.
For example:
[peakYCoords(1),peakXCoords(1)] = findpeaks(y,x);
Say all your peak values are in vector peakYCoords and their corresponding locations are in vector peakXCoords, you can use polyfit and polyval functions to fit a curve to these points, which would act as an envelope
Choose the value of n depending on the number of curves. See the documentation for polyfit for more details.
p = polyfit(peakXCoords, peakYCoords, n);
v = polyval(p, t);
plot(t, v)
Another alternative is to use the envelope function

Community Treasure Hunt

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

Start Hunting!

Translated by