Azzera filtri
Azzera filtri

how to superimpose peak intensities

3 visualizzazioni (ultimi 30 giorni)
Kun Yan
Kun Yan il 18 Mar 2021
Modificato: Drishan Poovaya il 23 Mar 2021
How to superimpose the peak intensities of multiple peaks in the spectrum to obtain an envelope?

Risposte (1)

Drishan Poovaya
Drishan Poovaya il 23 Mar 2021
Modificato: Drishan Poovaya il 23 Mar 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